release: promote beta to main (publish v2.15.0) - #2084
Merged
Merged
Conversation
Pin conventional-changelog-conventionalcommits to 9.3.1, the last release on the conventional-changelog-writer@8 line that @semantic-release/release-notes-generator@14 actually ships. ccc 10.x emits JS-function partials that handlebars renders as an empty changelog rather than throwing, which is why every release back to at least v2.14.0 has a hollow auto-generated section; ccc 10.3.0 turned that silent failure into a loud one, so the dev-dependencies bump exposed the bug rather than causing it. Stop release.yml from swallowing the semantic-release exit code. A crash and a clean "no relevant commits" run were indistinguishable, so the job reported success with new-release-published=false and every downstream job skipped -- that is how v2.15.0 merged to main without ever being published. Fixes #2082 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-Authored-By: Claude product-architect <noreply@anthropic.com>
Contributor
|
🎉 This PR is included in version 2.15.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Summary
Second promotion for v2.15.0. The content of this release already merged to
mainin #2075 (merge commitdf45a58b), but it was never published —semantic-releasecrashed and the workflow reported success anyway. This promotion carries the one commit that fixes that, somaincan actually cut the release.What happened
Releaseran ondf45a58b, correctly chose version 2.15.0, then died ingenerateNotes:Because the step ran
npx semantic-release 2>&1 || trueand decided the outcome by grepping stdout forCreated tag v, a crash was indistinguishable from "no releasable commits". The job went green withnew-release-published=false, andMerge Back to Beta, Docker publish, Docker Scout, and Docs Deploy all skipped. Full detail in #2082.Nothing was published for v2.15.0: no git tag, no GitHub Release, no
steilerdev/cornerstone:2.15.0/:2.15/:latestimages, no docs deploy.Changes
Fixes
fix(release)(c7c10441, closes Release workflow publishes nothing and reports success: semantic-release generateNotes crash (v2.15.0 never released) #2082) — pinsconventional-changelog-conventionalcommitsto9.3.1and stopsrelease.ymlswallowing thesemantic-releaseexit code.Why
9.3.1and not simply reverting the bumpThe bug is older than the crash.
conventional-changelog-writer@8is handlebars-based and expects partials as template strings; writer 9 replaced handlebars with@conventional-changelog/template, whose partials are JS functions. ccc 10.x emits function partials while@semantic-release/release-notes-generator@14still pins writer^8— and handing functions to handlebars doesn't throw, it renders an empty changelog.That is why release notes have been hollow for months:
v2.15.0-beta.6v2.15.0-beta.5v2.14.0RELEASE_SUMMARY.mdis prependedccc
10.3.0added a deliberate poison pill to turn that silence into a loud failure, so the Dependabot bump exposed the bug rather than causing it. Reverting to10.2.1would have restored the silence, not the notes.9.3.1is the last release on the writer-8 line and keeps every package inside its declared range with nooverrides.Verification — the fix is proven, not assumed
Merging
c7c10441tobetapublishedv2.15.0-beta.7with 1726 bytes of properly grouped notes (Bug Fixes / Documentation / Chores / Continuous Integration), and the downstream jobs that had been silently skipping all ran:Docker Build (linux/amd64),Docker Build (linux/arm64),Docker, andDocker Scoutall succeeded.Change Inventory
Docs / Config
package.json,package-lock.json— ccc10.4.0→9.3.1; lockfile delta is 35 lines, confined to that downgrade plus the orphaned@conventional-changelog/template.github/workflows/release.yml— capture and honour thesemantic-releaseexit status;::errorannotation; distinct "Release Failed" job summary.github/dependabot.yml— narrowversion-update:semver-majorignore for that one package.claude/agent-memory/product-architect/**— toolchain notesReviews
conventional-changelog-*,compare-func,semantic-release, orrelease-notes-generator. Confirmed the lockfile integrity hash matches the registry, the Dependabot ignore is appropriately narrow with a concrete removal condition, and the workflow change does not widen what reaches public logs.Expected on merge
Releaseruns onmainand publishes v2.15.0: git tag, GitHub Release (notes enriched fromRELEASE_SUMMARY.md), Docker2.15.0/2.15/latest, docs site deploy, and the automated merge-back PR intobeta.Validation
The application code is unchanged from #2075, which was already validated and approved — this promotion touches only release tooling. The v2.15.0 UAT checklist from #2075 still stands, in particular the Diary scenarios on #2060 that have not been walked through.
Testing
docker pull steilerdev/cornerstone:beta🤖 Generated with Claude Code