1
1
name : Publish - Testnet
2
2
3
- # Controls when the action will run.
3
+ # Controls when the action will run.
4
4
on :
5
5
# Triggers the workflow on new SemVer tags
6
6
push :
7
7
branches :
8
8
- master
9
- tags :
9
+ tags :
10
10
- ' v[0-9]+.[0-9]+.[0-9]+'
11
11
- ' v[0-9]+.[0-9]+.[0-9]+-**'
12
12
60
60
build-linux :
61
61
runs-on : ubuntu-latest
62
62
needs : [ test ]
63
+ strategy :
64
+ matrix :
65
+ go-arch : [amd64, arm64]
63
66
steps :
64
67
- uses : actions/checkout@v4
65
68
- uses : actions/setup-go@v5
@@ -70,36 +73,27 @@ jobs:
70
73
sudo apt update
71
74
sudo apt install -y gcc-aarch64-linux-gnu
72
75
go generate ./...
73
- - name : Build amd64
76
+ - name : Build ${{ matrix.go-arch }}
74
77
env :
75
78
CGO_ENABLED : 1
76
79
GOOS : linux
77
- GOARCH : amd64
80
+ GOARCH : ${{ matrix.go-arch }}
78
81
run : |
79
82
mkdir -p release
80
83
ZIP_OUTPUT=release/hostd_zen_${GOOS}_${GOARCH}.zip
81
84
go build -tags='testnet netgo' -trimpath -o bin/ -a -ldflags '-s -w -linkmode external -extldflags "-static"' ./cmd/hostd
82
85
cp README.md LICENSE bin/
83
86
zip -qj $ZIP_OUTPUT bin/*
84
- - name : Build arm64
85
- env :
86
- CGO_ENABLED : 1
87
- GOOS : linux
88
- GOARCH : arm64
89
- CC : aarch64-linux-gnu-gcc
90
- run : |
91
- mkdir -p release
92
- ZIP_OUTPUT=release/hostd_zen_${GOOS}_${GOARCH}.zip
93
- GOOS=linux GOARCH=arm64 go build -tags='testnet netgo' -trimpath -o bin/ -a -ldflags '-s -w -linkmode external -extldflags "-static"' ./cmd/hostd
94
- cp README.md LICENSE bin/
95
- zip -qj $ZIP_OUTPUT bin/*
96
87
- uses : actions/upload-artifact@v4
97
88
with :
98
- name : hostd-zen
99
- path : release/
100
- build-mac :
89
+ name : hostd-zen-linux-${{ matrix.go-arch }}
90
+ path : release/*
91
+ build-mac :
101
92
runs-on : macos-latest
102
93
needs : [ test ]
94
+ strategy :
95
+ matrix :
96
+ go-arch : [amd64, arm64]
103
97
steps :
104
98
- uses : actions/checkout@v4
105
99
- uses : actions/setup-go@v5
@@ -135,33 +129,13 @@ jobs:
135
129
security import $APPLE_CERT_PATH -P $APPLE_CERT_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
136
130
security find-identity -v $KEYCHAIN_PATH -p codesigning
137
131
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $APPLE_KEYCHAIN_PASSWORD $KEYCHAIN_PATH
138
-
132
+
139
133
# generate
140
134
go generate ./...
141
-
135
+
142
136
# resync system clock https://github.com/actions/runner/issues/2996#issuecomment-1833103110
143
137
sudo sntp -sS time.windows.com
144
- - name : Build amd64
145
- env :
146
- APPLE_CERT_ID : ${{ secrets.APPLE_CERT_ID }}
147
- APPLE_API_KEY : ${{ secrets.APPLE_API_KEY }}
148
- APPLE_API_ISSUER : ${{ secrets.APPLE_API_ISSUER }}
149
- APPLE_KEY_B64 : ${{ secrets.APPLE_KEY_B64 }}
150
- APPLE_CERT_B64 : ${{ secrets.APPLE_CERT_B64 }}
151
- APPLE_CERT_PASSWORD : ${{ secrets.APPLE_CERT_PASSWORD }}
152
- APPLE_KEYCHAIN_PASSWORD : ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
153
- CGO_ENABLED : 1
154
- GOOS : darwin
155
- GOARCH : amd64
156
- run : |
157
- ZIP_OUTPUT=release/hostd_zen_${GOOS}_${GOARCH}.zip
158
- mkdir -p release
159
- go build -tags='testnet netgo' -trimpath -o bin/ -a -ldflags '-s -w' ./cmd/hostd
160
- cp README.md LICENSE bin/
161
- /usr/bin/codesign --deep -f -v --timestamp -o runtime,library -s $APPLE_CERT_ID bin/hostd
162
- ditto -ck bin $ZIP_OUTPUT
163
- xcrun notarytool submit -k ~/private_keys/AuthKey_$APPLE_API_KEY.p8 -d $APPLE_API_KEY -i $APPLE_API_ISSUER --wait --timeout 10m $ZIP_OUTPUT
164
- - name : Build arm64
138
+ - name : Build ${{ matrix.go-arch }}
165
139
env :
166
140
APPLE_CERT_ID : ${{ secrets.APPLE_CERT_ID }}
167
141
APPLE_API_KEY : ${{ secrets.APPLE_API_KEY }}
@@ -172,7 +146,7 @@ jobs:
172
146
APPLE_KEYCHAIN_PASSWORD : ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
173
147
CGO_ENABLED : 1
174
148
GOOS : darwin
175
- GOARCH : arm64
149
+ GOARCH : ${{ matrix.go-arch }}
176
150
run : |
177
151
ZIP_OUTPUT=release/hostd_zen_${GOOS}_${GOARCH}.zip
178
152
mkdir -p release
@@ -183,9 +157,9 @@ jobs:
183
157
xcrun notarytool submit -k ~/private_keys/AuthKey_$APPLE_API_KEY.p8 -d $APPLE_API_KEY -i $APPLE_API_ISSUER --wait --timeout 10m $ZIP_OUTPUT
184
158
- uses : actions/upload-artifact@v4
185
159
with :
186
- name : hostd-zen
187
- path : release/
188
- build-windows :
160
+ name : hostd-zen-darwin-${{ matrix.go-arch }}
161
+ path : release/*
162
+ build-windows :
189
163
runs-on : windows-latest
190
164
needs : [ test ]
191
165
steps :
@@ -213,5 +187,5 @@ jobs:
213
187
7z a $ZIP_OUTPUT ./bin/*
214
188
- uses : actions/upload-artifact@v4
215
189
with :
216
- name : hostd-zen
217
- path : release/
190
+ name : hostd-zen-windows-amd64
191
+ path : release/*
0 commit comments