Repository navigation
Conversation
Generated-by: Claude Opus 5
|
cc: @cottage14 |
61049f4 left the section headings of app-upgrade-policy.md without the blank line after them that MD022 requires, so the prek check fails for every pull request. Generated-by: Claude Opus 5
There was a problem hiding this comment.
line 204: change 'for a run that is still running some time after a normal cancel' to 'to end a run that continues after a normal cancel.' (to avoid 'run' and 'running' in the same sentence
Also, I don't think we need the Airflow citations on the Infra site,
Generated-by: Claude Opus 5
|
@cottage14 Thanks for the review. I reworded the force-cancel tip as you suggested and removed the Airflow citations from this section. Could you take another look? There is also a separate commit that adds the blank lines after the headings in Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting |
Running on push handles only the pull request that was just merged, right after the merge, instead of scanning every unfinished run on a schedule. Suggested in review. Generated-by: Claude Opus 5
|
@cottage14 Since your review, the section changed in one more way: following @slawekjaranowski's suggestion, the workflow now runs on Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting |
Adds a proposed technique to the GitHub Actions optimization page: cancelling the
pull_requestruns that keep going after their pull request has merged.Maintainers often merge as soon as the checks they need are green, while slower jobs of the same run are still queued or running. Those jobs keep holding shared runners for a result nobody reads, and a concurrency group does not catch them, because the merge does not start a new run in the pull request's group. On 2026-10-25 Apache Airflow had four such runs going at once, and two of them stopped only with force-cancel.
The new section explains how a workflow triggered by
pushcan cancel them: it looks up the pull request of the pushed commit and cancels that pull request's unfinishedpull_requestruns. It also lists what such a workflow has to get right (matching fork pull requests by head commit and repository, not cancelling workflows triggered by the merge itself, skipping heads that an open pull request still uses, force-cancelling what does not stop) and gives a minimal workflow. Running onpushinstead of a schedule was suggested in review by @slawekjaranowski. The section is marked Proposed in the summary table until it has been used in production for a while.The recipe was run read-only against recent merges in
apache/airflow(withgh run cancelreplaced byecho): it matched the runs of each merged pull request, including those from forks, and left out the workflows triggered by the merge.Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting