You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Manual releases were error-prone in practice: v1.0.1 got tagged without
package.json ever being bumped to match, and I had to hand-fix that drift
today. Replace the whole manual tag-and-bump flow with release-please:
- release-please-config.json / .release-please-manifest.json (seeded at the
current 1.0.2): release-type 'simple', extra-files keep server+client
package.json AND package-lock.json (both the top-level and nested
packages[''].version fields) in lockstep automatically.
- release-please.yml runs on every push to main, maintaining one standing
Release PR (version + changelog from feat:/fix:/deps:/etc. commits since
the last release) and auto-merging it once required CI passes — that merge
is what cuts the git tag + GitHub Release.
- release.yml no longer creates the GitHub Release itself (release-please
does, with a much better categorized changelog); it still builds :latest on
every main push and pinned :X.Y.Z/:X.Y images off the tag release-please
creates.
- CONTRIBUTING.md documents the commit-prefix convention (feat/fix/deps/...
vs docs/chore/refactor/... which don't trigger a release) and the new
fully-automated flow, with a one-line note on how to switch to a
manual-merge gate instead of full auto-merge if ever wanted.
Verified: config/manifest JSON valid, all workflow YAML valid, the extra-files
jsonpaths resolve against the real lockfiles (checked with jq), server tests
still 111/111.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Lj6nYJQDtLaZFvvEQJGM4
0 commit comments