diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3612b39..174d7e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,13 +16,9 @@ env: REPO: git-graph jobs: - release: - name: Release for ${{ matrix.os }} + build: + name: Build for ${{ matrix.os }} runs-on: ${{ matrix.os }} - - # Explicitly grant GITHUB_TOKEN write access to attach binaries to the release - permissions: - contents: write strategy: matrix: @@ -57,22 +53,41 @@ jobs: - name: Compress run: | cp -f target/release/$REPO${{ matrix.bin_extension }} . - tar -czf release.tar.gz $REPO${{ matrix.bin_extension }} + ARCHIVE="$REPO-$RELEASE_VERSION-${{ matrix.os_name }}.tar.gz" + tar -czf $ARCHIVE $REPO${{ matrix.bin_extension }} shell: bash - name: Archive build artifacts uses: actions/upload-artifact@v7 with: name: ${{ env.REPO }}-${{ env.RELEASE_VERSION }}-${{ matrix.os_name }} - path: release.tar.gz + path: ${{ env.REPO }}-${{ env.RELEASE_VERSION }}-${{ matrix.os_name }}.tar.gz + if-no-files-found: error + + release: + name: Create GitHub draft release + if: startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + needs: build - - name: Upload binaries to release - if: startsWith(github.ref, 'refs/tags/') - uses: svenstaro/upload-release-action@v2 + # Explicitly grant GITHUB_TOKEN write access to attach binaries to the release + permissions: + contents: write + + steps: + - name: Download build artifacts + uses: actions/download-artifact@v7 with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: release.tar.gz - asset_name: ${{ env.REPO }}-${{ env.RELEASE_VERSION }}-${{ matrix.os_name }}.tar.gz - tag: ${{ github.ref }} - overwrite: true - draft: true + pattern: ${{ env.REPO }}-${{ github.ref_name }}-* + path: artifacts + merge-multiple: false + + - name: Create draft release + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ github.ref_name }} + run: | + gh release create "$TAG" \ + --draft \ + --title "$TAG" \ + artifacts/*/*.tar.gz diff --git a/CHANGELOG.md b/CHANGELOG.md index 4631f95..23b82de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,11 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [unreleased] - Next Date -## [0.8.2] - 2026-10-26 +## [0.8.2] - 2026-10-27 ### Changed -- Grant github release workflow permission to write binaries +- Grant github release workflow permission to write binaries. +- Split release workflow in two jobs. ## [0.8.1] - 2026-10-25