Skip to content

Remove the generated changelog PR from the publish workflow - #59172

Closed
fabriziocucci wants to merge 1 commit into
react:mainfrom
fabriziocucci:remove-generated-changelog-pr
Closed

fabriziocucci wants to merge 1 commit into
react:mainfrom
fabriziocucci:remove-generated-changelog-pr

Conversation

@fabriziocucci

@fabriziocucci fabriziocucci commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

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) 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 #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, since that is where the replacement lives.

Changelog:

[INTERNAL] [REMOVED] - Remove the generated changelog PR from the publish workflow

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.

The release copilot opens the changelog PR now, curated, so the
generate_changelog job and its script are no longer needed.
create_draft_release depended on that job only for ordering, so it now
depends on publish_react_native directly.
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 18, 2026
@facebook-github-tools facebook-github-tools Bot added p: Facebook Partner: Facebook Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Oct 18, 2026
@meta-codesync

meta-codesync Bot commented Oct 19, 2026

Copy link
Copy Markdown

@fabriziocucci has imported this pull request. If you are a Meta employee, you can view this in D126044344.

@cortinico cortinico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

@meta-codesync meta-codesync Bot closed this in 08b1f70 Oct 19, 2026
@react-native-bot

Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @fabriziocucci in 08b1f70

When will my fix make it into a release? | How to file a pick request?

@react-native-bot react-native-bot added the Merged This PR has been merged. label Oct 19, 2026
@meta-codesync

meta-codesync Bot commented Oct 19, 2026

Copy link
Copy Markdown

@fabriziocucci merged this pull request in 08b1f70.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. p: Facebook Partner: Facebook Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants