From aeb7e1589edcc899fa2cc719839f83296c74b604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Wed, 29 Sep 2021 15:58:39 +0200 Subject: [PATCH] ci: update goreleaser (#604) * ci: update goreleaser * bump version --- .github/workflows/goreleaser.yml | 41 ++++++---- .goreleaser.yml | 135 ++++++++++--------------------- Makefile | 36 --------- 3 files changed, 67 insertions(+), 145 deletions(-) diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml index 9daa5f2b..4efd3aca 100644 --- a/.github/workflows/goreleaser.yml +++ b/.github/workflows/goreleaser.yml @@ -1,27 +1,38 @@ -name: goreleaser - +# This workflow helps with creating releases. +# This job will only be triggered when a tag (vX.X.x) is pushed +name: Release on: push: + # Sequence of patterns matched against refs/tags tags: - - "v*.*.*" + - "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v1.0, v20.15.10 + jobs: - goreleaser: + release: runs-on: ubuntu-latest - environment: release steps: - uses: actions/checkout@v2 with: - submodules: true - - name: Set up Go - uses: actions/setup-go@v2 + fetch-depth: 0 + - uses: actions/setup-go@v2.1.4 with: go-version: 1.17 - - name: release dry run - run: make release-dry-run - - name: setup release environment + - name: Set Env + run: echo "TM_VERSION=$(go list -m github.com/tendermint/tendermint | sed 's:.* ::')" >> $GITHUB_ENV + - name: Build + uses: goreleaser/goreleaser-action@v2.7.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 + if: startsWith(github.ref, 'refs/tags/') + with: + version: latest + args: release --rm-dist --release-notes ./RELEASE_NOTES.md env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: |- - echo 'GITHUB_TOKEN=${{secrets.GITHUB_TOKEN}}' > .release-env - - name: release publish - run: make release \ No newline at end of file + TM_VERSION: ${{ env.TM_VERSION }} \ No newline at end of file diff --git a/.goreleaser.yml b/.goreleaser.yml index e63e016b..9a6ff460 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,109 +1,56 @@ +--- +project_name: ethermint + +env: + - GO111MODULE=on + before: hooks: - - go mod download + - go mod tidy builds: - - id: "ethermintd-darwin" - main: ./cmd/ethermintd - binary: bin/ethermintd + - main: ./cmd/ethermintd + id: "ethermintd" + binary: ethermintd + mod_timestamp: "{{ .CommitTimestamp }}" + flags: + - -tags=netgo ledger + - -trimpath env: - - CGO_ENABLED=1 - - CC=o64-clang - - CXX=o64-clang++ + - CGO_ENABLED=0 + ldflags: + - -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 }} goos: - 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 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-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: + - arm - 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: -- name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}' - replacements: - darwin: Darwin - linux: Linux - windows: Windows - amd64: x86_64 - format_overrides: - - goos: windows - format: zip - builds: - - ethermintd-darwin - - ethermintd-darwin-arm64 - - ethermintd-windows - - ethermintd-linux - - ethermintd-linux-arm64 - + - format: tar.gz + wrap_in_directory: true + format_overrides: + - goos: windows + format: zip + name_template: "{{ .Binary }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" + files: + - LICENSE + - README.md + +release: + github: + owner: tharsis + name: ethermint + name_template: "v{{.Version}}" + checksum: - name_template: 'checksums.txt' -changelog: - sort: asc - filters: - exclude: - - '^docs:' - - '^test:' + name_template: SHA256SUMS-v{{.Version}}.txt + algorithm: sha256 + snapshot: - name_template: "{{ .Tag }}-next" + name_template: SNAPSHOT-{{ .Commit }} + +changelog: + skip: true diff --git a/Makefile b/Makefile index 7b50d3a3..c4206b2a 100755 --- a/Makefile +++ b/Makefile @@ -498,39 +498,3 @@ localnet-show-logstream: docker-compose logs --tail=1000 -f .PHONY: build-docker-local-ethermint localnet-start localnet-stop - -############################################################################### -### Releasing ### -############################################################################### - -PACKAGE_NAME:=github.com/tharsis/ethermint -GOLANG_CROSS_VERSION = v1.17 -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) \ - 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) \ - troian/golang-cross:${GOLANG_CROSS_VERSION} \ - release --rm-dist --skip-validate - -.PHONY: release-dry-run release