diff options
| author | hathach <[email protected]> | 2024-03-25 17:46:28 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2024-03-25 17:46:28 +0700 |
| commit | 98b8e960aa20c7d29d4dfe9c7712a8a865b87827 (patch) | |
| tree | ec7ae05c2ff135249c7332f278eb47459ed6dca9 /.github/workflows | |
| parent | 94c27fcdf77cdc4599df232b7785dfc5d3cc7407 (diff) | |
| parent | c028cfa7cf2fa281e6c88a816cf70fd80eb68338 (diff) | |
Merge branch 'master' into add-tuh-deinit
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/labeler.yml | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..b4a2cdafa --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,63 @@ +name: Labeler + +on: + issues: + types: [opened] + pull_request: + types: [opened] + +jobs: + label-priority: + runs-on: ubuntu-latest + + steps: + - name: Label New Issue or PR + uses: actions/github-script@v7 + with: + github-token: ${{ secrets.API_TOKEN_GITHUB }} + script: | + let label = ''; + let username = ''; + let issueOrPrNumber = 0; + + if (context.eventName === 'issues') { + username = context.payload.issue.user.login; + issueOrPrNumber = context.payload.issue.number; + } else if (context.eventName === 'pull_request') { + username = context.payload.pull_request.user.login; + issueOrPrNumber = context.payload.pull_request.number; + } + + // Check for Adafruit membership + const adafruitResponse = await github.rest.orgs.checkMembershipForUser({ + org: 'adafruit', + username: username + }); + + if (adafruitResponse.status === 204) { + console.log('Adafruit Member'); + label = 'Prio Urgent'; + } else { + // Check if the user is a contributor + const collaboratorResponse = await github.rest.repos.checkCollaborator({ + owner: context.repo.owner, + repo: context.repo.repo, + username: username + }); + + if (collaboratorResponse.status === 204) { + console.log('Contributor'); + label = 'Prio Higher'; + } else { + console.log('Not a contributor or Adafruit member'); + } + } + + if (label !== '') { + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issueOrPrNumber, + labels: [label] + }); + } |
