Repository navigation
feat(release): write reviewed V2 release notes to CHANGELOG.md - #53964
Merged
Merged
Conversation
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.
Issue for this PR
None. This is a release-tooling feature.
Type of change
What does this PR do?
V2 releases publish a tag, not a GitHub Release, so the reviewed release notes were only sent to Discord. This PR saves them in a root
CHANGELOG.mdonv2, newest first, so a site can read them later.CHANGELOG.mdhas a short header. Each entry is## <tag> — <UTC date>followed by the reviewed notes, unchanged.publish.yml, therelease_notesinput reaches./script/publish.tsas theOPENCODE_RELEASE_NOTESenvironment variable. It is set only whengithub.ref_name == 'v2', and passing it through the environment means the markdown never goes through shell interpolation.script/publish.ts, a newwriteChangelog()runs aftergit checkout -B v2 origin/v2on the stable release path. Its entry goes into the existingsync release versions for <tag> [skip ci]commit, so there is no extra commit and no deploy trigger. It skips empty or missing notes, and skips tags that already have an entry, so re-runs are safe.Follow-ups, not in this PR:
/changelogsite page that fetches the raw file with stale-while-revalidate.^## v\d, because a##heading inside the notes would break a plain split.How did you verify your code works?
writeChangelog()fromscript/publish.tsand ran it against a copy ofCHANGELOG.md. Newer entries were prepended, a duplicate tag was skipped, blank and missing notes wrote nothing, and backticks,$(...)and quotes came through unchanged.bun run check(lint and typecheck) passes. Prettier is clean on all three files.Screenshots / recordings
N/A
Checklist
— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊