fix(ci): render every commit type in the changelog - #3137
Merged
Merged
Conversation
Contributor
Coverage Report for ./packages/components/
File CoverageNo changed files found. |
Contributor
🚀 Preview DeploymentPreview environments are ready:
Images:
|
`changelogPreset` was the bare string `conventionalcommits`, and that preset hides `docs`, `style`, `chore`, `refactor`, `test`, `build` and `ci`. A release those types triggered therefore had nothing to write and Lerna emitted "**Note:** Version bump only" — four of the first fourteen post-1.0 releases. Release relevance is decided by PATH, the changelog by TYPE, so the two could never agree (#3023): `chore(deps): bump …` changes what consumers resolve, and a `docs:` commit on a shipped `AGENTS.md` really does change the tarball (#2954 cut 1.0.11). If a commit was worth a release it is worth a line. `changelogPreset` becomes an object that respells the full `types` list with every `hidden` dropped. Unhiding changes nothing about the bump: without `bumpStrict` the preset's `whatBump` returns patch for any non-empty commit range regardless. `changelog-preset.test.mjs` asserts every type renders, against the preset's own `writer.transform` — no git history, no rendering. It runs in `test.yml` with the other `.github/scripts` suites. What stays unrenderable, and is documented rather than fixed: a release whose cause lies outside every package — `pnpm-lock.yaml`, the root manifest, `lerna.json`. Lerna attributes commits per package, so with no package changed every changelog honestly reads "Version bump only". 1.1.11 is the live example, a lock-only Rollup bump. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mfal
force-pushed
the
ci/changelog-render-every-type
branch
from
September 8, 2026 14:18
1622d7b to
50f55e3
Compare
mfal
enabled auto-merge (squash)
September 8, 2026 14:20
ins0
approved these changes
Sep 9, 2026
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.
changelogPresetwas the bare stringconventionalcommits, and that preset hidesdocs,style,chore,refactor,test,buildandci. A release one of those types triggered therefore had nothing to write, and Lerna emitted "Note: Version bump only" — four of the first fourteen post-1.0 releases.Release relevance is decided by path, the changelog by type, so the two could never agree (#3023). A type gate on relevance is not the answer either:
chore(deps): bump …changes what consumers resolve, and adocs:commit on a shippedAGENTS.mdreally does change the tarball (#2954 cut 1.0.11). If a commit was worth a release, it is worth a line.lerna.jsonnow configureschangelogPresetas an object and respells the fulltypeslist with everyhiddendropped. Unhiding changes nothing about the bump: withoutbumpStrictthe preset'swhatBumpreturns patch for any non-empty commit range regardless..github/scripts/changelog-preset.test.mjsasserts every type renders — against the preset's ownwriter.transform, which needs no git history and no rendering. It runs intest.ymlwith the other.github/scriptssuites.What stays unrenderable
Documented rather than fixed: a release whose cause lies outside every package —
pnpm-lock.yaml, the root manifest,lerna.json. Lerna attributes commits per package; with no package changed, every changelog honestly reads "Version bump only". 1.1.11 is the live example, a lock-only Rollup bump.This PR is itself such a case: it touches
lerna.json, which is publish-relevant by path, so it will cut a version whose changelogs say exactly that.The #3083 anomaly, resolved
1.1.6 shows a
fix(codemods):entry in the components changelog because #3041 regeneratedpackages/components/MIGRATION.md— components genuinely changed. #3040 (1.1.1) touched no package butcodemodsand correctly reads "Version bump only". The per-package attribution is consistent; only the rendered scope is the commit's, never the changelog's package.Split out of #3098
That PR carried three changes. This is the changelog half — orthogonal to the path classifier in #3098, which decides whether a release happens rather than what it says.
Fixes #3083. Part of #3023 — the type half.
🤖 Generated with Claude Code