ci: speed up the release loop - #18
Merged
Merged
Conversation
Skip the full build when only opening the version PR, skip Release on unrelated main pushes, and skip CI/Nix on changeset-release/main so auto-merge is not blocked for four minutes. Stop the double publish (PAT merges already emit push; only keep the pull_request fallback for github-actions[bot] merges) and serialize Release on one concurrency group. Leave checkout credentials unset so changesets/action pushes the version branch with CHANGESETS_TOKEN instead of the job token. The job token made those updates github-actions[bot] and parked CI in action_required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issue
No issue. Follow-up to the stalled release run / version PR #16.
Problem
The publish loop was a two-pass round trip that always paid full CI + a full
pnpm build, and sometimes waited on a human:mainpackage.json/ CHANGELOG bumps whose code already passed CI onmainactions/checkoutextraheader used the jobGITHUB_TOKEN, beating changesets/action's PAT.netrc. Updates landed asgithub-actions[bot]and CI sat in action_requiredpush, andpull_requestclosed also fired → two publishes (we saw this on #16)Happy-path wall clock was ~8 min plus an unbounded approval wait. Auto-merge PRs #12–#15 show the version PR is never reviewed — it is only a delay.
What changed
version(pending changesets) skips catalog/build;publish(merge ofchangeset-release/main) does the full build; anything else skips.changeset-release/main. The required aggregateCIjob still runs and passes.pull_requestclosed is only a fallback whenmerged_byisgithub-actions[bot]. PAT merges use thepushevent. One concurrency group, do not cancel in-flight publishes.persist-credentials: false: version-branch pushes go throughCHANGESETS_TOKEN, so follow-up CI is not parked inaction_required.Expected happy path: version PR in ~30s, required CI in ~15s, publish still ~2 min (the build is real). Unrelated main pushes stop spending 2 min in Release.
Not in this PR (say if you want it): drop the version PR and version+publish in one job (~2.5 min total). That fits this repo because the version PR is always auto-merged.
Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update.