diff options
-rw-r--r-- | .github/workflows/labeler.yml | 39 | ||||
-rw-r--r-- | docs/CONTRIBUTING.md | 3 |
2 files changed, 32 insertions, 10 deletions
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index b86d1ff769..c3b4040add 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -5,15 +5,17 @@ name: "Pull Request Labeler" on: -- pull_request_target -- issue_comment + pull_request_target: + types: [opened, synchronize, reopened, ready_for_review] + issue_comment: + types: [created] permissions: contents: read jobs: triage: - if: github.event.repository.name != 'systemd-security' + if: github.repository == 'systemd/systemd' runs-on: ubuntu-latest permissions: pull-requests: write @@ -26,25 +28,42 @@ jobs: sync-labels: "" # This is a workaround for issue 18671 - uses: actions/github-script@d556feaca394842dc55e4734bf3bb9f685482fa0 - if: github.event_name == 'pull_request_target' + if: github.event_name == 'pull_request_target' && !github.event.pull_request.draft with: script: | - await github.rest.issues.addLabels({ + response = await github.rest.issues.listLabelsOnIssue({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, - labels: ["please-review"] - }) + }); + + 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"]) { + "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; @@ -56,7 +75,7 @@ jobs: if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/please-review') with: script: | - github.rest.issues.addLabels({ + await github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 1db99ad41a..d980f7764e 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -41,6 +41,9 @@ See [reporting of security vulnerabilities](SECURITY.md). * After you have pushed a new version, add a comment explaining the latest changes. If you are a member of the systemd project on GitHub, remove the `reviewed/needs-rework`/`ci-fails/needs-rework`/`needs-rebase` labels. * If you are copying existing code from another source (eg: a compat header), please make sure the license is compatible with `LGPL-2.1-or-later`. If the license is not `LGPL-2.1-or-later`, please add a note to [`LICENSES/README.md`](https://github.com/systemd/systemd/blob/main/LICENSES/README.md). * If the pull request stalls without review, post a ping in a comment after some time has passed. We are always short on reviewer time, and pull requests which haven't seen any recent activity can be easily forgotten. +* Github will automatically add the please-review label when a pull request is opened or updated. If you need +more information after a review, you can comment `/please-review` on the pull request to have Github add the +please-review to the pull request. ## Reviewing Pull Requests |