Conversation
…insert Cuts the manual cleanup the biweekly release-notes ticket absorbs by hand: collapse the same change repeated across commits (PR + backmerge + cherry-pick), strip Linear/JIRA refs before they reach the public page, and no-op insert when the version already exists so a redelivered dispatch can't double-insert. Also run the generator's test suite in pr-checks CI (previously unrun) and add a drift guard for unmapped release-please sections.
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.
What
Three mechanical improvements to the release-notes generator (
scripts/changelog-from-release.mjs) thatchangelog-sync.ymlruns on everyplatform-releasedispatch. These cut the manual cleanup the biweekly release-notes ticket currently absorbs by hand, without touching editorial voice (the AI-rewrite approach in #787 was deliberately closed — voice stays a human pass).1. Collapse duplicate bullets
release-please emits one bullet per commit, so a change that lands via PR + backmerge + cherry-pick shows up 2–3 times. The generator now keeps the first and drops identical repeats (ignoring commit/PR trailer,
**scope:**prefix, ticket ref, case, whitespace when comparing).2. Strip internal ticket refs
Linear/JIRA-style refs (
(TH-7938),TH-7897,(ABC-123)) that ride along in commit subjects are removed before they reach the public page. Per TH-7827: internal tracking refs are not user-facing.3. Idempotent insert
insert()now no-ops if the version section already exists, so a redelivered or retriedrepository_dispatchcan't double-insert.Live proof — regenerating the current
v1.38.2release body:Before (raw): 4 bullets — the dashboards change 3×, two carrying
(TH-7938).After: 2 clean bullets, zero
TH-refs.Also
pr-checks.ymlgained achangelog-transform-testjob — previously the tests existed but nothing ran them, so a regression in the release-notes generator could ship silently.release-pleasesection is ever left unmapped (the "silently dropped from the page" footgun the code comments already warned about).Test
node --test scripts/changelog-from-release.test.mjs— 9/9 pass (4 pre-existing + 5 new). Node built-ins only; no new deps.