From 5f2aef90ab0bc68311e2a18030ad67459eb72147 Mon Sep 17 00:00:00 2001 From: Theo Browne Date: Wed, 5 Aug 2026 02:07:01 -0700 Subject: [PATCH] fix(ci): isolate releases from shared API rate limits --- .github/workflows/release.yml | 18 ++++++------------ docs/operations/release.md | 7 ++++--- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ce47d6e6ed7..a9754f9421b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -747,15 +747,9 @@ jobs: if: ${{ !failure() && !cancelled() && needs.preflight.result == 'success' && needs.build.result == 'success' && needs.publish_cli.result == 'success' }} runs-on: blacksmith-8vcpu-ubuntu-2404 timeout-minutes: 10 + permissions: + contents: write steps: - - id: app_token - name: Mint release app token - uses: actions/create-github-app-token@v2 - with: - app-id: ${{ secrets.RELEASE_APP_ID }} - private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} - owner: ${{ github.repository_owner }} - - name: Checkout uses: actions/checkout@v6 with: @@ -823,7 +817,7 @@ jobs: - name: Publish release if: needs.preflight.outputs.previous_tag != '' - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ needs.preflight.outputs.tag }} target_commitish: ${{ needs.preflight.outputs.ref }} @@ -840,11 +834,11 @@ jobs: release-assets/*.blockmap release-assets/*.yml fail_on_unmatched_files: true - token: ${{ steps.app_token.outputs.token }} + token: ${{ github.token }} - name: Publish first release if: needs.preflight.outputs.previous_tag == '' - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ needs.preflight.outputs.tag }} target_commitish: ${{ needs.preflight.outputs.ref }} @@ -860,7 +854,7 @@ jobs: release-assets/*.blockmap release-assets/*.yml fail_on_unmatched_files: true - token: ${{ steps.app_token.outputs.token }} + token: ${{ github.token }} deploy_web: name: Deploy hosted web app diff --git a/docs/operations/release.md b/docs/operations/release.md index 89c4006bafd..1d8768f59d0 100644 --- a/docs/operations/release.md +++ b/docs/operations/release.md @@ -34,14 +34,15 @@ This document covers the unified release workflow for stable and nightly desktop ## Required release credentials -The release workflow requires these GitHub Actions secrets in addition to the platform and deployment +Stable releases require these GitHub Actions secrets in addition to the platform and deployment credentials documented below: - `RELEASE_APP_ID` - `RELEASE_APP_PRIVATE_KEY` -The GitHub Release job uses them to mint the token that publishes release assets. Stable releases use -them again in the finalize job, which can commit and push aligned package versions to `main`. +The finalize job uses them to commit and push aligned package versions to `main` as the Release App. +GitHub Release publication uses the repository-scoped workflow token so it has a rate-limit quota +independent from the shared Release App installation. ## T3 Connect relay deployment