mirror of
https://github.com/systemd/systemd
synced 2024-07-08 20:15:55 +00:00
ci: Optimize pull request labeler
We keep running into rate limits, so let's optimize the number of requests we do in the pull request labeler to hopefully fix that.
This commit is contained in:
parent
1213fc94b4
commit
5dd3657f86
69
.github/workflows/labeler.yml
vendored
69
.github/workflows/labeler.yml
vendored
|
@ -52,38 +52,34 @@ jobs:
|
|||
repo: context.repo.repo,
|
||||
});
|
||||
|
||||
good_to_merge = [
|
||||
original = new Set(response.data.map(l => l.name));
|
||||
labels = new Set(original);
|
||||
|
||||
good_to_merge = new Set([
|
||||
"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"]
|
||||
});
|
||||
if (Array.from(labels).filter(l => good_to_merge.has(l)).length == 0) {
|
||||
labels.add("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;
|
||||
}
|
||||
}
|
||||
labels.delete(label);
|
||||
}
|
||||
|
||||
if (labels.size != original.size || Array.from(labels).some(l => !original.has(l))) {
|
||||
await github.rest.issues.setLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: Array.from(labels),
|
||||
});
|
||||
}
|
||||
|
||||
- name: Add please-review label on command in issue comment
|
||||
|
@ -103,6 +99,15 @@ jobs:
|
|||
if: startsWith(github.event_name, 'pull_request') && github.event.action == 'closed'
|
||||
with:
|
||||
script: |
|
||||
response = await github.rest.issues.listLabelsOnIssue({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
});
|
||||
|
||||
original = new Set(response.data.map(l => l.name));
|
||||
labels = new Set(original);
|
||||
|
||||
for (const label of ["please-review",
|
||||
"reviewed/needs-rework 🔨",
|
||||
"ci-fails/needs-rework 🔥",
|
||||
|
@ -116,16 +121,14 @@ jobs:
|
|||
"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;
|
||||
}
|
||||
}
|
||||
labels.delete(label);
|
||||
}
|
||||
|
||||
if (labels.size != original.size || Array.from(labels).some(l => !original.has(l))) {
|
||||
await github.rest.issues.setLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: Array.from(labels),
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user