mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
7a5d2f9f32
## Summary - Let issue authors and people who commented before closure reopen an issue within 14 days using `Reopen: <reason>`. - Limit the automation to unlocked issues closed by triage-or-higher human maintainers, with ordered timeline checks, bot filtering, idempotency, and state revalidation. - Align resolved-issue and contributor guidance with the new reopening window. ## Verification - `Prettier 3.6.2 --check .github/workflows/issue_reopen.yml .github/comments/resolved.md contributing/repository/triaging.md` - Mocked workflow harness covering 19 closure, eligibility, boundary, bot, idempotency, and race scenarios - `autoreview --mode local --stream-engine-output` (Codex and Claude clean) - Live GitHub API spot-check for ordered same-second `commented` and `closed` timeline events - Not run: live issue close/reopen smoke test (issue-triggered workflows run only from the default branch)
43 lines
1023 B
YAML
43 lines
1023 B
YAML
name: Allow issue participants to reopen issues
|
|
|
|
on:
|
|
issues:
|
|
types: [closed]
|
|
issue_comment:
|
|
types: [created]
|
|
|
|
permissions: {}
|
|
|
|
concurrency:
|
|
group: issue-reopen-${{ github.event.issue.number }}
|
|
cancel-in-progress: false
|
|
queue: max
|
|
|
|
jobs:
|
|
handle:
|
|
name: Handle issue reopening
|
|
if: >-
|
|
github.event.issue.pull_request == null &&
|
|
(
|
|
github.event_name == 'issues' ||
|
|
(
|
|
github.event.issue.state == 'closed' &&
|
|
github.event.comment.user.type == 'User'
|
|
)
|
|
)
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
steps:
|
|
- name: Checkout local action
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
sparse-checkout: .github/actions/issue-reopen
|
|
|
|
- name: Handle issue closure or reopening request
|
|
uses: ./.github/actions/issue-reopen
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|