potiuk commented on code in PR #75142:
URL: https://github.com/apache/airflow/pull/75142#discussion_r4366869922


##########
dev/README_AIRFLOW3_DEV.md:
##########
@@ -179,6 +180,41 @@ PRs should **never** target `v2-11-stable` directly unless 
explicitly instructed
 
 The following sections explains the protocol for merging PRs.
 
+## Auto-merge
+
+Auto-merge is enabled for PRs targeting `main`. Instead of waiting for CI to 
finish, approve the PR and
+click **Enable auto-merge** (or run `gh pr merge <number> --squash --auto`). 
GitHub squash-merges the PR
+as soon as it has an approval, its conversations are resolved and the required 
checks are green. Any
+committer can cancel it with **Disable auto-merge**. A push by the PR author 
(or anyone else without
+write access) disables auto-merge, so the author cannot change the PR after 
you approved it; review the
+new commits and enable it again. Pushes by committers keep it enabled.
+
+Auto-merge is enabled for the whole repository, so every branch that PRs 
target requires CI. The
+"Require CI on release branches" ruleset requires **CI passed** on the 
release, providers, chart and
+`airflow-ctl` branches. A release branch gets the **CI passed** job only once 
it is backported there; until
+then, its PRs never report the check, and a committer merges them by bypassing 
the rule. Backport the job to
+the active release branches when this lands.

Review Comment:
   Agreed - removed in ce0853cb0c. The README now only describes how the 
release-branch ruleset behaves; the backports of the "CI passed" job to the 
active release branches will be follow-up PRs, not an instruction in the docs.
   
   ---
   Drafted-by: Claude Code (Claude Opus 5.5); reviewed by @potiuk before posting



##########
dev/README_AIRFLOW3_DEV.md:
##########
@@ -179,6 +180,41 @@ PRs should **never** target `v2-11-stable` directly unless 
explicitly instructed
 
 The following sections explains the protocol for merging PRs.
 
+## Auto-merge
+
+Auto-merge is enabled for PRs targeting `main`. Instead of waiting for CI to 
finish, approve the PR and
+click **Enable auto-merge** (or run `gh pr merge <number> --squash --auto`). 
GitHub squash-merges the PR
+as soon as it has an approval, its conversations are resolved and the required 
checks are green. Any
+committer can cancel it with **Disable auto-merge**. A push by the PR author 
(or anyone else without
+write access) disables auto-merge, so the author cannot change the PR after 
you approved it; review the
+new commits and enable it again. Pushes by committers keep it enabled.
+
+Auto-merge is enabled for the whole repository, so every branch that PRs 
target requires CI. The
+"Require CI on release branches" ruleset requires **CI passed** on the 
release, providers, chart and
+`airflow-ctl` branches. A release branch gets the **CI passed** job only once 
it is backported there; until
+then, its PRs never report the check, and a committer merges them by bypassing 
the rule. Backport the job to
+the active release branches when this lands.
+
+The `main` ruleset requires two checks. **CI passed** is a job in the `Tests 
(AMD)` workflow that always

Review Comment:
   Yes - PRs only run `Tests (AMD)`, so the required check comes from there, 
but `Tests (ARM)` has the identical job for its push and scheduled runs. The 
README now says so (ce0853cb0c).
   
   ---
   Drafted-by: Claude Code (Claude Opus 5.5); reviewed by @potiuk before posting



##########
.github/workflows/ci-arm.yml:
##########
@@ -1240,6 +1240,64 @@ jobs:
       use-uv: ${{ needs.build-info.outputs.use-uv }}
       debug-resources: ${{ needs.build-info.outputs.debug-resources }}
 
+  ci-passed:

Review Comment:
   It is a copy by necessity - GitHub Actions has no cross-file include, and 
the gate has to list every job of its own workflow in `needs:`, so it cannot 
live in a reusable workflow. They cannot drift though: 
`check-ci-workflows-in-sync` already requires `ci-amd.yml` and `ci-arm.yml` to 
be byte-identical apart from a short documented list of divergences, and the 
gate job is not on that list - editing one copy without the other fails static 
checks.
   
   ---
   Drafted-by: Claude Code (Claude Opus 5.5); reviewed by @potiuk before posting



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