ci(release): honest dispatch, drop chore-release rule, explicit version bump - #1235
Conversation
…t version bump - release.yml: remove the inert `releaseType`/`preRelease` dispatch inputs and the invalid `--release-as`/`--prerelease` flags (not real semantic-release v24 flags); remove the dead `repository_dispatch` trigger and the now-tautological validate step. Detect a real release by HEAD advancing (fixes the prior exit-code-of-echo bug). - Drop the `chore -> patch` releaseRule: only feat/fix/perf trigger releases now. - Replace the implicit @semantic-release/npm version lifecycle hook with an explicit @semantic-release/exec step (`node version-bump.mjs <version>`) so the manifest.json / versions.json bump is legible in config instead of spooky-action-at-a-distance. version-bump.mjs now reads the version arg; the `version` npm script is removed. Validated: version-bump.mjs <v> writes manifest/versions; build + 1083 tests pass. The exec prepare path only fully runs on a real release (dry-run skips prepare), so the first post-merge release is the final validation.
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughRelease automation is refactored to remove manual dispatch parameters and validation gates. The workflow now detects releases by comparing git HEAD before and after semantic-release execution, and version bumping is migrated from an npm lifecycle script to a semantic-release exec plugin that passes the version as a CLI argument. ChangesRelease Automation Refactoring
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
🎉 This PR is included in version 2.13.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Reworks the release pipeline per the agreed decisions (round 2).
Changes
releaseType/preReleaseinputs + the invalid--release-as/--prereleaseflags (semantic-release v24 has neither — the 'pre-release' path silently cut a normal release). KeptdryRun. Removed the deadrepository_dispatchtrigger and the tautological validate step.releasedis now true only when HEAD advances (the @semantic-release/git commit), fixing the prior$?-of-echo bug and the 'notify on no-op' case.chore -> patchrule: only feat/fix/perf trigger releases now.versionlifecycle hook with an explicit@semantic-release/execstep (node version-bump.mjs \${nextRelease.version}).version-bump.mjsnow takes the version as an arg; theversionnpm script is removed. Manifest/versions bumping is now legible in config.Validation
node version-bump.mjs 2.99.99writes manifest+versions correctly (reverted) · build OK · 1083 tests pass · config loads. A dry-run dispatch on this branch validates plugin resolution; the exec prepare path only fully runs on a real release (dry-run skips prepare), so the first post-merge release is the final check.Summary by CodeRabbit