@@ -65,12 +65,54 @@ jobs:
65
65
echo "Tag '${VERSION}' does not exist."
66
66
fi
67
67
68
- build_images :
68
+ release_sparkctl :
69
69
needs :
70
70
- check-release
71
71
72
72
runs-on : ubuntu-latest
73
73
74
+ strategy :
75
+ fail-fast : true
76
+ matrix :
77
+ os :
78
+ - linux
79
+ - darwin
80
+ arch :
81
+ - amd64
82
+ - arm64
83
+
84
+ env :
85
+ GOOS : ${{ matrix.os }}
86
+ GOARCH : ${{ matrix.arch }}
87
+
88
+ steps :
89
+ - name : Checkout source code
90
+ uses : actions/checkout@v4
91
+
92
+ - name : Read version from VERSION file
93
+ run : |
94
+ VERSION=$(cat VERSION | sed "s/^v//")
95
+ echo "VERSION=${VERSION}" >> $GITHUB_ENV
96
+
97
+ - name : Build sparkctl binary
98
+ run : |
99
+ make build-sparkctl
100
+ tar -czvf sparkctl-${VERSION}-${GOOS}-${GOARCH}.tgz -C bin sparkctl
101
+
102
+ - name : Upload sparkctl binary
103
+ uses : actions/upload-artifact@v4
104
+ with :
105
+ name : sparkctl-${{ env.VERSION }}-${{ env.GOOS }}-${{ env.GOARCH }}
106
+ path : sparkctl-${{ env.VERSION }}-${{ env.GOOS }}-${{ env.GOARCH }}.tgz
107
+ if-no-files-found : error
108
+ retention-days : 1
109
+
110
+ build_images :
111
+ needs :
112
+ - release_sparkctl
113
+
114
+ runs-on : ubuntu-latest
115
+
74
116
strategy :
75
117
fail-fast : false
76
118
matrix :
@@ -90,10 +132,6 @@ jobs:
90
132
- name : Read version from VERSION file
91
133
run : |
92
134
VERSION=$(cat VERSION)
93
- if [[ ! ${VERSION} =~ ${{ env.SEMVER_PATTERN }} ]]; then
94
- echo "Version '${VERSION}' does not match semver pattern."
95
- exit 1
96
- fi
97
135
echo "VERSION=${VERSION}" >> $GITHUB_ENV
98
136
99
137
- name : Docker meta
@@ -250,6 +288,11 @@ jobs:
250
288
helm package charts/${chart}
251
289
done
252
290
291
+ - name : Download artifacts
292
+ uses : actions/download-artifact@v4
293
+ with :
294
+ pattern : sparkctl-*
295
+
253
296
- name : Release
254
297
id : release
255
298
uses : softprops/action-gh-release@v2
@@ -262,3 +305,4 @@ jobs:
262
305
draft : true
263
306
files : |
264
307
*.tgz
308
+ sparkctl-*/sparkctl-*.tgz
0 commit comments