@@ -2,6 +2,11 @@ name: Draft release
2
2
3
3
on :
4
4
workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : The version to publish (include "v", i.e. "v4.9.1").
8
+ type : string
9
+ required : true
5
10
6
11
permissions :
7
12
contents : write # For creating releases.
21
26
name : x86-64 Linux build
22
27
runs-on : ubuntu-latest
23
28
timeout-minutes : 15
29
+ needs : npm-version
24
30
container : " centos:7"
25
31
env :
26
32
CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
@@ -51,15 +57,10 @@ jobs:
51
57
- name : Install yarn
52
58
run : npm install -g yarn
53
59
54
- - name : Download artifacts
55
- uses : dawidd6/action-download-artifact@v2
56
- id : download
60
+ - name : Download npm package
61
+ uses : actions/download-artifact@v3
57
62
with :
58
- branch : ${{ github.ref }}
59
- workflow : build.yaml
60
- workflow_conclusion : completed
61
- check_artifacts : true
62
- name : npm-package
63
+ name : npm-release-package
63
64
64
65
- name : Decompress npm package
65
66
run : tar -xzf package.tar.gz
91
92
token : ${{ secrets.CODECOV_TOKEN }}
92
93
if : success()
93
94
95
+ # NOTE@jsjoeio - we do this so we can strip out the v
96
+ # i.e. v4.9.1 -> 4.9.1
97
+ - name : Get and set VERSION
98
+ run : |
99
+ TAG="${{ inputs.version || github.ref_name }}"
100
+ echo "VERSION=${TAG#v}" >> $GITHUB_ENV
101
+
94
102
- name : Build packages with nfpm
103
+ env :
104
+ VERSION : ${{ env.VERSION }}
95
105
run : yarn package
96
106
97
107
- uses : softprops/action-gh-release@v1
@@ -123,6 +133,7 @@ jobs:
123
133
name : Linux cross-compile builds
124
134
runs-on : ubuntu-18.04
125
135
timeout-minutes : 15
136
+ needs : npm-version
126
137
strategy :
127
138
matrix :
128
139
include :
@@ -159,15 +170,10 @@ jobs:
159
170
env :
160
171
PACKAGE : ${{ format('g++-{0}', matrix.prefix) }}
161
172
162
- - name : Download artifacts
163
- uses : dawidd6/action-download-artifact@v2
164
- id : download
173
+ - name : Download npm package
174
+ uses : actions/download-artifact@v3
165
175
with :
166
- branch : ${{ github.ref }}
167
- workflow : build.yaml
168
- workflow_conclusion : completed
169
- check_artifacts : true
170
- name : npm-package
176
+ name : npm-release-package
171
177
172
178
- name : Decompress npm package
173
179
run : tar -xzf package.tar.gz
@@ -181,7 +187,16 @@ jobs:
181
187
tar -xf node-${NODE_VERSION}-linux-${NPM_CONFIG_ARCH}.tar.xz node-${NODE_VERSION}-linux-${NPM_CONFIG_ARCH}/bin/node --strip-components=2
182
188
mv ./node ./release-standalone/lib/node
183
189
190
+ # NOTE@jsjoeio - we do this so we can strip out the v
191
+ # i.e. v4.9.1 -> 4.9.1
192
+ - name : Get and set VERSION
193
+ run : |
194
+ TAG="${{ inputs.version || github.ref_name }}"
195
+ echo "VERSION=${TAG#v}" >> $GITHUB_ENV
196
+
184
197
- name : Build packages with nfpm
198
+ env :
199
+ VERSION : ${{ env.VERSION }}
185
200
run : yarn package ${NPM_CONFIG_ARCH}
186
201
187
202
- uses : softprops/action-gh-release@v1
@@ -194,6 +209,7 @@ jobs:
194
209
name : x86-64 macOS build
195
210
runs-on : macos-latest
196
211
timeout-minutes : 15
212
+ needs : npm-version
197
213
steps :
198
214
- name : Checkout repo
199
215
uses : actions/checkout@v3
@@ -209,15 +225,10 @@ jobs:
209
225
curl -sSfL https://github.com/goreleaser/nfpm/releases/download/v2.3.1/nfpm_2.3.1_`uname -s`_`uname -m`.tar.gz | tar -C ~/.local/bin -zxv nfpm
210
226
echo "$HOME/.local/bin" >> $GITHUB_PATH
211
227
212
- - name : Download artifacts
213
- uses : dawidd6/action-download-artifact@v2
214
- id : download
228
+ - name : Download npm package
229
+ uses : actions/download-artifact@v3
215
230
with :
216
- branch : ${{ github.ref }}
217
- workflow : build.yaml
218
- workflow_conclusion : completed
219
- check_artifacts : true
220
- name : npm-package
231
+ name : npm-release-package
221
232
222
233
- name : Decompress npm package
223
234
run : tar -xzf package.tar.gz
@@ -241,7 +252,16 @@ jobs:
241
252
- name : Run native module tests on standalone release
242
253
run : yarn test:native
243
254
255
+ # NOTE@jsjoeio - we do this so we can strip out the v
256
+ # i.e. v4.9.1 -> 4.9.1
257
+ - name : Get and set VERSION
258
+ run : |
259
+ TAG="${{ inputs.version || github.ref_name }}"
260
+ echo "VERSION=${TAG#v}" >> $GITHUB_ENV
261
+
244
262
- name : Build packages with nfpm
263
+ env :
264
+ VERSION : ${{ env.VERSION }}
245
265
run : yarn package
246
266
247
267
- uses : softprops/action-gh-release@v1
@@ -254,6 +274,23 @@ jobs:
254
274
name : Upload npm package
255
275
runs-on : ubuntu-latest
256
276
timeout-minutes : 15
277
+ needs : npm-version
278
+ steps :
279
+ - name : Download npm package
280
+ uses : actions/download-artifact@v3
281
+ with :
282
+ name : npm-release-package
283
+
284
+ - uses : softprops/action-gh-release@v1
285
+ with :
286
+ draft : true
287
+ discussion_category_name : " 📣 Announcements"
288
+ files : ./package.tar.gz
289
+
290
+ npm-version :
291
+ name : Modify package.json version
292
+ runs-on : ubuntu-latest
293
+ timeout-minutes : 15
257
294
steps :
258
295
- name : Download artifacts
259
296
uses : dawidd6/action-download-artifact@v2
@@ -265,8 +302,32 @@ jobs:
265
302
check_artifacts : true
266
303
name : npm-package
267
304
268
- - uses : softprops/action-gh-release@v1
305
+ - name : Decompress npm package
306
+ run : tar -xzf package.tar.gz
307
+
308
+ # NOTE@jsjoeio - we do this so we can strip out the v
309
+ # i.e. v4.9.1 -> 4.9.1
310
+ - name : Get and set VERSION
311
+ run : |
312
+ TAG="${{ inputs.version || github.ref_name }}"
313
+ echo "VERSION=${TAG#v}" >> $GITHUB_ENV
314
+
315
+ - name : Modify version
316
+ env :
317
+ VERSION : ${{ env.VERSION )}}
318
+ run : |
319
+ echo "Updating version in root package.json"
320
+ npm version --prefix release "$VERSION"
321
+
322
+ echo "Updating version in lib/vscode/product.json"
323
+ tmp=$(mktemp)
324
+ jq '.codeServerVersion = "$VERSION"' release/lib/vscode/product.json > "$tmp" && mv "$tmp" release/lib/vscode/product.json
325
+
326
+ - name : Compress release package
327
+ run : tar -czf package.tar.gz release
328
+
329
+ - name : Upload npm package artifact
330
+ uses : actions/upload-artifact@v3
269
331
with :
270
- draft : true
271
- discussion_category_name : " 📣 Announcements"
272
- files : ./package.tar.gz
332
+ name : npm-release-package
333
+ path : ./package.tar.gz
0 commit comments