mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Adds a new `MAINTAINERS` file which contains github usernames of core team members. This file serves as documentation for core team membership and is also used to automatically label PRs from core. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32100). * #32101 * __->__ #32100
42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: (Shared) Core Label
|
|
|
|
on:
|
|
pull_request_target:
|
|
|
|
env:
|
|
TZ: /usr/share/zoneinfo/America/Los_Angeles
|
|
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#cache-segment-restore-timeout
|
|
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1
|
|
|
|
jobs:
|
|
core_label:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check if actor is maintainer
|
|
id: check_maintainer
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const fs = require('fs');
|
|
const actor = '${{ github.actor }}';
|
|
const data = await fs.readFileSync('./MAINTAINERS', { encoding: 'utf8' });
|
|
const maintainers = new Set(data.split('\n'));
|
|
if (maintainers.has(actor)) {
|
|
console.log(`🟢 ${actor} is a maintainer`);
|
|
return true;
|
|
}
|
|
console.log(`🔴 ${actor} is NOT a maintainer`);
|
|
return null;
|
|
- name: Label PR as React Core Team
|
|
if: ${{ steps.check_maintainer.outputs.result }}
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: ${{ github.event.number }},
|
|
labels: ['React Core Team']
|
|
});
|