mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
name: Labeler
|
|
|
|
on:
|
|
issues:
|
|
types: [opened]
|
|
pull_request_target:
|
|
types: [opened]
|
|
|
|
jobs:
|
|
label-priority:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
issues: write
|
|
pull-requests: write
|
|
steps:
|
|
- name: Label New Issue or PR
|
|
uses: actions/github-script@v7
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
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_target') {
|
|
username = context.payload.pull_request.user.login;
|
|
issueOrPrNumber = context.payload.pull_request.number;
|
|
}
|
|
|
|
// Check if an Adafruit member
|
|
try {
|
|
const adafruitResponse = await github.rest.orgs.checkMembershipForUser({
|
|
org: 'adafruit',
|
|
username: username
|
|
});
|
|
|
|
if (adafruitResponse.status === 204) {
|
|
console.log('Adafruit Member');
|
|
label = 'Prio Urgent';
|
|
}
|
|
} catch (error) {
|
|
console.log('Not an Adafruit member');
|
|
}
|
|
|
|
// Check if a contributor
|
|
if (label == '') {
|
|
try {
|
|
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';
|
|
}
|
|
} catch (error) {
|
|
console.log('Not a contributor');
|
|
}
|
|
}
|
|
|
|
if (label !== '') {
|
|
await github.rest.issues.addLabels({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issueOrPrNumber,
|
|
labels: [label]
|
|
});
|
|
}
|