Skip to content

Commit 9800dda

Browse files
Merge pull request #386 from hypersign-protocol/fix-release-workflow
ci: fix release git workflow
2 parents 9af2271 + c35d084 commit 9800dda

File tree

3 files changed

+166
-54
lines changed

3 files changed

+166
-54
lines changed

.github/workflows/release.yml

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,19 @@ jobs:
1515
runs-on: ubuntu-20.04
1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v2
18+
uses: actions/checkout@v4
1919
with:
2020
fetch-depth: 0
2121

22-
- name: Set up Go
23-
uses: actions/setup-go@v4
24-
with:
25-
go-version: 1.21
26-
27-
- name: Generate Release Files (darwin/arm64)
28-
run: make release-darwin-arm64
29-
30-
- name: Generate Release Files (darwin/amd64)
31-
run: make release-darwin-amd64
32-
33-
- name: Generate Release Files (linux/arm64)
34-
run: make release-linux-arm64
22+
- name: Make release
23+
run: |
24+
make release
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3527

36-
- name: Generate Release Files (linux/amd64)
37-
run: make release-linux-amd64
38-
39-
- name: Publish to Github
40-
uses: softprops/action-gh-release@v1
41-
with:
42-
files: release/*
43-
prerelease: false
44-
generate_release_notes: true
28+
- name: Clean release folder
29+
run: |
30+
sudo rm -rf dist
4531
4632
publish-docker:
4733
name: Publish Docker Image (linux/amd64)

.goreleaser.yaml

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
project_name: hid-node
2+
3+
env:
4+
- CGO_ENABLED=1
5+
6+
before:
7+
hooks:
8+
- go mod tidy -compat=1.21
9+
10+
builds:
11+
- id: ubuntu-amd64
12+
main: ./cmd/hid-noded
13+
binary: hid-noded
14+
hooks:
15+
pre:
16+
- wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvm_muslc.x86_64.a -O /usr/lib/x86_64-linux-gnu/libwasmvm_muslc.a
17+
env:
18+
- CC=x86_64-linux-gnu-gcc
19+
goos:
20+
- linux
21+
goarch:
22+
- amd64
23+
flags:
24+
- -mod=readonly
25+
ldflags:
26+
- -s -w
27+
- -X github.com/cosmos/cosmos-sdk/version.Name=hid-node
28+
- -X github.com/cosmos/cosmos-sdk/version.AppName=hid-node
29+
- -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }}
30+
- -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }}
31+
- -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,muslc,osusergo
32+
- -linkmode=external
33+
- -extldflags '-Wl,-z,muldefs -static -lm'
34+
tags:
35+
- netgo
36+
- muslc
37+
- osusergo
38+
39+
- id: ubuntu-arm64
40+
main: ./cmd/hid-noded
41+
binary: hid-noded
42+
hooks:
43+
pre:
44+
- wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvm_muslc.aarch64.a -O /usr/lib/aarch64-linux-gnu/libwasmvm_muslc.a
45+
goos:
46+
- linux
47+
goarch:
48+
- arm64
49+
env:
50+
- CC=aarch64-linux-gnu-gcc
51+
flags:
52+
- -mod=readonly
53+
ldflags:
54+
- -s -w
55+
- -X github.com/cosmos/cosmos-sdk/version.Name=hid-node
56+
- -X github.com/cosmos/cosmos-sdk/version.AppName=hid-node
57+
- -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }}
58+
- -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }}
59+
- -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,muslc,osusergo
60+
- -linkmode=external
61+
- -extldflags '-Wl,-z,muldefs -static -lm'
62+
tags:
63+
- netgo
64+
- muslc
65+
- osusergo
66+
67+
- id: darwin-amd64
68+
main: ./cmd/hid-noded
69+
binary: hid-noded
70+
hooks:
71+
pre:
72+
- wget https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvmstatic_darwin.a -O /lib/libwasmvmstatic_darwin.a
73+
env:
74+
- CC=o64-clang
75+
- CGO_LDFLAGS=-L/lib
76+
goos:
77+
- darwin
78+
goarch:
79+
- amd64
80+
flags:
81+
- -mod=readonly
82+
ldflags:
83+
- -s -w
84+
- -X github.com/cosmos/cosmos-sdk/version.Name=hid-node
85+
- -X github.com/cosmos/cosmos-sdk/version.AppName=hid-node
86+
- -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }}
87+
- -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }}
88+
- -linkmode=external
89+
- -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,static_wasm
90+
tags:
91+
- netgo
92+
- static_wasm
93+
94+
archives:
95+
- id: release-archives
96+
format: tar.gz
97+
wrap_in_directory: true
98+
name_template: "{{ .Binary }}-{{ .Version }}-{{ .Os }}-{{ .Arch }}"
99+
files:
100+
- LICENSE
101+
- README.md
102+
103+
checksum:
104+
name_template: 'checksums.txt'
105+
algorithm: sha256
106+
107+
snapshot:
108+
name_template: "{{ incpatch .Version }}-next"
109+
110+
changelog:
111+
sort: asc
112+
filters:
113+
exclude:
114+
- '^docs:'
115+
- '^test:'
116+
117+
release:
118+
github:
119+
owner: hypersign-protocol
120+
name: hid-node
121+
122+
draft: false
123+
prerelease: false
124+
mode: append
125+
header: |
126+
# Release Notes

Makefile

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -82,35 +82,35 @@ docker-run:
8282
###############################################################################
8383
### Release ###
8484
###############################################################################
85+
GO_VERSION := $(shell cat go.mod | grep -E 'go [0-9].[0-9]+' | cut -d ' ' -f 2)
86+
GORELEASER_IMAGE := ghcr.io/goreleaser/goreleaser-cross:v$(GO_VERSION)
87+
COSMWASM_VERSION := $(shell go list -m github.com/CosmWasm/wasmvm | sed 's/.* //')
88+
89+
ifdef GITHUB_TOKEN
90+
release:
91+
docker run \
92+
--rm \
93+
-e GITHUB_TOKEN=$(GITHUB_TOKEN) \
94+
-e COSMWASM_VERSION=$(COSMWASM_VERSION) \
95+
-v /var/run/docker.sock:/var/run/docker.sock \
96+
-v `pwd`:/go/src/hid-noded \
97+
-w /go/src/hid-noded \
98+
$(GORELEASER_IMAGE) \
99+
release \
100+
--clean
101+
else
102+
release:
103+
@echo "Error: GITHUB_TOKEN is not defined. Please define it before running 'make release'."
104+
endif
85105

86-
release-darwin-arm64: go-version-check
87-
@echo "Generating release files for darwin/arm64"
88-
@mkdir -p release
89-
@GOOS=darwin GOARCH=arm64 go build $(BUILD_FLAGS) ./cmd/hid-noded
90-
@tar -czf release/hid_noded_$(VERSION)_darwin_arm64.tar.gz hid-noded
91-
@sha256sum release/hid_noded_$(VERSION)_darwin_arm64.tar.gz >> release/release_darwin_arm64_checksum
92-
@echo "Release files generated!"
93-
94-
release-darwin-amd64: go-version-check
95-
@echo "Generating release files for darwin/amd64"
96-
@mkdir -p release
97-
@GOOS=darwin GOARCH=amd64 go build $(BUILD_FLAGS) ./cmd/hid-noded
98-
@tar -czf release/hid_noded_$(VERSION)_darwin_amd64.tar.gz hid-noded
99-
@sha256sum release/hid_noded_$(VERSION)_darwin_amd64.tar.gz >> release/release_darwin_amd64_checksum
100-
@echo "Release files generated!"
101-
102-
release-linux-arm64: go-version-check
103-
@echo "Generating release files for linux/arm64"
104-
@mkdir -p release
105-
@GOOS=linux GOARCH=arm64 go build $(BUILD_FLAGS) ./cmd/hid-noded
106-
@tar -czf release/hid_noded_$(VERSION)_linux_arm64.tar.gz hid-noded
107-
@sha256sum release/hid_noded_$(VERSION)_linux_arm64.tar.gz >> release/release_linux_arm64_checksum
108-
@echo "Release files generated!"
109-
110-
release-linux-amd64: go-version-check
111-
@echo "Generating release files for linux/amd64"
112-
@mkdir -p release
113-
@GOOS=linux GOARCH=amd64 go build $(BUILD_FLAGS) ./cmd/hid-noded
114-
@tar -czf release/hid_noded_$(VERSION)_linux_amd64.tar.gz hid-noded
115-
@sha256sum release/hid_noded_$(VERSION)_linux_amd64.tar.gz >> release/release_linux_amd64_checksum
116-
@echo "Release files generated!"
106+
release-dry-run:
107+
docker run \
108+
--rm \
109+
-e COSMWASM_VERSION=$(COSMWASM_VERSION) \
110+
-v /var/run/docker.sock:/var/run/docker.sock \
111+
-v `pwd`:/go/src/hid-noded \
112+
-w /go/src/hid-noded \
113+
$(GORELEASER_IMAGE) \
114+
release \
115+
--clean \
116+
--skip=publish

0 commit comments

Comments
 (0)