@@ -43,54 +43,28 @@ jobs:
4343# it will make debugging more annoying.
4444
4545 - name : Build RPM package
46- id : build-rpm
4746 uses : bpicode/github-action-fpm@master
4847 with :
4948 fpm_args : " etc"
5049 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.'"
5150
5251 - name : Build Deb package
53- id : build-deb
5452 uses : bpicode/github-action-fpm@master
5553 with :
5654 fpm_args : " etc"
5755 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.'"
5856
5957 - name : Build tar package
60- id : build-tar
6158 uses : bpicode/github-action-fpm@master
6259 with :
6360 fpm_args : " etc"
6461 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.'"
6562
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
9064 uses : actions/upload-artifact@v2
9165 with :
92- name : Tar package
93- path : ${{ steps.find_filenames.outputs.tarfile }}
66+ name : linux_packages
67+ path : cvmfs-config-eessi*
9468
9569 build-macos-package :
9670 runs-on : macos-latest
@@ -138,7 +112,7 @@ jobs:
138112 - name : Upload macOS package as artifact
139113 uses : actions/upload-artifact@v2
140114 with :
141- name : macOS package
115+ name : macos_package
142116 path : ${{ steps.find_filename.outputs.pkgfile }}
143117
144118 test-deb-package :
@@ -157,13 +131,13 @@ jobs:
157131 - name : Download cvmfs-config-eessi package
158132 uses : actions/download-artifact@v2
159133 with :
160- name : Deb package
134+ name : linux_packages
161135
162136 - name : Find filename of package
163137 id : find_filename
164138 shell : bash
165139 run : |
166- debfile="$(ls -1 cvmfs-config-eessi*.deb)"
140+ debfile="$(find . -name cvmfs-config-eessi*.deb)"
167141 echo ::set-output name=debfile::${debfile}
168142
169143 - name : Install package
@@ -195,13 +169,13 @@ jobs:
195169 - name : Download cvmfs-config-eessi package
196170 uses : actions/download-artifact@v2
197171 with :
198- name : RPM package
172+ name : linux_packages
199173
200174 - name : Find filename of package
201175 id : find_filename
202176 shell : bash
203177 run : |
204- rpmfile="$(ls -1 cvmfs-config-eessi*.rpm)"
178+ rpmfile="$(find . -name cvmfs-config-eessi*.rpm)"
205179 echo ::set-output name=rpmfile::${rpmfile}
206180
207181 - name : Install package
@@ -233,13 +207,13 @@ jobs:
233207 - name : Download cvmfs-config-eessi package
234208 uses : actions/download-artifact@v2
235209 with :
236- name : Tar package
210+ name : linux_packages
237211
238212 - name : Find filename of package
239213 id : find_filename
240214 shell : bash
241215 run : |
242- tarfile="$(ls -1 cvmfs-config-eessi*.tar)"
216+ tarfile="$(find . -name cvmfs-config-eessi*.tar)"
243217 echo ::set-output name=tarfile::${tarfile}
244218
245219 - name : Install package
@@ -259,21 +233,21 @@ jobs:
259233 runs-on : macos-latest
260234 steps :
261235 - name : Install OSXFUSE
262- run : brew install --cask osxfuse
236+ run : brew install --cask macfuse
263237
264238 - 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
266240
267241 - name : Download cvmfs-config-eessi package
268242 uses : actions/download-artifact@v2
269243 with :
270- name : macOS package
244+ name : macos_package
271245
272246 - name : Find filename of package
273247 id : find_filename
274248 shell : bash
275249 run : |
276- pkgfile="$(ls -1 cvmfs-config-eessi*.pkg)"
250+ pkgfile="$(find . -name cvmfs-config-eessi*.pkg)"
277251 echo ::set-output name=pkgfile::${pkgfile}
278252
279253 - name : Install package
@@ -293,86 +267,77 @@ jobs:
293267 if : startsWith(github.ref, 'refs/tags/')
294268 runs-on : ubuntu-latest
295269 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
305272
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/}
310277
311- - name : Download macOS package
312- uses : actions/download-artifact@v2
278+ - uses : actions/download-artifact@v2
313279 with :
314- name : macOS package
280+ path : ./build_artifacts
315281
316282 - name : Find filenames of downloaded packages
317283 id : find_filenames
318284 shell : bash
319285 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*)
328288
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] 334290 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
339306
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
344308 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
349310
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/}
359315
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*)
369324
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
372330 env :
373331 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
332+
333+ -
uses :
meeDamian/[email protected] 374334 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