Skip to content

fix(release): land the fold and the version raise through pull requests - #168

Merged
leemour merged 1 commit into
mainfrom
fix/release-fold-via-pr
Oct 16, 2026
Merged

leemour merged 1 commit into
mainfrom
fix/release-fold-via-pr

Conversation

@leemour

@leemour leemour commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

Task

bin/release pushed the changelog fold and the version raise straight to main. Branch protection refuses that (GH013), and the script then said "main moved on origin while folding the changelog — run bin/release again", which is wrong.

What

  • The Unreleased fold runs the in-repo cli-dev changelog fold --land (fold on fresh origin/main, PR, conflict check, refold once, merge) — the same path app scripts use through @wirecat/cli-base@0.36.0.
  • The version raise (npm already has the version) lands through a land() helper: branch, PR, wait for checks, squash-merge, fast-forward main — as in max-cli's bin/release. Refused push or merge now says so and that nothing was published.

No CHANGELOG entry: bin/release is not in the published package.

Testing

  • sh -n bin/release; pnpm typecheck && pnpm lint && pnpm test (713 passed); pnpm docs:check.
  • changelog fold --version 0.38.0 on current main: no change, exit 0.
  • land() run against a local bare remote with a stub gh: branch pushed, merged into main, local main fast-forwarded to origin/main.
  • Not run: a real release (another session is releasing 0.38.0).

🤖 Generated with Claude Code

main takes changes only through a pull request (GH013), so bin/release's
direct 'git push origin main' was refused and then misreported as 'main
moved on origin while folding the changelog — run bin/release again'.

- The Unreleased fold now runs the in-repo 'cli-dev changelog fold --land',
  which folds on a fresh origin/main, opens a PR, checks for conflicts,
  refolds once and merges — the path app scripts use since 0.36.0.
- Raising the version when npm already has it lands through a land()
  helper (branch, PR, wait for checks, squash-merge, fast-forward main),
  as max-cli's bin/release does. A refused push or merge now says what
  happened and that nothing was published.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@leemour
leemour merged commit 9eb22aa into main Oct 16, 2026
2 checks passed
@leemour
leemour deleted the fix/release-fold-via-pr branch October 16, 2026 00:08
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