@@ -43,54 +43,28 @@ jobs:
43
43
# it will make debugging more annoying.
44
44
45
45
- name : Build RPM package
46
- id : build-rpm
47
46
uses : bpicode/github-action-fpm@master
48
47
with :
49
48
fpm_args : " etc"
50
49
fpm_opts : " --debug -n cvmfs-config-eessi -v ${{ steps.get_version.outputs.version }} -t rpm -a all -s dir -C ./package --description 'CVMFS configuration package for EESSI.'"
51
50
52
51
- name : Build Deb package
53
- id : build-deb
54
52
uses : bpicode/github-action-fpm@master
55
53
with :
56
54
fpm_args : " etc"
57
55
fpm_opts : " --debug -n cvmfs-config-eessi -v ${{ steps.get_version.outputs.version }} -t deb -a all -s dir -C ./package --description 'CVMFS configuration package for EESSI.'"
58
56
59
57
- name : Build tar package
60
- id : build-tar
61
58
uses : bpicode/github-action-fpm@master
62
59
with :
63
60
fpm_args : " etc"
64
61
fpm_opts : " --debug -n cvmfs-config-eessi-${{ steps.get_version.outputs.version }} -t tar -a all -s dir -C ./package --description 'CVMFS configuration package for EESSI.'"
65
62
66
- - name : Find filenames of generated packages
67
- id : find_filenames
68
- shell : bash
69
- run : |
70
- rpmfile="$(ls -1 cvmfs-config-eessi*.rpm)"
71
- debfile="$(ls -1 cvmfs-config-eessi*.deb)"
72
- tarfile="$(ls -1 cvmfs-config-eessi*.tar)"
73
- echo ::set-output name=rpmfile::${rpmfile}
74
- echo ::set-output name=debfile::${debfile}
75
- echo ::set-output name=tarfile::${tarfile}
76
-
77
- - name : Upload Deb package as artifact
78
- uses : actions/upload-artifact@v2
79
- with :
80
- name : Deb package
81
- path : ${{ steps.find_filenames.outputs.debfile }}
82
-
83
- - name : Upload RPM package as artifact
84
- uses : actions/upload-artifact@v2
85
- with :
86
- name : RPM package
87
- path : ${{ steps.find_filenames.outputs.rpmfile }}
88
-
89
- - name : Upload tar package as artifact
63
+ - name : Upload packages as build artifacts
90
64
uses : actions/upload-artifact@v2
91
65
with :
92
- name : Tar package
93
- path : ${{ steps.find_filenames.outputs.tarfile }}
66
+ name : linux_packages
67
+ path : cvmfs-config-eessi*
94
68
95
69
build-macos-package :
96
70
runs-on : macos-latest
@@ -138,7 +112,7 @@ jobs:
138
112
- name : Upload macOS package as artifact
139
113
uses : actions/upload-artifact@v2
140
114
with :
141
- name : macOS package
115
+ name : macos_package
142
116
path : ${{ steps.find_filename.outputs.pkgfile }}
143
117
144
118
test-deb-package :
@@ -157,13 +131,13 @@ jobs:
157
131
- name : Download cvmfs-config-eessi package
158
132
uses : actions/download-artifact@v2
159
133
with :
160
- name : Deb package
134
+ name : linux_packages
161
135
162
136
- name : Find filename of package
163
137
id : find_filename
164
138
shell : bash
165
139
run : |
166
- debfile="$(ls -1 cvmfs-config-eessi*.deb)"
140
+ debfile="$(find . -name cvmfs-config-eessi*.deb)"
167
141
echo ::set-output name=debfile::${debfile}
168
142
169
143
- name : Install package
@@ -195,13 +169,13 @@ jobs:
195
169
- name : Download cvmfs-config-eessi package
196
170
uses : actions/download-artifact@v2
197
171
with :
198
- name : RPM package
172
+ name : linux_packages
199
173
200
174
- name : Find filename of package
201
175
id : find_filename
202
176
shell : bash
203
177
run : |
204
- rpmfile="$(ls -1 cvmfs-config-eessi*.rpm)"
178
+ rpmfile="$(find . -name cvmfs-config-eessi*.rpm)"
205
179
echo ::set-output name=rpmfile::${rpmfile}
206
180
207
181
- name : Install package
@@ -233,13 +207,13 @@ jobs:
233
207
- name : Download cvmfs-config-eessi package
234
208
uses : actions/download-artifact@v2
235
209
with :
236
- name : Tar package
210
+ name : linux_packages
237
211
238
212
- name : Find filename of package
239
213
id : find_filename
240
214
shell : bash
241
215
run : |
242
- tarfile="$(ls -1 cvmfs-config-eessi*.tar)"
216
+ tarfile="$(find . -name cvmfs-config-eessi*.tar)"
243
217
echo ::set-output name=tarfile::${tarfile}
244
218
245
219
- name : Install package
@@ -259,21 +233,21 @@ jobs:
259
233
runs-on : macos-latest
260
234
steps :
261
235
- name : Install OSXFUSE
262
- run : brew install --cask osxfuse
236
+ run : brew install --cask macfuse
263
237
264
238
- name : Download and install CVMFS client
265
- run : wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.7.5 /cvmfs-2.7.5. pkg && sudo installer -target / -pkg cvmfs-2.7.5 .pkg
239
+ run : wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-release /cvmfs-latest. pkg && sudo installer -target / -pkg cvmfs-latest .pkg
266
240
267
241
- name : Download cvmfs-config-eessi package
268
242
uses : actions/download-artifact@v2
269
243
with :
270
- name : macOS package
244
+ name : macos_package
271
245
272
246
- name : Find filename of package
273
247
id : find_filename
274
248
shell : bash
275
249
run : |
276
- pkgfile="$(ls -1 cvmfs-config-eessi*.pkg)"
250
+ pkgfile="$(find . -name cvmfs-config-eessi*.pkg)"
277
251
echo ::set-output name=pkgfile::${pkgfile}
278
252
279
253
- name : Install package
@@ -293,86 +267,77 @@ jobs:
293
267
if : startsWith(github.ref, 'refs/tags/')
294
268
runs-on : ubuntu-latest
295
269
steps :
296
- - name : Download Deb package
297
- uses : actions/download-artifact@v2
298
- with :
299
- name : Deb package
300
-
301
- - name : Download RPM package
302
- uses : actions/download-artifact@v2
303
- with :
304
- name : RPM package
270
+ - name : Checkout
271
+ uses : actions/checkout@v2
305
272
306
- - name : Download tar package
307
- uses : actions/download-artifact@v2
308
- with :
309
- name : Tar package
273
+ - name : Find release version in tag
274
+ id : find_version
275
+ run : |
276
+ echo ::set-output name=version::${GITHUB_REF#refs/tags/}
310
277
311
- - name : Download macOS package
312
- uses : actions/download-artifact@v2
278
+ - uses : actions/download-artifact@v2
313
279
with :
314
- name : macOS package
280
+ path : ./build_artifacts
315
281
316
282
- name : Find filenames of downloaded packages
317
283
id : find_filenames
318
284
shell : bash
319
285
run : |
320
- rpmfile="$(ls -1 cvmfs-config-eessi*.rpm)"
321
- debfile="$(ls -1 cvmfs-config-eessi*.deb)"
322
- pkgfile="$(ls -1 cvmfs-config-eessi*.pkg)"
323
- tarfile="$(ls -1 cvmfs-config-eessi*.tar)"
324
- echo ::set-output name=rpmfile::${rpmfile}
325
- echo ::set-output name=debfile::${debfile}
326
- echo ::set-output name=pkgfile::${pkgfile}
327
- echo ::set-output name=tarfile::${tarfile}
286
+ ls -1 -R .
287
+ echo ::set-output name=package_filenames::$(find ./build_artifacts -name cvmfs-config-eessi*)
328
288
329
- - name : Create Release
330
- id : create_release
331
- uses : actions/create-release@v1
332
- env :
333
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
289
+ -
uses :
meeDamian/[email protected]
334
290
with :
335
- tag_name : ${{ github.ref }}
336
- release_name : Filesystem Layer ${{ github.ref }}
337
- draft : false
338
- prerelease : false
291
+ token : ${{ secrets.GITHUB_TOKEN }}
292
+ tag : ${{ steps.find_version.outputs.version }}
293
+ name : Filesystem Layer ${{ steps.find_version.outputs.version }}
294
+ body : >
295
+ Filesystem Layer release ${{ steps.find_version.outputs.version }}
296
+ files : ${{ steps.find_filenames.outputs.package_filenames }}
297
+ gzip : false
298
+
299
+ release-latest :
300
+ needs : [release] # only run when the previous step (the actual release) was successful
301
+ if : startsWith(github.ref, 'refs/tags/')
302
+ runs-on : ubuntu-latest
303
+ steps :
304
+ - name : Checkout
305
+ uses : actions/checkout@v2
339
306
340
- - name : Upload RPM as release asset
341
- uses : actions/upload-release-asset@v1
342
- env :
343
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
307
+ - uses : actions/download-artifact@v2
344
308
with :
345
- upload_url : ${{ steps.create_release.outputs.upload_url }}
346
- asset_path : ${{ steps.find_filenames.outputs.rpmfile }}
347
- asset_name : ${{ steps.find_filenames.outputs.rpmfile }}
348
- asset_content_type : application/x-rpm
309
+ path : ./build_artifacts
349
310
350
- - name : Upload Deb as release asset
351
- uses : actions/upload-release-asset@v1
352
- env :
353
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
354
- with :
355
- upload_url : ${{ steps.create_release.outputs.upload_url }}
356
- asset_path : ${{ steps.find_filenames.outputs.debfile }}
357
- asset_name : ${{ steps.find_filenames.outputs.debfile }}
358
- asset_content_type : application/x-deb
311
+ - name : Find release version in tag
312
+ id : find_version
313
+ run : |
314
+ echo ::set-output name=version::${GITHUB_REF#refs/tags/}
359
315
360
- - name : Upload Pkg as release asset
361
- uses : actions/upload-release-asset@v1
362
- env :
363
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
364
- with :
365
- upload_url : ${{ steps.create_release.outputs.upload_url }}
366
- asset_path : ${{ steps.find_filenames.outputs.pkgfile }}
367
- asset_name : ${{ steps.find_filenames.outputs.pkgfile }}
368
- asset_content_type : application/x-newton-compatible-pkg
316
+ - name : Find filenames of downloaded packages and rename them to latest
317
+ id : find_filenames
318
+ shell : bash
319
+ run : |
320
+ sudo apt-get install rename
321
+ rename "s/([0-9]+.[0-9]+.[0-9]+)(-[0-9]+)?/latest/g" $(find ./build_artifacts -name cvmfs-config-eessi*)
322
+ ls -1 -R ./build_artifacts
323
+ echo ::set-output name=package_filenames::$(find ./build_artifacts -name cvmfs-config-eessi*latest*)
369
324
370
- - name : Upload Tar as release asset
371
- uses : actions/upload-release-asset@v1
325
+ - name : Delete any previous tag/release named "latest"
326
+ uses :
dev-drprasad/[email protected]
327
+ with :
328
+ delete_release : true # default: false
329
+ tag_name : latest
372
330
env :
373
331
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
332
+
333
+ -
uses :
meeDamian/[email protected]
374
334
with :
375
- upload_url : ${{ steps.create_release.outputs.upload_url }}
376
- asset_path : ${{ steps.find_filenames.outputs.tarfile }}
377
- asset_name : ${{ steps.find_filenames.outputs.tarfile }}
378
- asset_content_type : application/x-tar
335
+ token : ${{ secrets.GITHUB_TOKEN }}
336
+ tag : latest
337
+ name : Filesystem Layer latest release
338
+ body : |
339
+ Filesystem Layer release ${{ steps.find_version.outputs.version }} (see: https://github.com/${{github.repository}}/releases/tag/${{ steps.find_version.outputs.version }})
340
+
341
+ This `latest` tag is a moving tag that is updated automatically for each release, and provides easy access to the latest `cvmfs-config-eessi` packages.
342
+ files : ${{ steps.find_filenames.outputs.package_filenames }}
343
+ gzip : false
0 commit comments