Skip to content

fix(release): skip unrebased PRs in trusted version preparation - #49

Merged
przeprogramowani merged 1 commit into
masterfrom
fix/cli-release-recovery-20260916
Sep 16, 2026
Merged

przeprogramowani merged 1 commit into
masterfrom
fix/cli-release-recovery-20260916

Conversation

@przeprogramowani

Copy link
Copy Markdown
Owner

Cause

Hosted Prepare version (#47) failed after #48 merged. That job is version preparation, not npm publish and not Toolkit. prepare-version.yml on master push enumerates every open PR. PR #47 (and #2) still have base.sha at pre-#48 master and do not contain current master, so validatePullRequest / merge-base --is-ancestor reject, and the entrypoint hid that as Trusted version preparation rejected. Same-head CI of #48 succeeded. npm remains 1.22.0; 1.22.1 is unpublished on master.

This is the same class as D56 (stale open PR vs advanced master). A classified non-zero exit would stay persistently red on every later master push.

Change

  • Typed BranchUpdateRequiredError for stale REST base and ancestry exit 1.
  • reconcileVersionEvent logs it, writes no Git objects and no preparation record, and continues.
  • Invalid baseline, missing objects, and identity/fork failures still fail the job.
  • Unexpected errors now print the real message.

PR #47 QualityLoop is untouched. No publish/tag/release/Toolkit mutation.

Toolkit

Automatic wake-coordinator on every CLI master push is not required for this stage or for the proven direct publish-npm.yml path. Removing it needs GitHub workflow scope (this token cannot update .github/workflows/ci.yml). Dispatch-only coordinated receipt is kept.

Local proof

Isolated WT from 95fc5f43948e06a4206cf53a812fd493a5619da3. Node 22.14.0, bun 1.3.8, isolated npm 11.12.1. Live SHA replay: first guard is now BranchUpdateRequiredError, 0 writers, reconcile returns null. bun test tests/*.test.ts 795 pass; typecheck; lint 0 errors; validate:cli-skills; actionlint on changed workflows; both builds; 31 smoke.

Not in this PR

Publication of unpublished 1.22.1, merge of #47, Toolkit source, coordinator dispatch.

Master push enumerated every open PR and failed Prepare version when
the PR had not integrated current master. Classify that as a branch
update, write no record, and continue so unrelated open PRs cannot
turn the trusted writer red.
@przeprogramowani
przeprogramowani merged commit d21ba2d into master Sep 16, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants