diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 985b8fd2..b43f8493 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,11 @@ name: Release on: workflow_dispatch: + inputs: + tag: + description: 'Release tag (e.g. v1.0.0)' + required: true + default: 'v0.9.18' push: tags: - v*.*.* @@ -16,10 +21,21 @@ jobs: strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest] + fail-fast: false steps: - name: Check out Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Get release tag + id: get-tag + shell: bash + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT + else + echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + fi - name: Install Node.js uses: actions/setup-node@v3 @@ -53,7 +69,7 @@ jobs: yarn build:linux env: - GH_TOKEN: ${{ secrets.GH_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Mac if: matrix.os == 'macos-latest' @@ -66,13 +82,13 @@ jobs: APPLE_ID: ${{ vars.APPLE_ID }} APPLE_APP_SPECIFIC_PASSWORD: ${{ vars.APPLE_APP_SPECIFIC_PASSWORD }} APPLE_TEAM_ID: ${{ vars.APPLE_TEAM_ID }} - GH_TOKEN: ${{ secrets.GH_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Build Windows if: matrix.os == 'windows-latest' run: yarn build:win env: - GH_TOKEN: ${{ secrets.GH_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Replace spaces in filenames run: node scripts/replace-spaces.js @@ -83,5 +99,6 @@ jobs: draft: true allowUpdates: true makeLatest: false + tag: ${{ steps.get-tag.outputs.tag }} artifacts: 'dist/*.exe,dist/*.zip,dist/*.dmg,dist/*.AppImage,dist/*.snap,dist/*.deb,dist/*.rpm,dist/*.tar.gz,dist/latest*.yml,dist/*.blockmap' - token: ${{ secrets.GH_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }}