erigon-pulse/.goreleaser.yml
Tim Myers 20e882078e
chore: add multi-arch goreleaser workflow (#5185)
Upstreams the improvement from the maticnetwork/erigon fork
to add a goreleaser workflow that will build and release
a docker image for both arm and amd64.
2022-08-27 16:22:28 +07:00

111 lines
2.3 KiB
YAML

project_name: erigon
release:
disable: false
draft: true
prerelease: auto
builds:
- id: darwin-amd64
main: ./cmd/erigon
binary: erigon
goos:
- darwin
goarch:
- amd64
env:
- CC=o64-clang
- CXX=o64-clang++
tags:
- netgo
ldflags:
-s -w
- id: darwin-arm64
main: ./cmd/erigon
binary: erigon
goos:
- darwin
goarch:
- arm64
env:
- CC=oa64-clang
- CXX=oa64-clang++
tags:
- netgo
ldflags:
-s -w
- id: linux-amd64
main: ./cmd/erigon
binary: erigon
goos:
- linux
goarch:
- amd64
env:
- CC=gcc
- CXX=g++
tags:
- netgo
ldflags:
# We need to build a static binary because we are building in a glibc based system and running in a musl container
-s -w -extldflags "-static"
- id: linux-arm64
main: ./cmd/erigon
binary: erigon
goos:
- linux
goarch:
- arm64
env:
- CC=aarch64-linux-gnu-gcc
- CXX=aarch64-linux-gnu-g++
tags:
- netgo
ldflags:
# We need to build a static binary because we are building in a glibc based system and running in a musl container
-s -w -extldflags "-static"
snapshot:
name_template: "{{ .Tag }}.next"
dockers:
- image_templates:
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
dockerfile: Dockerfile.release
use: buildx
goarch: amd64
ids:
- linux-amd64
build_flag_templates:
- --platform=linux/amd64
- image_templates:
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64
dockerfile: Dockerfile.release
use: buildx
goarch: arm64
ids:
- linux-arm64
build_flag_templates:
- --platform=linux/arm64/v8
docker_manifests:
- name_template: thorax/{{ .ProjectName }}:{{ .Version }}
image_templates:
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64
- name_template: thorax/{{ .ProjectName }}:latest
image_templates:
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64
announce:
slack:
enabled: false
# The name of the channel that the user selected as a destination for webhook messages.
channel: '#code-releases'