This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch auto-approve-every-15-minutes in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 212e61ab4eb163eca8fd70c337eb61f74e854a5d Author: Jarek Potiuk <[email protected]> AuthorDate: Mon Oct 26 13:31:01 2026 +0100 Check for workflow runs to auto-approve every 15 minutes External contributors' runs wait for the next approver pass before they start, and GitHub regularly drops scheduled runs under load, which turns the 30-minute wait into an hour or more. A pass takes about a minute, so running it twice as often costs little and halves the wait. Generated-by: Claude Opus 5 --- .github/workflows/auto-approve-workflow-runs.yml | 2 +- contributing-docs/05_pull_requests.rst | 2 +- dev/breeze/doc/08_ci_tasks.rst | 2 +- dev/breeze/doc/ci/05_workflows.md | 2 +- dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/auto-approve-workflow-runs.yml b/.github/workflows/auto-approve-workflow-runs.yml index b89f201bb2f..61d86be7a64 100644 --- a/.github/workflows/auto-approve-workflow-runs.yml +++ b/.github/workflows/auto-approve-workflow-runs.yml @@ -29,7 +29,7 @@ name: Auto approve workflow runs on: # yamllint disable-line rule:truthy schedule: - - cron: '*/30 * * * *' + - cron: '*/15 * * * *' workflow_dispatch: inputs: report-only: diff --git a/contributing-docs/05_pull_requests.rst b/contributing-docs/05_pull_requests.rst index 0b178c13322..593180aba6f 100644 --- a/contributing-docs/05_pull_requests.rst +++ b/contributing-docs/05_pull_requests.rst @@ -247,7 +247,7 @@ CI workflow runs of external contributors GitHub does not start the CI workflows of a PR from a fork until a maintainer approves them, for the contributors that the repository's approval setting covers. To keep you from waiting -for a maintainer on every push, a scheduled workflow checks the waiting runs every 30 minutes +for a maintainer on every push, a scheduled workflow checks the waiting runs every 15 minutes and approves them automatically when all of these hold: * The PR targets ``main``. PRs to release branches, such as ``v3-4-test``, always wait for a diff --git a/dev/breeze/doc/08_ci_tasks.rst b/dev/breeze/doc/08_ci_tasks.rst index 591e796eff6..7d00e36ee32 100644 --- a/dev/breeze/doc/08_ci_tasks.rst +++ b/dev/breeze/doc/08_ci_tasks.rst @@ -203,7 +203,7 @@ These are all available flags of ``fork-ci-reconcile`` command: Approving workflow runs of external contributors ------------------------------------------------ -The ``auto-approve-workflow-runs`` workflow runs ``approve-workflow-runs`` every 30 minutes. It approves +The ``auto-approve-workflow-runs`` workflow runs ``approve-workflow-runs`` every 15 minutes. It approves the waiting workflow runs of external contributors' PRs to ``main`` whose CI jobs are estimated at no more than 310 job-minutes, that change at most 100 lines of source code and that do not touch CI definition files, and labels the other PRs ``need workflow approval``. PRs whose CI runs in the contributor's fork (AIP-120) only run the fork CI gate in ``apache/airflow``, so their runs are diff --git a/dev/breeze/doc/ci/05_workflows.md b/dev/breeze/doc/ci/05_workflows.md index c06d4f8a267..928f53d95ed 100644 --- a/dev/breeze/doc/ci/05_workflows.md +++ b/dev/breeze/doc/ci/05_workflows.md @@ -102,7 +102,7 @@ everything after it, so the run finishes in seconds; see GitHub holds the runs of a fork PR in `action_required` until someone with write access approves them, for the contributors the repository's approval setting covers. The -`auto-approve-workflow-runs.yml` workflow runs every 30 minutes on `main` and calls +`auto-approve-workflow-runs.yml` workflow runs every 15 minutes on `main` and calls `breeze ci approve-workflow-runs`, which approves the waiting runs of a commit when all of these hold: - the PR targets `main`; PRs to release branches (`v3-4-test`, `airflow-ctl/v0-1-test`, ...) run those diff --git a/dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md b/dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md index 5f58617cf56..d34c4193688 100644 --- a/dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md +++ b/dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md @@ -345,7 +345,7 @@ then the gate job does not run either. A gated pull request would stay in the ma queue even though its project CI run only executes the gate, and the reconciler could not delete a gated run that never ran. -`breeze ci approve-workflow-runs`, run every 30 minutes by `auto-approve-workflow-runs.yml` (see +`breeze ci approve-workflow-runs`, run every 15 minutes by `auto-approve-workflow-runs.yml` (see [CI workflows](05_workflows.md#approval-of-pull-request-runs)), handles them. For a pull request to `main` it calls `fork_ci_gate.decide` with the configuration of its own `main` checkout and the pull request's author, association, creation time, head repository and current labels, the inputs
