diff --git a/.github/workflows/compiler_discord_notify.yml b/.github/workflows/compiler_discord_notify.yml index 3eeb009a78aab..7d3244b648e29 100644 --- a/.github/workflows/compiler_discord_notify.yml +++ b/.github/workflows/compiler_discord_notify.yml @@ -1,15 +1,18 @@ name: (Compiler) Discord Notify on: - pull_request_target: - types: [labeled] + pull_request: paths: - compiler/** - .github/workflows/compiler_**.yml jobs: + check_maintainer: + uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main + notify: - if: ${{ github.event.label.name == 'React Core Team' }} + if: ${{ needs.check_maintainer.outputs.is_core_team }} + needs: check_maintainer runs-on: ubuntu-latest steps: - name: Discord Webhook Action diff --git a/.github/workflows/runtime_discord_notify.yml b/.github/workflows/runtime_discord_notify.yml index 93606cd549873..c7a1fb937ea38 100644 --- a/.github/workflows/runtime_discord_notify.yml +++ b/.github/workflows/runtime_discord_notify.yml @@ -1,15 +1,18 @@ name: (Runtime) Discord Notify on: - pull_request_target: - types: [labeled] + pull_request: paths-ignore: - compiler/** - .github/workflows/compiler_**.yml jobs: + check_maintainer: + uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main + notify: - if: ${{ github.event.label.name == 'React Core Team' }} + if: ${{ needs.check_maintainer.outputs.is_core_team }} + needs: check_maintainer runs-on: ubuntu-latest steps: - name: Discord Webhook Action diff --git a/.github/workflows/shared_core_label.yml b/.github/workflows/shared_check_maintainer.yml similarity index 62% rename from .github/workflows/shared_core_label.yml rename to .github/workflows/shared_check_maintainer.yml index da2c45465eee9..53f4c7a8af046 100644 --- a/.github/workflows/shared_core_label.yml +++ b/.github/workflows/shared_check_maintainer.yml @@ -1,7 +1,10 @@ -name: (Shared) Core Label +name: (Shared) Check maintainer on: - pull_request_target: + workflow_call: + outputs: + is_core_team: + value: ${{ jobs.check_maintainer.outputs.is_core_team }} env: TZ: /usr/share/zoneinfo/America/Los_Angeles @@ -9,12 +12,14 @@ env: SEGMENT_DOWNLOAD_TIMEOUT_MINS: 1 jobs: - core_label: + check_maintainer: runs-on: ubuntu-latest + outputs: + is_core_team: ${{ steps.check_if_actor_is_maintainer.outputs.result }} steps: - uses: actions/checkout@v4 - name: Check if actor is maintainer - id: check_maintainer + id: check_if_actor_is_maintainer uses: actions/github-script@v7 with: script: | @@ -28,14 +33,3 @@ jobs: } 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'] - }); diff --git a/.github/workflows/shared_label_core_team_prs.yml b/.github/workflows/shared_label_core_team_prs.yml new file mode 100644 index 0000000000000..b96aea88054fa --- /dev/null +++ b/.github/workflows/shared_label_core_team_prs.yml @@ -0,0 +1,29 @@ +name: (Shared) Label Core Team PRs + +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: + check_maintainer: + uses: facebook/react/.github/workflows/shared_check_maintainer.yml@main + + label: + if: ${{ needs.check_maintainer.outputs.is_core_team }} + runs-on: ubuntu-latest + needs: check_maintainer + steps: + - name: Label PR as React Core Team + 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'] + });