66 tags :
77 - ' *'
88
9+ permissions : {}
10+
911jobs :
1012 build-release :
1113 # Prevent releases from forked repositories
1214 if : github.repository_owner == 'voxpupuli'
1315 name : Build the gem
1416 runs-on : ubuntu-24.04
15- permissions :
16- contents : write # clone repo and create release
1717 steps :
1818 - uses : actions/checkout@v5
1919 - name : Install Ruby
@@ -30,16 +30,23 @@ jobs:
3030 path : ' *.gem'
3131 retention-days : 1
3232 compression-level : 0
33- - name : Create Release Page
34- shell : bash
35- env :
36- GH_TOKEN : ${{ github.token }}
37- run : gh release create ${{ github.ref_name }} --generate-notes
38- - name : Attach gem to GitHub Release
33+
34+ create-github-release :
35+ needs : build-release
36+ name : Create GitHub release
37+ runs-on : ubuntu-24.04
38+ permissions :
39+ contents : write # clone repo and create release
40+ steps :
41+ - name : Download gem from GitHub cache
42+ uses : actions/download-artifact@v5
43+ with :
44+ name : gem-artifact
45+ - name : Create Release
3946 shell : bash
4047 env :
4148 GH_TOKEN : ${{ github.token }}
42- run : gh release upload ${{ github.ref_name }} *.gem
49+ run : gh release create --repo ${{ github.repository }} ${{ github. ref_name }} --generate-notes *.gem
4350
4451 release-to-github :
4552 needs : build-release
@@ -52,13 +59,10 @@ jobs:
5259 uses : actions/download-artifact@v5
5360 with :
5461 name : gem-artifact
55- - name : Setup GitHub packages access
56- run : |
57- mkdir -p ~/.gem
58- echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
59- chmod 0600 ~/.gem/credentials
6062 - name : Publish gem to GitHub packages
61- run : gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
63+ run : gem push --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
64+ env :
65+ GEM_HOST_API_KEY : ${{ secrets.GITHUB_TOKEN }}
6266
6367 release-to-rubygems :
6468 needs : build-release
8387 permissions :
8488 contents : read # minimal permissions that we have to grant
8589 needs :
90+ - create-github-release
8691 - release-to-github
8792 - release-to-rubygems
8893 steps :
99104 run : |
100105 gem install rubygems-await
101106 gem await *.gem
102-
0 commit comments