Andrushika opened a new pull request, #73747:
URL: https://github.com/apache/airflow/pull/73747

   ## Why
   
   After #73469, `dev/close_prs_over_open_pr_limit.py` closed 210 PRs from 21 
contributors. The closure comment asks authors to pick the PRs that matter most 
and reopen them with the "Reopen pull request" button or `gh pr reopen`. But as 
[reported on 
dev@](https://lists.apache.org/thread/901dt9qdqjtqrh7ow5cdnd8sp0dl3llp), the 
button is missing and `gh pr reopen` fails. Looks like GitHub does not let an 
author without write access reopen a PR that a maintainer closed. Reopening 
them by hand would give maintainers the work the limit tries to save, and a new 
PR from the same branch loses labels like the backport ones.
   
   ## What
   
   Add a temporary workflow. When the author comments `/reopen` on a PR with 
the `closed because of open PR limit` label, it reopens the PR and removes the 
label if the author has fewer than 5 open non-draft PRs. Otherwise it comments 
with the reason and a link to the guide. Reopening with `GITHUB_TOKEN` does not 
trigger CI, so the comment asks the author to rebase and push. The guide now 
points to `/reopen`. I will open a follow-up PR to remove the workflow once the 
closure has settled.
   
   The workflow runs on comments from anyone, so:
   
   - `permissions` is only `pull-requests: write`, and it uses no secret other 
than `GITHUB_TOKEN`.
   - No checkout and no `run:` steps. The only step is `actions/github-script`, 
pinned to a SHA.
   - The job-level `if:` skips comments from anyone other than the PR author, 
so nobody else can start a run.
   - User-controlled fields are read through `context.payload`, never 
interpolated into the script.
   
   Tested in a scratch repo, because my fork has Actions disabled: 
[reopened](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36221162053),
 [no 
label](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36221160628),
 [at the 
limit](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36221249781),
 [force-pushed 
branch](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36220953616),
 [deleted 
branch](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36220952858),
 [second `/reopen` on the same PR does 
nothing](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36221162617),
 [normal comment is 
skipped](https://github.com/Andrushika/airflow-reopen-test/actions/runs/36221164417).
   
   related: #73469
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code (Opus 5.5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to