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

   A run that concurrency cancels still runs the `always()` **CI passed** job, 
and that job fails the
   required check. When a stacked PR's base and head are force-pushed together, 
GitHub sends two
   `synchronize` events for the same commit; one of the two runs is cancelled 
seconds in, and its failed
   **CI passed** sits next to the passing one of its twin (seen on #74822, run 
40114451791).
   
   With this change, a run whose jobs were cancelled and none failed reports as
   **CI passed (run cancelled)**, a name no ruleset requires, and does not 
fail. Such a run never reports
   **CI passed** at all, so the merge stays blocked until another run of the 
commit, or a re-run, reports
   it. Any failed job still fails **CI passed** as before.
   
   The fork CI reconciler's tampering check now accepts the new name among the 
jobs every gated run
   starts; without it, a gated PR's run that a newer push cancelled would count 
as project CI work.
   
   Checked locally: prek hooks on the changed files (workflow sync, CI gate 
needs, yamllint, zizmor,
   markdownlint), actionlint on the changed jobs, and the reconciler tests.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code (Opus 5) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   ---
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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