diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8827876b3829f..ec5ec6b15a6ba 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,9 +48,11 @@ jobs: # triggering commit. Manual stable releases build the commit of the latest # published nightly, so stable only ever ships a build that nightly users # have already run. Scheduled runs also decide here whether a nightly is due. + # The PAUSE_NIGHTLY repository variable skips scheduled runs only; every later + # job needs this one, so a skip here skips the whole run. resolve_commit: name: Resolve release commit - if: github.repository == 'pingdotgg/t3code' + if: github.repository == 'pingdotgg/t3code' && (github.event_name != 'schedule' || vars.PAUSE_NIGHTLY != 'true') runs-on: blacksmith-8vcpu-ubuntu-2404 timeout-minutes: 5 outputs: diff --git a/docs/operations/release.md b/docs/operations/release.md index be74b2ad2982e..bd7365d141357 100644 --- a/docs/operations/release.md +++ b/docs/operations/release.md @@ -414,6 +414,7 @@ One-time Vercel dashboard setup: - scheduled check every 30 minutes - manual `workflow_dispatch` with `channel=nightly` - Automatic nightlies require new commits and at least six hours since the last nightly was published, including manual nightlies. +- To pause automatic nightlies, run `gh variable set PAUSE_NIGHTLY -b true -R pingdotgg/t3code`. Scheduled runs then skip. Stable, preview, and manual nightly runs are unaffected. Resume with `gh variable delete PAUSE_NIGHTLY -R pingdotgg/t3code`. - Manual nightlies bypass the time and change checks. Nightly runs remain serialized. Scheduled runs wait for an active nightly to finish, then check the publication gap before building. - Runs the same desktop quality gates and artifact matrix as the tagged release flow. - Publishes a GitHub prerelease only: