3 Commits

Author SHA1 Message Date
Emily Brown
1ff071544e Align with GH Actions namings (#55469)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55469

Rename workflow job IDs from kebab-case to snake_case and update workflow name to match convention.

Changelog: [General][Changed] - rename workflow job IDs from kebab-case to snake_case

Reviewed By: huntie

Differential Revision: D92697078

fbshipit-source-id: bc8c99b6807997fe625d1f7921b3664992697b36
2026-02-09 08:19:37 -08:00
Emily Brown
1ee6fdc571 Add branch targeting check to analyze-pr workflow (#55383)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/55383

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

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D91685081

fbshipit-source-id: 87e7124f7d825b51cb791dc94720c487ff95d414
2026-02-06 08:14:53 -08:00
Emily Brown
5e41043fb5 Add PR body validation to analyze-pr workflow (#55382)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/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]

Reviewed By: huntie

Differential Revision: D91158803

fbshipit-source-id: 2304251d18f9fc8bf9a29e536fff2d979573bd86
2026-02-06 08:14:53 -08:00