Skip to content

fix(ci): resolve the default branch before the ancestry check - #277

Merged
steipete merged 1 commit into
mainfrom
steipete/fix-release-ancestry
Aug 3, 2026
Merged

fix(ci): resolve the default branch before the ancestry check#277
steipete merged 1 commit into
mainfrom
steipete/fix-release-ancestry

Conversation

@steipete

@steipete steipete commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

The v0.13.0 release reached npm publication and failed the tag guard:

##[error]Tagged commit 49dcd3e7fffd5270b2dfcb554c3a0236fc8fe9fe is not contained in origin/main.

The commit is plainly on main — the guard couldn't see it. Two compounding causes in one line:

  1. The job checks out ref: <tag>, so refs/remotes/origin/main never exists in that checkout.
  2. It fetched the branch as git fetch --no-tags origin "$DEFAULT_BRANCH" --depth=1, which lands in FETCH_HEAD without creating the tracking ref — and a depth-1 fetch could not answer an ancestry question even if the ref did exist.

Now fetched as +refs/heads/<branch>:refs/remotes/origin/<branch> with full history, which is what git merge-base --is-ancestor actually requires.

The guard behaved correctly in the sense that mattered: it failed before publication, so nothing was half-released — npm is still on 0.12.4 and the published GitHub Release with its verified assets is untouched. Per docs/RELEASE.md, recovery is a manual Release dispatch with the same tag, which repeats every tag, main, native-proof, source-gate, npm and Homebrew check.

Verified with actionlint (clean).

🤖 Generated with Claude Code

The release job checks out the tag, so no remote-tracking ref for the default
branch exists, and the guard fetched it with --depth=1 into FETCH_HEAD only.
git merge-base --is-ancestor then failed on a commit that is plainly on main,
blocking v0.13.0 publication after the native gate had already passed.

Fetch the branch into refs/remotes/origin/<branch> with full history, which is
what the ancestry question actually needs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@steipete
steipete merged commit 92958bb into main Aug 3, 2026
5 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.

1 participant