Skip to content

fix(release): finalize v4.1.0 through protected main - #568

Merged
kjgbot merged 3 commits into
mainfrom
codex/finalize-burn-4.1.0
Sep 20, 2026
Merged

kjgbot merged 3 commits into
mainfrom
codex/finalize-burn-4.1.0

Conversation

@kjgbot

@kjgbot kjgbot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

What changed

  • records the verified 4.1.0 version, changelog, and refreshed lockfile generated by publish run 35523276633
  • pushes immutable release tags separately from the generated release commit
  • sends future generated release metadata through a release PR instead of writing directly to protected main
  • keeps release-PR creation non-blocking after registry publication

Why

The 4.1.0 recovery successfully verified all npm artifacts, waited for registry propagation, refreshed the lockfile, and passed pnpm install --frozen-lockfile. Its last step still failed because git push origin HEAD --follow-tags attempted a direct update to protected main. The tags were pushed, but the release job was marked failed.

Validation

  • workflow YAML parses
  • actionlint passes (existing SC2086 baseline ignored)
  • git diff --check passes
  • publish run 35523276633 passed package comparison, registry propagation, refreshed lockfile, and frozen-lockfile verification before the protected-branch rejection

Note

High Risk
Changes the publish pipeline’s git finalization path and ships full 4.1.0 version metadata; mistakes could block merges to main or confuse release recovery, though tag immutability checks reduce retag risk.

Overview
Fixes publish failures when main is branch-protected by no longer pushing the version/changelog/lockfile commit directly. The workflow now finalizes immutable release tags and a release/v<version> branch in one atomic push, then opens (or reuses) a PR into main for release metadata. Recovery runs reuse existing tags/branches only when the release tree matches, and PR creation is continue-on-error so a failed PR does not undo a successful registry publish.

This PR also records the verified 4.1.0 release: lockstep bumps across Rust/npm packages, promoted changelog entries, and pnpm-lock.yaml pins for published optional platform deps. Workflow pull-requests: write was added for gh pr create.

Reviewed by Cursor Bugbot for commit dd48b09. Bugbot is set up for automated code reviews on this repo. Configure here.

github-actions Bot and others added 2 commits September 20, 2026 16:44
…in-x64@4.1.0 @relayburn/cli-linux-arm64-gnu@4.1.0 @relayburn/cli-linux-x64-gnu@4.1.0 @relayburn/sdk-darwin-arm64@4.1.0 @relayburn/sdk-darwin-x64@4.1.0 @relayburn/sdk-linux-arm64-gnu@4.1.0 @relayburn/sdk-linux-x64-gnu@4.1.0 @relayburn/sdk@4.1.0 @relayburn/mcp@4.1.0 relayburn@4.1.0
@coderabbitai

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: a5b2930f-3c4d-4e95-afd3-3b78edda44cb


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Devin Review

Comment thread .github/workflows/publish.yml Outdated
@kjgbot
kjgbot merged commit c518a7c into main Sep 20, 2026
13 checks passed
@kjgbot
kjgbot deleted the codex/finalize-burn-4.1.0 branch September 20, 2026 17:01

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit dd48b09. Configure here.

tagged_tree=$(git rev-parse "refs/tags/$tag^{tree}")
if [ "$tagged_tree" != "$expected_tree" ]; then
echo "::error title=Release tag conflict::$tag already exists but its release tree does not match this run. Refusing to move an immutable tag."
exit 1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recovery tree check blocks tag reuse

Medium Severity

Finalize release refs reuses existing tags and release/v* only when the entire HEAD tree matches. Recovery already allows publish.yml to change so a workflow repair can resume, and that delta makes the trees differ, so already-pushed immutable tags are treated as conflicts. The job then fails after registry publish and never opens the metadata PR from the tagged release commit.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit dd48b09. Configure here.

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