Hello everyone,

I'd like to enable GitHub auto-merge for PRs to main. The change is in
#75142 (https://github.com/apache/airflow/pull/75142).

How it works: after approving a PR, a committer clicks "Enable
auto-merge" (or runs "gh pr merge --squash --auto"), and GitHub
squash-merges the PR as soon as it is approved, its conversations are
resolved and the required checks are green. No more waiting for CI to
finish before clicking merge. A push by the PR author disables
auto-merge, so the author cannot change the PR after it was approved;
any committer can also disable it.

We tried this in April 2025 (#49746) and switched it off after a few
days (#50009, #50049, thread:
https://lists.apache.org/thread/x47xlh2wm0h8dvgzx9b55qbflb5rmldj). Two
things went wrong:

1. To make auto-merge wait for CI, "Finalize tests" became a required
   check. That removed the escape hatch: when CI was red for an
   unrelated reason, nobody could merge, and there was no way to
   override it.
2. It was switched on without a discussion here first.

What is different now:

1. ASF Infra's .asf.yaml now supports rulesets with bypass teams. The
   new "Require CI on main" ruleset lets the airflow-committers team
   bypass the required checks, so committers can still merge a PR whose
   CI is red for an unrelated reason. This is the override we asked for
   back then (INFRA-26779).
2. Instead of "Finalize tests", which is skipped when tests fail (and
   GitHub counts a skipped required check as passed), there is a new
   dedicated "CI passed" job. It always runs and fails if any CI job
   failed or was cancelled; jobs skipped by selective checks count as
   passed, so PRs that run only part of the tests get a proper result
   too. A prek hook makes sure new CI jobs are added to it.
3. This proposal comes first.

Auto-merge will not wait for CodeQL, Dependency review or Registry
tests (the last two only run when dependency or registry files
change). The docs in the PR say so, and ask committers to review PRs
that change GitHub workflows before enabling auto-merge on them.

If I don't hear strong objections within a day, I'll start a lazy
consensus shortly after and merge the PR once it passes.

J.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to