ci: fix goreleaser (#708)
* testing goreleaser * removed arm64 building instructions * CGO changed * ci: reverted releaser changes, back to troian/golang-cross * using snapshot to test the release ci * testing ci code removed
This commit is contained in:
parent
bc1d81c5e8
commit
19bc44a226
43
.github/workflows/goreleaser.yml
vendored
43
.github/workflows/goreleaser.yml
vendored
@ -1,38 +1,27 @@
|
|||||||
# This workflow helps with creating releases.
|
name: goreleaser
|
||||||
# This job will only be triggered when a tag (vX.X.x) is pushed
|
|
||||||
name: Release
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
# Sequence of patterns matched against refs/tags
|
|
||||||
tags:
|
tags:
|
||||||
- "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v1.0, v20.15.10
|
- "v*.*.*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
goreleaser:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
environment: release
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2.3.5
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
submodules: true
|
||||||
- uses: actions/setup-go@v2.1.4
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: 1.17
|
go-version: 1.17
|
||||||
- name: Set Env
|
- name: release dry run
|
||||||
run: echo "TM_VERSION=$(go list -m github.com/tendermint/tendermint | sed 's:.* ::')" >> $GITHUB_ENV
|
run: make release-dry-run
|
||||||
- name: Build
|
- name: setup release environment
|
||||||
uses: goreleaser/goreleaser-action@v2.8.0
|
|
||||||
if: ${{ github.event_name == 'pull_request' }}
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
args: build --rm-dist --skip-validate # skip validate skips initial sanity checks in order to be able to fully run
|
|
||||||
env:
|
|
||||||
TM_VERSION: ${{ env.TM_VERSION }}
|
|
||||||
- name: Release
|
|
||||||
uses: goreleaser/goreleaser-action@v2.8.0
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
with:
|
|
||||||
version: latest
|
|
||||||
args: release --rm-dist --release-notes ./RELEASE_NOTES.md
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
TM_VERSION: ${{ env.TM_VERSION }}
|
run: |-
|
||||||
|
echo 'GITHUB_TOKEN=${{secrets.GITHUB_TOKEN}}' > .release-env
|
||||||
|
- name: release publish
|
||||||
|
run: make release
|
135
.goreleaser.yml
135
.goreleaser.yml
@ -1,56 +1,109 @@
|
|||||||
---
|
|
||||||
project_name: ethermint
|
|
||||||
|
|
||||||
env:
|
|
||||||
- GO111MODULE=on
|
|
||||||
|
|
||||||
before:
|
before:
|
||||||
hooks:
|
hooks:
|
||||||
- go mod tidy
|
- go mod download
|
||||||
|
|
||||||
builds:
|
builds:
|
||||||
- main: ./cmd/ethermintd
|
- id: "ethermintd-darwin"
|
||||||
id: "ethermintd"
|
main: ./cmd/ethermintd
|
||||||
binary: ethermintd
|
binary: bin/ethermintd
|
||||||
mod_timestamp: "{{ .CommitTimestamp }}"
|
|
||||||
flags:
|
|
||||||
- -tags=netgo ledger
|
|
||||||
- -trimpath
|
|
||||||
env:
|
env:
|
||||||
- CGO_ENABLED=0
|
- CGO_ENABLED=1
|
||||||
ldflags:
|
- CC=o64-clang
|
||||||
- -s -w -X main.commit={{.Commit}} -X main.date={{ .CommitDate }} -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger -X github.com/tendermint/tendermint/version.TMCoreSemVer={{ .Env.TM_VERSION }}
|
- CXX=o64-clang++
|
||||||
goos:
|
goos:
|
||||||
- darwin
|
- darwin
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
flags:
|
||||||
|
- -tags=cgo
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{.Version}} -X github.com/cosmos/cosmos-sdk/version.Commit={{.Commit}}
|
||||||
|
- id: "ethermintd-darwin-arm64"
|
||||||
|
main: ./cmd/ethermintd
|
||||||
|
binary: bin/ethermintd
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=oa64-clang
|
||||||
|
- CXX=oa64-clang++
|
||||||
|
goos:
|
||||||
|
- darwin
|
||||||
|
goarch:
|
||||||
|
- arm64
|
||||||
|
flags:
|
||||||
|
- -tags=cgo
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{.Version}} -X github.com/cosmos/cosmos-sdk/version.Commit={{.Commit}}
|
||||||
|
- id: "ethermintd-linux"
|
||||||
|
main: ./cmd/ethermintd
|
||||||
|
binary: bin/ethermintd
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=gcc
|
||||||
|
- CXX=g++
|
||||||
|
goos:
|
||||||
- linux
|
- linux
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
- arm
|
flags:
|
||||||
|
- -tags=cgo
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{.Version}} -X github.com/cosmos/cosmos-sdk/version.Commit={{.Commit}}
|
||||||
|
- id: "ethermintd-linux-arm64"
|
||||||
|
main: ./cmd/ethermintd
|
||||||
|
binary: bin/ethermintd
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=aarch64-linux-gnu-gcc
|
||||||
|
- CXX=aarch64-linux-gnu-g++
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
goarch:
|
||||||
- arm64
|
- arm64
|
||||||
|
flags:
|
||||||
|
- -tags=cgo
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{.Version}} -X github.com/cosmos/cosmos-sdk/version.Commit={{.Commit}}
|
||||||
|
- id: "ethermintd-windows"
|
||||||
|
main: ./cmd/ethermintd
|
||||||
|
binary: bin/ethermintd
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=1
|
||||||
|
- CC=x86_64-w64-mingw32-gcc
|
||||||
|
- CXX=x86_64-w64-mingw32-g++
|
||||||
|
goos:
|
||||||
|
- windows
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
flags:
|
||||||
|
- -tags=cgo
|
||||||
|
- -buildmode=exe
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X github.com/cosmos/cosmos-sdk/version.Name=ethermint -X github.com/cosmos/cosmos-sdk/version.AppName=ethermintd -X github.com/cosmos/cosmos-sdk/version.Version={{.Version}} -X github.com/cosmos/cosmos-sdk/version.Commit={{.Commit}}
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
- format: tar.gz
|
- name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
|
||||||
wrap_in_directory: true
|
replacements:
|
||||||
format_overrides:
|
darwin: Darwin
|
||||||
- goos: windows
|
linux: Linux
|
||||||
format: zip
|
windows: Windows
|
||||||
name_template: "{{ .Binary }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
|
amd64: x86_64
|
||||||
files:
|
format_overrides:
|
||||||
- LICENSE
|
- goos: windows
|
||||||
- README.md
|
format: zip
|
||||||
|
builds:
|
||||||
release:
|
- ethermintd-darwin
|
||||||
github:
|
- ethermintd-darwin-arm64
|
||||||
owner: tharsis
|
- ethermintd-windows
|
||||||
name: ethermint
|
- ethermintd-linux
|
||||||
name_template: "v{{.Version}}"
|
- ethermintd-linux-arm64
|
||||||
|
|
||||||
checksum:
|
checksum:
|
||||||
name_template: SHA256SUMS-v{{.Version}}.txt
|
name_template: 'checksums.txt'
|
||||||
algorithm: sha256
|
|
||||||
|
|
||||||
snapshot:
|
|
||||||
name_template: SNAPSHOT-{{ .Commit }}
|
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
skip: true
|
sort: asc
|
||||||
|
filters:
|
||||||
|
exclude:
|
||||||
|
- '^docs:'
|
||||||
|
- '^test:'
|
||||||
|
snapshot:
|
||||||
|
name_template: "{{ .Tag }}-next"
|
37
Makefile
37
Makefile
@ -148,6 +148,43 @@ build-all: tools build lint test
|
|||||||
|
|
||||||
.PHONY: distclean clean build-all
|
.PHONY: distclean clean build-all
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
### Releasing ###
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
PACKAGE_NAME:=github.com/tharsis/ethermint
|
||||||
|
GOLANG_CROSS_VERSION = v1.17.1
|
||||||
|
GOPATH ?= '$(HOME)/go'
|
||||||
|
release-dry-run:
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--privileged \
|
||||||
|
-e CGO_ENABLED=1 \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
-v `pwd`:/go/src/$(PACKAGE_NAME) \
|
||||||
|
-v ${GOPATH}/pkg:/go/pkg \
|
||||||
|
-w /go/src/$(PACKAGE_NAME) \
|
||||||
|
ghcr.io/troian/golang-cross:${GOLANG_CROSS_VERSION} \
|
||||||
|
--rm-dist --skip-validate --skip-publish
|
||||||
|
|
||||||
|
release:
|
||||||
|
@if [ ! -f ".release-env" ]; then \
|
||||||
|
echo "\033[91m.release-env is required for release\033[0m";\
|
||||||
|
exit 1;\
|
||||||
|
fi
|
||||||
|
docker run \
|
||||||
|
--rm \
|
||||||
|
--privileged \
|
||||||
|
-e CGO_ENABLED=1 \
|
||||||
|
--env-file .release-env \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
-v `pwd`:/go/src/$(PACKAGE_NAME) \
|
||||||
|
-w /go/src/$(PACKAGE_NAME) \
|
||||||
|
ghcr.io/troian/golang-cross:${GOLANG_CROSS_VERSION} \
|
||||||
|
release --rm-dist --skip-validate
|
||||||
|
|
||||||
|
.PHONY: release-dry-run release
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
### Tools & Dependencies ###
|
### Tools & Dependencies ###
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
Loading…
Reference in New Issue
Block a user