Files
vercel__next.js/.github/workflows/issue_reopen.yml
Marcos Hernanz 7a5d2f9f32 Allow issue participants to request reopening (#96947)
## 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)
2026-08-12 15:34:54 -07:00

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 }}