Skip to content

Delete react-native-bots package#55388

Open
emily8rown wants to merge 5 commits intofacebook:mainfrom
emily8rown:export-D92001127
Open

Delete react-native-bots package#55388
emily8rown wants to merge 5 commits intofacebook:mainfrom
emily8rown:export-D92001127

Conversation

@emily8rown
Copy link
Contributor

Summary:
Now that Danger.js has been removed, this deletes the remaining private/react-native-bots/ package which is no longer needed:

  • Moves code-analysis-bot.js to .github/workflow-scripts/ (still used by analyze_code.sh)
  • Updates analyze_code.sh to reference the new script location
  • Deletes the remaining package files (.babelrc, README.md, package.json)

This completes the migration away from the react-native-bots package, consolidating all workflow scripts into .github/workflow-scripts/.

Differential Revision: D92001127

@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 Feb 2, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 2, 2026

@emily8rown has exported this pull request. If you are a Meta employee, you can view the originating Diff in D92001127.

Summary:
Pull Request resolved: facebook#55341

Changelog:
[INTERNAL] [CHANGED] - Add api-changes.yml workflow to replace danger-pr for detecting changes in the js api

  The workflow:
  - Triggers on `pull_request_target` for opened, edited, reopened, and synchronize events
  - Checks out the main branch (for security, using trusted code)
  - Runs the `diff-js-api-changes` action to detect API changes
  - Posts a PR comment using the generic `post-pr-comment` action

  The PR comment script creates, updates, or deletes a bot comment based on whether
  there are any sections to report, using a marker to identify existing bot comments.

Differential Revision: D90991845

Reviewed By: huntie
Summary:
Pull Request resolved: facebook#55382

This adds a `validatePRBody.js` script that checks pull request descriptions for required sections as part of a new `analyze-pr.yml` workflow that will replace part of the Danger-pr workflow.

The validation includes:
- **Description length check**: Fails if the PR body is missing or less than 50 characters
- **Summary section check**: Warns if the PR lacks a "## Summary" section
- **Test plan check**: Warns if the PR lacks a "## Test Plan" section
- **Changelog validation**: failing if missing or invalid

Key behaviors:
- Phabricator-sourced PRs (detected via "Differential Revision:" in body) skip summary, test plan, and changelog validation since these are enforced differently
- Validation messages use GitHub's `[!WARNING]` and `[!CAUTION]` callout syntax for clear visual feedback
- The workflow fails (via `core.setFailed`) when any required check fails
- Messages are passed to `postPRComment` alongside API changes for consolidated PR comments

This aims to mimic relevant parts of dangerfile.js

Changelog: [Internal]

Differential Revision: D91158803

Reviewed By: huntie
Summary:
Adds a branch targeting validation that replaces the equivalent Danger.js check.
  The check validates that PRs target either `main` or a `-stable` branch, and
  automatically adds the "Pick Request" label when targeting stable branches.

  - Created `checkBranchTarget.js` - pure function returning validation message
  - Added check step to `annotate-pr.yml` that calls the JS and adds labels
  - Added `issues: write` permission for label functionality

Differential Revision: D91685081
Summary:
Pull Request resolved: facebook#55385

Now that all Danger.js checks have been migrated to native GitHub Actions in the `annotate-pr.yml` workflow, this removes the deprecated Danger infrastructure:

- Deletes `.github/workflows/danger-pr.yml` workflow
- Deletes `private/react-native-bots/dangerfile.js`
- Removes `danger` npm dependency from `react-native-bots/package.json`

The functionality previously provided by Danger.js is now handled by:
- **API diff detection**: `diff-js-api-changes` action
- **PR body validation**: `validatePRBody.js` script (summary, test plan, changelog checks)
- **Branch targeting**: `checkBranchTarget.js` script (validates target branch, adds "Pick Request" label)
- **PR commenting**: `post-pr-comment` action

This simplifies the CI pipeline by removing the third-party Danger dependency and consolidating PR annotation logic into maintainable GitHub Actions workflows.

Differential Revision: D91695886
Summary:
Pull Request resolved: facebook#55388

Now that Danger.js has been removed, this deletes the remaining `private/react-native-bots/` package which is no longer needed:

- Moves `code-analysis-bot.js` to `.github/workflow-scripts/` (still used by `analyze_code.sh`)
- Updates `analyze_code.sh` to reference the new script location
- Deletes the remaining package files (`.babelrc`, `README.md`, `package.json`)

This completes the migration away from the `react-native-bots` package, consolidating all workflow scripts into `.github/workflow-scripts/`.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D92001127
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. fb-exported meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants