Skip to content

Fix PR link regexes after the move to react/react-native - #59128

Closed
TheSeydiCharyyev wants to merge 1 commit into
react:mainfrom
TheSeydiCharyyev:fix-repo-move-regexes
Closed

TheSeydiCharyyev wants to merge 1 commit into
react:mainfrom
TheSeydiCharyyev:fix-repo-move-regexes

Conversation

@TheSeydiCharyyev

Copy link
Copy Markdown
Contributor

Summary:

Two workflows stopped working after the move to react/react-native, because their regexes only allow github.com/facebook/react-native:

Why

  1. .github/workflows/close-pr.yml looks for Pull Request resolved: https://github.com/facebook/react-native/pull/N in the commit message. Commits now say https://github.com/react/react-native/pull/N, so getClosedPrIfExists returns undefined and the script stops before createComment. Update repository references from facebook/react-native to react/react-native #57167 changed the if: line in this file to react/react-native, but not the regex. The regex is written with escaped slashes (facebook\/react-native).
  2. .github/workflow-scripts/checkForReproducer.js builds the pull request pattern in a template literal with single backslashes. In a template literal, \d is just d, so the pattern is https?://github.com/facebook/react-native/pull/d+/?. It did not match real links even before the move (the line was added in Update the reproducer message #50848). The other two patterns in the same function use \\ and work.

In the whole repo, facebook\/react-native appears only in these two lines.

Fix

Both regexes now accept facebook and react. People still write links with facebook: the four issues above all do. In checkForReproducer.js, the pattern now uses \\ like the other two patterns. (?:...) does not capture, so the group numbers in close-pr.yml do not change.

The new test file is checkForReproducer-links-test.js, so it does not conflict with checkForReproducer-test.js from #58429. That PR fixes a different problem in the same script: the bot treats its own Needs: Repro label as a maintainer change. Because of that, an issue that already has the label keeps it after an edit, also with this PR. New issues with a pull request link do not get the label.

Changelog:

[INTERNAL] [FIXED] - Fix pull request link regexes in the close-pr and check-for-reproducer workflows after the move to react/react-native

Test Plan:

Windows 11, Node 22.17.1, Yarn 1.22.22.

New Jest test for checkForReproducer with 4 cases: a link to a pull request in react/react-native, the same link with facebook/react-native, a pull request in another repository, and no link.

yarn test .github/workflow-scripts
Code Result
main (e04aaf6) 2 of the 4 new tests fail: both pull request links are not accepted
this PR 11 suites, 72 tests pass

Each part of the fix is needed:

  • facebook|react with single backslashes: both link tests fail.
  • Double backslashes with only facebook: the react link test fails.

close-pr.yml runs an inline script, so it has no Jest test. I took prClosingRegex from the file and ran getClosedPrIfExists (copied from the file) on real commit messages from main:

Commit message main this PR
#59016: Pull Request resolved: https://github.com/react/react-native/pull/59016 undefined 59016
#56769: Pull Request resolved: https://github.com/facebook/react-native/pull/56769 56769 56769
"Update React Native DevTools binaries", no pull request link undefined undefined

npx prettier --check passes for the 3 files.

Not covered:

  • I did not run the workflows. They run on push to main and on issue events in this repository.
  • yarn lint does not check these files, because ESLint skips the .github folder.

Two regexes still look only for github.com/facebook/react-native:

- close-pr.yml does not find "Pull Request resolved:
  https://github.com/react/react-native/pull/N" in the commit message, so
  react-native-bot stopped leaving the "This pull request was successfully
  merged" comment after the move.
- checkForReproducer.js does not accept a link to a pull request as a
  reproducer. The pattern is a template literal, so "\d" became "d", and it
  only allowed "facebook". Issues with such a link got "Needs: Repro".

Both regexes now accept "facebook" and "react", because people still write
links with "facebook". Add a test for pull request links in
checkForReproducer.
@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 16, 2026
@facebook-github-tools facebook-github-tools Bot added the Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. label Oct 16, 2026
@meta-codesync

meta-codesync Bot commented Oct 16, 2026

Copy link
Copy Markdown

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

@meta-codesync meta-codesync Bot closed this in 9ae68b5 Oct 16, 2026
@react-native-bot

Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @TheSeydiCharyyev in 9ae68b5

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 16, 2026
@TheSeydiCharyyev
TheSeydiCharyyev deleted the fix-repo-move-regexes branch October 16, 2026 13:21
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. 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.

2 participants