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]