systemd/.github/workflows/labeler.yml
dependabot[bot] 6cc0fd0044 build(deps): bump actions/labeler from 4.0.4 to 4.2.0
Bumps [actions/labeler](https://github.com/actions/labeler) from 4.0.4 to 4.2.0.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](0776a67936...0967ca812e)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 10:37:11 +00:00

120 lines
4.4 KiB
YAML

---
# 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;
}
}
}