DOC: backfill the Unreleased changelog entries the automation missed - #1180
DOC: backfill the Unreleased changelog entries the automation missed#1180ting-hong-shieh wants to merge 1 commit into
Conversation
The last commit to CHANGELOG.md is 5eae273 on 12 August, and the highest pull request it records is RocketPy-Team#1140. Thirty-nine commits have landed on develop since, and none of them is in the file, so [Unreleased] no longer describes the branch. Add the thirty-two that belong there, taken from the merge list and following the file's own rules: Added for new features, Changed for changes to existing behavior, Fixed for bug fixes, and tests left out. The seven TST commits in the gap are therefore not listed. Entries use the pull request title and link, with the issue linked alongside where the commit names one. One entry is a direct commit to develop with no pull request, so it links the commit instead. This does not fix the automation. RocketPy-Team#1173 covers that, and the two causes it identifies are both outside a pull request into develop: the pull_request_target workflow is read from the default branch, which still carries the older file, and RELEASE_TOKEN is resolving to empty.
thc1006
left a comment
There was a problem hiding this comment.
Two numbers in the PR description look stale:
Addedcontains 6 ENH entries and 2 DOC entries, not 7 ENH and 2 DOC.- At this head,
[Unreleased]contains 45 pull links and 20 issue links, not 17 issue links.
The total of 32 new entries and the “no mismatched label vs URL” result are both correct.
|
One policy point before this lands: the changelog header says tests and GitHub maintenance should not be listed, but this backfill excludes TST commits while including #1112, #1123, #1162 and #1163. The updater script also currently inserts CI, TST and MNT entries, so the repository has two conflicting rules. Which rule should this backfill follow? Also, because #1173 is still unfixed, could this branch be refreshed immediately before merge? Otherwise #1177 and any other PR merged after |
|
Both numbers were wrong. Corrected in the description.
Thanks — the second one means my verification was reporting a number I had not actually looked at. Which rule the backfill should followThere are three, not two, and they disagree in different directions:
I followed (3), which is why The backfill should match (2). Whatever the script does is what every future entry will look like once #1173 is fixed, and if the two disagree then this 32-entry stretch becomes the only part of The alternative is to make (1) win and give the script a skip path for It is your call which one is the rule. Say which and I will regenerate the backfill to match, and open the script change separately if it needs one. Refreshing before mergeAgreed, and it costs nothing to do. Unrelated, while we are hereThe two |
|
Thx, this makes the conflict clear. My preference is to make the CHANGELOG header the source of truth rather than adding the seven TST entries because the current updater happens to lack a skip path. |
Part of #1173.
What this does
CHANGELOG.mdwas last touched by5eae273bon 12 August and the highest pull request it records is #1140. Thirty-nine commits have landed ondevelopsince, so[Unreleased]no longer describes the branch. #1173 notes that those entries will not appear on their own and suggests writing them in one pass from the merge list; this is that pass.Thirty-two entries,
CHANGELOG.mdonly:How they were chosen
From
git log 5eae273b..develop, following the rules in the file's own header comment:Addedfor new features,Changedfor changes in existing functionality,Fixedfor bug fixes, and tests left out. SevenTST:commits fall in the gap and are therefore not listed, which matches the file's history —TST:appears twice in the whole changelog, against 117ENH:, 75BUG:, 42DOC:and 39MNT:.Each entry uses the pull request title and link, as the header comment asks, with the issue linked alongside where the commit names one.
772480dis a direct commit todevelopwith no pull request, so that entry links the commit.Newest on top within each section, as the
[Unreleased]comment asks.Verification
Every link was resolved against the API rather than assembled by hand:
Every
pull/Nlink resolves to a pull request, everyissues/Nlink resolves to an issue and not to a pull request, and each entry's text was checked against the pull request's own title. That check caught one wrong description — #1142 is "Document angle-of-attack drag inputs", not the multivariable inputs its squash-commit subject suggests — and twelve smaller drifts from the titles, all corrected.What this does not do
It does not fix the automation, and the next merge will fall out of the file again. Both causes #1173 identifies are outside what a pull request into
developcan reach:pull_request_targetworkflow is read from the default branch, andmasterstill carries the olderchangelog.ymlwith thepull_requesttrigger, so neither trigger matches anything:pull_requestevents read the file from the pull request's branch, where onlypull_request_targetis declared, andpull_request_targetevents read it frommaster, where onlypull_requestis declared;RELEASE_TOKENwas already resolving to empty before that, which is why the four runs before CI: run the changelog job for pull requests from forks #1112 all died onactions/checkout.I confirmed the first against
upstream/master:.github/workflows/changelog.ymland the run history; the second needs someone with access to the repository secrets.