chore(release): v0.47.0 - #269
Conversation
|
Closing as spurious. There are zero commits on Root cause is a workflow race, not a bad merge: Fixed in #271 (job-level guard skipping release-please on release-commit pushes, |
…ce (#271) ## Summary - skip the Release Please job on squash release-commit pushes while preserving manual dispatch - pin the guard in the existing release-please safety-contract test - prevent the tag-creation race that produced the spurious v0.47.0 release PR #269 ## Root cause `release-please.yml` and `release.yml` both run on the merged release commit. The Release Please run can scan before `release.yml` creates the new tag, conclude that no latest release exists, and backfill repository history into a bogus next release PR. Release Please is PR-only here (`skip-github-release: true`), so it has no work to perform on the release commit itself. The next conventional commit runs after the tag exists; `workflow_dispatch` remains available for manual recovery. ## Accepted residual If a feature reaches `main` after Release Please last updated the release PR but before that release PR merges, skipping the release-commit push means the feature waits for the next `main` commit or a manual dispatch before appearing in the next release PR. This fails quiet and self-heals; it replaces the current behavior of generating a history-replay release PR. ## Verification - `python3 scripts/test_release_please_config.py` - `yamllint -d '{extends: relaxed, rules: {line-length: disable, truthy: disable}}' .github/workflows/release-please.yml` - `go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/release-please.yml` - `git diff --check` - `make ci` Peer-reviewed by Claude before commit; PASS with the accepted residual above called out explicitly.
🤖 I have created a release beep boop
0.47.0 (2026-07-22)
Features
coop execcommand, remove shell/start, .amqrc in defaultRoot (04419e9)Bug Fixes
Dependencies
This PR was generated with Release Please. See documentation.