Remove unused hosted service surfaces #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ====================================================================================== | |
| # Workflow: Label External Contributors | |
| # ====================================================================================== | |
| # Usage: | |
| # - Runs whenever a pull request is opened. | |
| # - Adds the `external-contributor` label to the PR if the PR head repository is | |
| # a fork (i.e. it does not belong to the same repository as the base), and the | |
| # PR is not authored by a bot. | |
| # | |
| # Notes: | |
| # - The workflow triggers on `pull_request_target` rather than `pull_request` so | |
| # that it has the `pull-requests: write` permission needed to apply labels even | |
| # when the PR is opened from a fork. Because we never check out the PR's code | |
| # and only read the event payload, this trigger is safe. | |
| # ====================================================================================== | |
| name: Label External Contributors | |
| on: | |
| pull_request_target: | |
| types: [opened] | |
| # Default to a read-only token. The job below widens permissions explicitly. | |
| permissions: | |
| contents: read | |
| jobs: | |
| label-external-contributor: | |
| name: Label external-contributor PRs | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pull-requests: write | |
| steps: | |
| - name: Determine and apply external-contributor label | |
| uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 | |
| with: | |
| script: | | |
| const pr = context.payload.pull_request; | |
| const author = pr.user.login; | |
| // Ignore PRs authored by bots. | |
| if (pr.user.type === 'Bot' || author.endsWith('[bot]')) { | |
| console.log(`Skipping bot user: ${author}`); | |
| return; | |
| } | |
| // The PR comes from a fork if its head repo differs from its base repo. | |
| const isFork = | |
| !pr.head.repo || | |
| pr.head.repo.full_name !== pr.base.repo.full_name; | |
| console.log( | |
| `PR #${pr.number} by ${author}: isFork=${isFork}`, | |
| ); | |
| if (!isFork) { | |
| return; | |
| } | |
| await github.rest.issues.addLabels({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: pr.number, | |
| labels: ['external-contributor'], | |
| }); | |
| console.log(`Labeled PR #${pr.number} as external-contributor`); |