mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-03 20:03:25 +01:00
69 lines
2.2 KiB
YAML
Generated
69 lines
2.2 KiB
YAML
Generated
name: Lock closed issues
|
|
|
|
on:
|
|
issues:
|
|
types: [closed]
|
|
pull_request:
|
|
types: [closed]
|
|
schedule:
|
|
- cron: "0 0 * * *" # Run daily at midnight for backlog
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
issues: write
|
|
pull-requests: write
|
|
|
|
concurrency:
|
|
group: lock-threads
|
|
|
|
jobs:
|
|
# Lock immediately when issue/PR is closed (new issues get comment)
|
|
lock-on-close:
|
|
if: github.event_name == 'issues' || github.event_name == 'pull_request'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Lock issue/PR after close
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: |
|
|
const createdAt = new Date(context.payload.issue?.created_at || context.payload.pull_request?.created_at);
|
|
const cutoffDate = new Date('2026-01-27T00:00:00Z');
|
|
const isNew = createdAt >= cutoffDate;
|
|
const number = context.payload.issue?.number || context.payload.pull_request?.number;
|
|
const isIssue = !!context.payload.issue;
|
|
|
|
// Add comment only for new issues/PRs
|
|
if (isNew) {
|
|
const comment = isIssue
|
|
? 'This issue has been automatically locked. Please open a new issue for related bugs and reference this issue if needed.'
|
|
: 'This pull request has been automatically locked. Please open a new issue for related bugs.';
|
|
|
|
await github.rest.issues.createComment({
|
|
...context.repo,
|
|
issue_number: number,
|
|
body: comment
|
|
});
|
|
}
|
|
|
|
// Lock the issue/PR
|
|
await github.rest.issues.lock({
|
|
...context.repo,
|
|
issue_number: number,
|
|
lock_reason: 'resolved'
|
|
});
|
|
|
|
# Scheduled run for backlog (old issues without comment)
|
|
lock-backlog:
|
|
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: dessant/lock-threads@v6
|
|
with:
|
|
github-token: ${{ github.token }}
|
|
issue-inactive-days: 1
|
|
issue-lock-reason: "resolved"
|
|
issue-comment: ""
|
|
pr-inactive-days: 1
|
|
pr-lock-reason: "resolved"
|
|
pr-comment: ""
|