1212 tags :
1313 - " v*"
1414
15+ permissions : {}
16+
17+ concurrency :
18+ group : ${{ github.workflow }}-${{ github.ref }}
19+ cancel-in-progress : true
20+
1521jobs :
1622 release :
1723 name : Prepare & Create Release
1824 runs-on : ubuntu-latest
25+ permissions :
26+ contents : write # Create releases and upload assets
27+ issues : write # Comment on related issues
28+ pull-requests : write # Comment on related PRs
1929 steps :
2030 - name : Checkout code
2131 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
32+ with :
33+ persist-credentials : false
2234
2335 - name : Setup PHP
2436 uses : shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
@@ -45,26 +57,29 @@ jobs:
4557 with :
4658 version : ${{ github.ref }}
4759
48- - name : Create release
49- id : create_release
50- uses : actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1
60+ - name : Determine prerelease status
61+ id : prerelease
5162 env :
52- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
53- with :
54- tag_name : ${{ github.ref }}
55- release_name : ${{ github.ref }}
56- body : ${{ steps.changelog.outputs.text }}
57- prerelease : ${{ contains(github.ref, '-alpha') || contains(github.ref, '-beta') }}
63+ REF : ${{ github.ref }}
64+ run : |
65+ if [[ "$REF" == *"-alpha"* ]] || [[ "$REF" == *"-beta"* ]]; then
66+ echo "flag=--prerelease" >> $GITHUB_OUTPUT
67+ else
68+ echo "flag=" >> $GITHUB_OUTPUT
69+ fi
5870
59- - name : Upload zip to release
60- uses : actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 # v1.0.2
71+ - name : Create release
6172 env :
62- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
63- with :
64- upload_url : ${{ steps.create_release.outputs.upload_url }}
65- asset_path : ./dist.tar.gz
66- asset_name : dist.tar.gz
67- asset_content_type : application/tar+gz
73+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
74+ TAG_NAME : ${{ github.ref_name }}
75+ CHANGELOG : ${{ steps.changelog.outputs.text }}
76+ PRERELEASE_FLAG : ${{ steps.prerelease.outputs.flag }}
77+ run : |
78+ gh release create "$TAG_NAME" \
79+ --title "$TAG_NAME" \
80+ --notes "$CHANGELOG" \
81+ $PRERELEASE_FLAG \
82+ ./dist.tar.gz
6883
6984 - name : Comment on related issues
7085 uses : duncanmcclean/post-release-comments@ee2d062e73bd6f0898f36ed892953ed88134cc19 # v1.0.6
0 commit comments