mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-11-13 07:40:59 +00:00
61378559ca
- sharp 0.35.5 (librsvg CVE), with the musl pins that ship in the image. - follow-redirects 1.16.2, postcss-selector-parser 6.1.5 and serialize-javascript 7.1.3, from the open advisories. - GitHub Actions: github-script 9 and the minor-and-patch group. - plugin-sdk: @types/update-notifier 6.0.9. The grouped npm update is left out: with it the server build runs out of memory in tsc, and the culprit is not found yet.
74 lines
2.4 KiB
YAML
74 lines
2.4 KiB
YAML
name: Close issues with unchanged bad titles
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 */6 * * *' # Every 6 hours
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
close-stale:
|
|
if: github.repository == 'liketrek/TREK'
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 45
|
|
steps:
|
|
- name: Close stale invalid-title issues
|
|
uses: actions/github-script@v9
|
|
with:
|
|
script: |
|
|
const badTitles = [
|
|
"[bug]", "bug report", "bug", "issue",
|
|
"help", "question", "test", "...", "untitled"
|
|
];
|
|
|
|
const { data: issues } = await github.rest.issues.listForRepo({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
labels: 'invalid-title',
|
|
state: 'open',
|
|
per_page: 100,
|
|
});
|
|
|
|
const twentyFourHoursAgo = new Date(Date.now() - 24 * 60 * 60 * 1000);
|
|
|
|
for (const issue of issues) {
|
|
const createdAt = new Date(issue.created_at);
|
|
if (createdAt > twentyFourHoursAgo) continue; // grace period not over yet
|
|
|
|
const titleLower = issue.title.trim().toLowerCase();
|
|
|
|
if (!badTitles.includes(titleLower)) {
|
|
// Title was fixed — remove the label and move on
|
|
await github.rest.issues.removeLabel({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
name: 'invalid-title',
|
|
});
|
|
continue;
|
|
}
|
|
|
|
// Still a bad title after 24h — close it
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
body: [
|
|
'## Issue closed',
|
|
'',
|
|
'This issue has been automatically closed because the title was not updated within 24 hours.',
|
|
'',
|
|
'Feel free to open a new issue with a descriptive title that summarizes the problem.',
|
|
].join('\n'),
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
}
|