Repository navigation
Commit 08b1f70
Remove the generated changelog PR from the publish workflow (#59172)
Summary:
Removes the `generate_changelog` job from the publish workflow, along with `generate-changelog.yml`, `generateChangelog.js` and its test.
The job opened a `changelog/v<version>` PR with every section present, empty or not, an `Unknown` bucket and the release machinery's own commits in it. Every one was then curated by hand. The release copilot ([reactwg/react-native-releases#1425](reactwg/react-native-releases#1425)) now opens that PR itself. It runs the same `rnx-kit/rn-changelog-generator` against the same base, then curates:
- **Empty sections are omitted** and the release machinery's own commits dropped.
- **Missing prefixes are added** where the entry's text names a scope the changelog already uses and the commit's files sit where that scope has lived. Trained without the release being checked, 111 of 133 inferred prefixes across 0.86.0 to 0.88.0 matched what the crew chose. Entries where the two signals disagree stay unprefixed and are listed rather than guessed.
- **Consistency is flagged**: a commit that removes or narrows a public API symbol filed outside Breaking, Removed or Deprecated, a `[BREAKING]` commit filed elsewhere, a Breaking entry with no API change or tag, a removal filed as a fix and a platform subsection that disagrees with the code. On the 0.88 consolidation it flagged 12, including the ArrayBuffer borrow contract. These are flags for the reviewer, not verdicts.
The PR it opens lists every prefix it added and every flag it raised. It also opens the `.0` consolidation, which the job always skipped (0.88's was [https://github.com/react/react-native/issues/59122](https://github.com/react/react-native/pull/59122), done by hand).
`create_draft_release` listed `generate_changelog` in `needs` and its `if`. It depended on it for ordering only: `createDraftRelease.js` runs `git checkout -b changelog/v<version>`, which creates a new local branch from the tag and never reads the bot's branch. The tag's own `CHANGELOG.md` never carries the release's section (checked for v0.88.0-rc.4, v0.88.0-rc.6 and v0.87.1), which is why the draft notes have always come out empty. It now depends on `publish_react_native` directly, so it still runs only after a successful publish.
The publish workflow runs from the tag's branch, so this takes effect from the first branch cut after it lands. Existing `*-stable` branches keep the job unless this is picked. The copilot defers to the bot wherever the job is still present, so the two never open the same branch.
This should land after [reactwg/react-native-releases#1425](reactwg/react-native-releases#1425), since that is where the replacement lives.
## Changelog:
[INTERNAL] [REMOVED] - Remove the generated changelog PR from the publish workflow
Pull Request resolved: #59172
Test Plan:
- `yarn jest .github/workflow-scripts`: 10 suites, 61 tests pass.
- Every file in `.github/workflows` parses as YAML. In `publish-npm.yml`, every `needs` entry names an existing job and nothing references `generate_changelog`.
- `git grep` for `generate_changelog`, `generate-changelog` and `generateChangelog` finds nothing under `.github` after the change.
- The replacement was exercised as a dry run against v0.88.0-rc.6: it ran the generator, resolved the commits and pushed nothing.
Reviewed By: javache, cortinico
Differential Revision: D126044344
Pulled By: fabriziocucci
fbshipit-source-id: fd5b716d0018915baa389463d26ecf4e4361eae41 parent bf8d8c9 commit 08b1f70
4 files changed
Lines changed: 3 additions & 415 deletions
File tree
- .github
- workflow-scripts
- __tests__
- workflows
This file was deleted.
This file was deleted.
0 commit comments