weblate/.github/workflows/milestone-closed.yml
renovate[bot] 4a05524be0
chore(deps): update actions/github-script action to v9 (#18890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-10 02:53:16 +00:00

50 lines
1.5 KiB
YAML

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: CC0-1.0
#
# Issue lifecycle: Remove "Waiting for: *" labels when closing a milestone
name: Milestone closed
on:
milestone:
types: [closed]
permissions:
issues: write
jobs:
apply-label:
runs-on: ubuntu-slim
steps:
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const issues = await github.paginate(github.rest.issues.listForRepo, {
owner: context.repo.owner,
repo: context.repo.repo,
milestone: context.payload.milestone.number,
state: 'closed',
});
console.log(`Fetched ${issues.length} issues.`);
for (const issue of issues) {
console.log(`Working on issue #${issue.number}...`);
const labels = await github.rest.issues.listLabelsOnIssue({
issue_number: issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});
for (const label of labels.data) {
if (label.name.startsWith('Waiting for: ')) {
console.log(`Removing label ${label.name}`);
await github.rest.issues.removeLabel({
issue_number: issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
name: label.name,
})
}
}
}