THRIFT-5973: Add gen-changes.py script and CI workflow to automate CHANGES.md generation#3521
Conversation
Code reviewFound 5 issues:
Lines 135 to 161 in f8246e5
Lines 455 to 459 in f8246e5
Lines 135 to 161 in f8246e5
Lines 791 to 795 in f8246e5 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
9b40e5f to
b52afe8
Compare
…neration Client: build Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
build/gen-changes.py— a script that generates aCHANGES.mddraft by combining git commit history, JIRA ticket summaries (via the public JIRA REST API), and GitHub PR metadata (labels and commit→PR resolution via the GitHub API).github/workflows/generate-changes.yml— a CI job that runs the script on every push tomasterandrelease/**branches (upstream repo only) and on manualworkflow_dispatchwith an optionaljira_versioninput; uploads the result as a 3-day build artifact namedchanges-draft.gitignoreexception forbuild/gen-changes.py(matched by the existinggen-*pattern intended for compiler output directories)How it works
The script has three complementary data sources:
v*tag to the branch tip, extractsTHRIFT-NNNNreferences, and groups ticket-less commits by theirClient:trailer--jira-versionis given): queries all tickets with thatfixVersionfor the authoritative release listClient:trailer, fetches PR labels to determine the CHANGES.md section; with--github-token, also resolves commit→PR links for commits whose subject lacks the standard(#NNN)suffixTest plan
python3 build/gen-changes.pylocally and review output--github-tokento verify commit→PR link resolution and label fetching--jira-version 0.24.0to verify JIRA fixVersion querygenerate-changesworkflow appears in Actions and produces a downloadable artifact after merge🤖 Generated with Claude Code