Publish versioned releases from production - #8
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds an automated production release pipeline that publishes an immutable v1.x.y GitHub Release when production updates the action’s declared version, and updates documentation/contracts to make package.json the single source of release versioning.
Changes:
- Introduces a new
Publish releaseworkflow that runs onproductionpushes, validates the release candidate, creates a semantic GitHub Release, and notifies#rabbit-support. - Adds
package.json(version1.0.3) plus amake testvalidation step to enforce thatpackage.jsonversion matches the first semanticCHANGELOG.mdheading. - Updates release documentation and README guidance to align with the new automated release flow and handoff procedure.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates release guidance to reference package.json as the release-version source and CHANGELOG as release notes. |
| package.json | Adds a release manifest with semantic version 1.0.3 used as the automated release source of truth. |
| Makefile | Adds validate-release-version and validates the new workflow YAML. |
| docs/releasing.md | Reworks the release process doc to describe automated production releases + Marketplace handoff. |
| CHANGELOG.md | Adds v1.0.3 entry with notes matching the new release automation. |
| AGENTS.md | Updates contributor/release standards to reflect version+changelog requirements and automated publishing. |
| .rabbit/repo.yaml | Refreshes Rabbit CI context including the new workflow and required Slack secret. |
| .github/workflows/publish-release.yml | Adds the production push workflow that validates, publishes the GitHub Release, and sends Slack notification. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.
Suppressed comments (1)
docs/releasing.md:18
- docs/releasing.md says the
Publish releaseworkflow “does nothing unless that push changes package.json; then it runs make test”, but the workflow runsmake testunconditionally before checking whether package.json changed. This makes the docs inaccurate (either update the docs or reorder the workflow steps to match the stated behavior).
The `Publish release` workflow runs after every `production` push. It does
nothing unless that push changes the `package.json` version; then it runs
`make test`, refuses to reuse an existing tag, and publishes that GitHub
release from the merged commit. The `Verify release` workflow then validates the published tag.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.github/workflows/publish-release.yml:86
- The release-notes validation only checks that the notes file is non-empty (-s). This will pass even if the extracted section contains only blank lines/whitespace, which can result in publishing a release with effectively empty notes.
if [[ ! -s "$notes_file" ]]; then
echo "::error title=Missing release notes::Add release notes below the $release_tag heading in CHANGELOG.md."
exit 1
fi
Summary
package.jsonis version-bumped onproduction#rabbit-supportto complete the Marketplace UI publication after tag verificationValidation
make test(37 passing)npm test(37 passing)rabbit.cicontext refreshRelease impact
Merging this PR publishes
v1.0.3fromproduction. It does not publish to Marketplace or movev1.