Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
name: Auto add general area label
|
||
|
||
on:
|
||
issues:
|
||
types: [labeled]
|
||
|
||
permissions:
|
||
issues: write
|
||
|
||
jobs:
|
||
add-general-label:
|
||
runs-on: ubuntu-slim
|
||
|
||
steps:
|
||
- name: Add general area label
|
||
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||
with:
|
||
script: |
|
||
const addedLabel = context.payload.label.name;
|
||
const issue = context.payload.issue;
|
||
|
||
// Explicit allowlist of supported parent labels
|
||
const allowedParents = new Set([
|
||
"area: compose",
|
||
"area: left sidebar",
|
||
// add more parent labels here if needed
|
||
]);
|
||
|
||
// Match labels like: "area: compose (uploads)"
|
||
const match = addedLabel.match(/^area:\s*([^(]+)\s*\(/);
|
||
if (!match) return;
|
||
|
||
const parentLabel = `area: ${match[1].trim()}`;
|
||
|
||
// Skip if this parent label isn’t explicitly supported
|
||
if (!allowedParents.has(parentLabel)) return;
|
||
|
||
// Avoid re-adding if parent already exists
|
||
if (issue.labels.some(l => l.name === parentLabel)) return;
|
||
|
||
await github.rest.issues.addLabels({
|
||
owner: context.repo.owner,
|
||
repo: context.repo.repo,
|
||
issue_number: issue.number,
|
||
labels: [parentLabel],
|
||
});
|