v254 batch #500
This file contains 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
--- | |
# vi: ts=2 sw=2 et: | |
# SPDX-License-Identifier: LGPL-2.1-or-later | |
# | |
name: "Pull Request Labeler" | |
on: | |
pull_request_target: | |
types: [opened, synchronize, reopened, ready_for_review, closed] | |
issue_comment: | |
types: [created] | |
permissions: | |
contents: read | |
jobs: | |
triage: | |
if: github.repository == 'systemd/systemd' | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
steps: | |
- name: Label PR based on policy in labeler.yml | |
uses: actions/labeler@0967ca812e7fdc8f5f71402a1b486d5bd061fe20 | |
if: github.event_name == 'pull_request_target' && github.event.action != 'closed' | |
with: | |
repo-token: "${{ secrets.GITHUB_TOKEN }}" | |
configuration-path: .github/labeler.yml | |
sync-labels: "" # This is a workaround for issue 18671 | |
- name: Set or remove labels based on systemd development workflow | |
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 | |
if: github.event_name == 'pull_request_target' && github.event.action != 'closed' && !github.event.pull_request.draft | |
with: | |
script: | | |
response = await github.rest.issues.listLabelsOnIssue({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
}); | |
good_to_merge = [ | |
"good-to-merge/waiting-for-ci 👍", | |
"good-to-merge/after-next-release", | |
"good-to-merge/with-minor-suggestions", | |
"good-to-merge/waiting-for-reporter-feedback 👍", | |
]; | |
if (response.data.every(l => !good_to_merge.includes(l.name))) { | |
await github.rest.issues.addLabels({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
labels: ["please-review"] | |
}); | |
} | |
for (const label of ["reviewed/needs-rework 🔨", | |
"ci-fails/needs-rework 🔥", | |
"ci-failure-appears-unrelated", | |
"needs-rebase"]) { | |
try { | |
await github.rest.issues.removeLabel({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
name: label, | |
}); | |
} catch (err) { | |
if (err.status != 404) { | |
throw err; | |
} | |
} | |
} | |
- name: Add please-review label on command in issue comment | |
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 | |
if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/please-review') | |
with: | |
script: | | |
await github.rest.issues.addLabels({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
labels: ["please-review"] | |
}) | |
- name: Remove specific labels when PR is closed or merged | |
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 | |
if: github.event_name == 'pull_request_target' && github.event.action == 'closed' | |
with: | |
script: | | |
for (const label of ["please-review", | |
"reviewed/needs-rework 🔨", | |
"ci-fails/needs-rework 🔥", | |
"needs-rebase", | |
"good-to-merge/waiting-for-ci 👍", | |
"good-to-merge/after-next-release", | |
"good-to-merge/with-minor-suggestions", | |
"good-to-merge/waiting-for-reporter-feedback 👍", | |
"needs-discussion 🤔", | |
"needs-reporter-feedback ❓", | |
"dont-merge 💣", | |
"squash-on-merge", | |
"quick-review 🏃♂️"]) { | |
try { | |
await github.rest.issues.removeLabel({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
name: label, | |
}); | |
} catch (err) { | |
if (err.status != 404) { | |
throw err; | |
} | |
} | |
} |