Repository navigation
ci: skip unit and integration suites on changeset release PRs - #831
Conversation
A release PR (changeset-release/main) only touches manifests and changelogs — the code it carries is identical to what just finished green on main, and the squash-merge runs the full suite on main anyway (checks.yml push trigger). Keeping lint, build check and commitlint on the release PR preserves the branch-protection signal while dropping the two long suites (unit + integration/docker). Same gate shape as changeset-check already uses (github.head_ref != 'changeset-release/main').
|
[Medium impact] This PR appears safe to merge.
|
Coverage Report for CI Build 38793679133Coverage decreased (-0.006%) to 74.488%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
What
On changeset release PRs (
changeset-release/main), the two long test jobs — Unit Tests And Coverage and Integration Tests and Coverage — are now skipped. Lint, build check, commitlint and the changeset gate still run.Why
A release PR only touches manifests and changelogs (measured on #827: zero files under
src/; diff =package.json,pnpm-lock.yaml, changelogs, changeset files). The code it carries is identical to what just finished green on main, and the squash-merge fires the fullchecks.ymlsuite on main via thepushtrigger anyway — so the release-PR test run re-proves nothing and costs ~20 min of runner time per release.github.head_refis empty on push events, so the gate is a no-op on main pushes and container publishing is untouched.Same gate shape
changeset-checkalready uses (github.head_ref != 'changeset-release/main').Verification
ifexpressions validated against the workflow's own needs/outputs graph.skipped— required checks still report (skipped counts as satisfied for these two), so branch protection still passes the merge button.changeset-release/main).