@@ -12,75 +12,50 @@ jobs:
1212 release :
1313 needs : build
1414 runs-on : ubuntu-latest
15+ permissions :
16+ contents : write
1517 steps :
1618 - name : Download build artifacts
1719 id : download
1820 uses : actions/download-artifact@v4
1921 with :
2022 path : ./artifacts
21-
22- - name : Create MacOS artifact
23- working-directory : ${{ steps.download.outputs.download-path}}/Diskuto-macos-latest
24- run : zip -9 release.zip diskuto
2523
26- - name : Create Linux artifact
27- working-directory : ${{ steps.download.outputs.download-path}}/Diskuto-ubuntu-20.04
28- run : zip -9 release.zip diskuto
24+ - name : Create Artifacts
25+ working-directory : ${{ steps.download.outputs.download-path}}
26+ run :
27+ set -eux
2928
30- - name : Create Windows artifact
31- working-directory : ${{ steps.download.outputs.download-path}}/Diskuto-windows-latest
32- run : zip -9 release.zip diskuto.exe
29+ TAG="${{ github.ref_name }}"
30+
31+ cd Diskuto-macos-latest
32+ zip -9 "../diskuto-api-macos-${TAG}.zip" diskuto
33+ cd ..
34+
35+ cd Diskuto-ubuntu-20.04
36+ zip -9 "../diskuto-api-linux-${TAG}.zip" diskuto
37+ cd ..
38+
39+ cd Diskuto-windows-latest
40+ zip -9 "../diskuto-api-windows-${TAG}.zip" diskuto.exe
41+ cd ..
42+
43+ ls *.zip
3344
34- # github.ref gives us something like refs/tags/v1.2.3, but we just want v1.2.3
35- - name : Get tag name
36- id : tag-name
37- uses : actions/github-script@v3
38- with :
39- result-encoding : string
40- script : |
41- return "${{ github.ref }}".replace("refs/tags/", "")
4245
4346 - name : Create the release
4447 id : release
45- uses : actions/create-release@v1
46- env :
47- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
48+ # I don't know softprops, but they were recommended by GitHub here:
49+ # https://github.com/actions/upload-release-asset?tab=readme-ov-file
50+ uses : softprops/action-gh-release@v2
4851 with :
49- tag_name : ${{ github.ref }}
50- release_name : Release ${{ steps.tag-name.outputs.result }}
51- prerelease : contains(github.ref, '-rc')
52+ release_name : Release ${{ github.ref_name }}
53+ prerelease : contains(github.ref_name, '-rc')
5254 body : |
5355 See [CHANGELOG.md] for release notes.
5456
55- [CHANGELOG.md]: https://github.com/diskuto/diskuto-api/blob/${{ steps.tag-name.outputs.result }}/CHANGELOG.md
57+ [CHANGELOG.md]: https://github.com/diskuto/diskuto-api/blob/${{ github.ref_name }}/CHANGELOG.md
58+ files : |
59+ ${{ steps.download.outputs.download-path}}/*.zip
5660
57- - name : Attach MacOS Release
58- uses : actions/upload-release-asset@v1
59- env :
60- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
61- with :
62- upload_url : ${{ steps.release.outputs.upload_url }}
63- asset_path : ${{ steps.download.outputs.download-path}}/Diskuto-macos-latest/release.zip
64- asset_name : diskuto-api-macos-${{ steps.tag-name.outputs.result }}.zip
65- asset_content_type : application/zip
66-
67- - name : Attach Linux (Ubuntu) Release
68- uses : actions/upload-release-asset@v1
69- env :
70- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
71- with :
72- upload_url : ${{ steps.release.outputs.upload_url }}
73- asset_path : ${{ steps.download.outputs.download-path}}/Diskuto-ubuntu-20.04/release.zip
74- asset_name : diskuto-api-linux-${{ steps.tag-name.outputs.result }}.zip
75- asset_content_type : application/zip
7661
77- - name : Attach Windows Release
78- uses : actions/upload-release-asset@v1
79- env :
80- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
81- with :
82- upload_url : ${{ steps.release.outputs.upload_url }}
83- asset_path : ${{ steps.download.outputs.download-path}}/Diskuto-windows-latest/release.zip
84- asset_name : diskuto-api-windows-${{ steps.tag-name.outputs.result }}.zip
85- asset_content_type : application/zip
86-
0 commit comments