Migrate changelog management to hark - #2289
Draft
xavdid wants to merge 2 commits into
Draft
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.
Why?
Historically, we've maintained our
CHANGELOG.mdsemi-by-hand. Our release script automatically pulls in PRs made since the last release, but otherwise dumps everything into a big markdown file that the release captain edits manually while the release is running. There's no opportunity to holistically edit the notes ahead of time and PR authors don't always write with a changelog reader in mind. Plus, all PRs go into the changelog, so it was incumbent on the captain to determine which were actually user-facing.So, we've built out a CLI tool to better manage this process: hark.
This PR migrates this repo from the manual changelog to a fully
hark-managed system. There's no impact to the actual SDK. This only affects us as the developers.Important
For reviewers: while there is some diff in the changelog, it's limited to new versions (which were missing before), small prose fixes, and minor bullet reordering within releases. The new changelog is intended to be a superset of the original's content, but doesn't aim to match it letter-for-letter.
Note
CI will fail on this PR while https://github.com/stripe/hark is still private. We'll flip that to public very soon (see https://go/j/RUN_CODE-15185)
Afterwards, this PR will still have a failing CI job because it includes breaking changefiles but no migration guide. I'll just merge through that, since this is a one-time import.
What?
.harkdirectory, which holds all the information needed to generate a changelog:versions.jsonwhich lists every release, its release date, and the pinned API version (if present).change.mdfilesintro-<version>.mdfileshark buildto transitionCHANGELOG.mdinto a generated file## Changelog## Configurationsectionchangelog.ymlto enforce changelog related rules:stripe/hark/*.harkisn't shipped with the SDK itselfSee Also
Configuration
skip-changefile: This PR does not need a changefile. (requires CI re-run)