@@ -2,6 +2,11 @@ name: Release
22
33on :
44 workflow_dispatch :
5+ inputs :
6+ overwrite :
7+ description : Overwrite existing release if tag already exists
8+ type : boolean
9+ default : false
510
611jobs :
712 release :
@@ -12,20 +17,19 @@ jobs:
1217
1318 steps :
1419 - name : Checkout repository
15- uses : actions/checkout@v4
20+ uses : actions/checkout@v6
1621
1722 - name : Read version from package.json
1823 id : version
1924 run : echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
2025
2126 - name : Setup Node.js
22- uses : actions/setup-node@v4
27+ uses : actions/setup-node@v6
2328 with :
2429 node-version : 22
25- cache : npm
2630
2731 - name : Install dependencies
28- run : npm ci
32+ run : npm install
2933
3034 - name : Create config
3135 run : |
@@ -38,11 +42,15 @@ jobs:
3842 run : npm run build
3943
4044 - name : Create GitHub Release
41- uses : softprops/action-gh-release@v2
42- with :
43- tag_name : v${{ steps.version.outputs.version }}
44- name : v${{ steps.version.outputs.version }}
45- generate_release_notes : true
46- files : |
47- dist/github-notifier-pro-chrome.zip
45+ env :
46+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
47+ run : |
48+ TAG="v${{ steps.version.outputs.version }}"
49+ if [[ "${{ inputs.overwrite }}" == "true" ]]; then
50+ gh release delete "$TAG" --yes --cleanup-tag 2>/dev/null || true
51+ fi
52+ gh release create "$TAG" \
53+ --title "$TAG" \
54+ --generate-notes \
55+ dist/github-notifier-pro-chrome.zip \
4856 dist/github-notifier-pro-firefox.zip
0 commit comments