Add changenotes.mts assemble command to move changenotes to CHANGELOG.md - #4155
Conversation
Changing `NO_CHANGES_STR` to just be the text will make it easier to insert/use. To not break anything, I added the deleted newlines to the locations where `NO_CHANGES_STR` was used.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Empty or invalid inputs can mutate the changelog, and deletion failures can leave a partially completed flush.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 3
Open (3)
What changed in this PR
Adds a development command to move unreleased changenotes into CHANGELOG.md.
Changes:
- Adds the
changenotes.mts flushcommand. - Adds changelog insertion helpers and unit tests.
- Normalizes the default no-changes placeholder.
| File | Description |
|---|---|
pr-checks/changenotes.mts |
Implements changenote flushing and deletion. |
pr-checks/changelog.ts |
Adds unreleased-section insertion logic. |
pr-checks/changelog.test.ts |
Tests header parsing and insertion behavior. |
pr-checks/bundle-changelog.test.ts |
Updates assertions for the normalized placeholder. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
36485ce to
ff33914
Compare
mbg
left a comment
There was a problem hiding this comment.
Thanks for preparing this! I think functionally this looks fine, but as always, I have had a few comments and suggestions on the details of this initial implementation.
This will be used by the `pr-checks/changenotes.mts` script to "compile" the latest release entry of CHANGELOG.md.
This command will "flush" or move the changenotes in the `unreleased-change-notes` directory to the `[UNRELEASED]` section of the CHANGELOG.md file.
ff33914 to
977b29b
Compare
changenotes.mts flush command to move changenotes to CHANGELOG.mdchangenotes.mts assemble command to move changenotes to CHANGELOG.md
mbg
left a comment
There was a problem hiding this comment.
Thanks for addressing the feedback! This continues to look good in terms of functionality. I have a few more comments with minor suggestions and there was an inconsistency or two I spotted, but I don't think there's anything major that's blocking this, so I am happy to approve.
Co-authored-by: Michael B. Gale <mbg@github.com>
Co-authored-by: Michael B. Gale <mbg@github.com>

This PR extends the
pr-checks/changenotes.mtsfunctionality by adding anassemblecommand that will be used to "flush" (or empty the contents ofunreleased-change-notes) to the[UNRELEASED]section ofCHANGELOG.md.This PR also replaces the use of constants
0and1for process exit codes with theExitCodetype from@actions/core.Risk assessment
For internal use only. Please select the risk level of this change:
Which use cases does this change impact?
Workflow types:
Products:
Environments:
How did/will you validate this change?
.test.tsfiles).If something goes wrong after this change is released, what are the mitigation and rollback strategies?
How will you know if something goes wrong after this change is released?
Are there any special considerations for merging or releasing this change?
Merge / deployment checklist