From d30903b320ac6f98832fcdf2557a6ddbcd682d77 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 14 Oct 2026 09:57:40 -0400 Subject: [PATCH 1/2] ci: raise the merge queue status check timeout to 360 minutes Manage the merge queue parameters for `main` through a `.asf.yaml` ruleset, keeping every parameter at its current value except the status check timeout, which goes from the 60 minute default to 360 minutes (the maximum GitHub allows). Part of #26292 Co-Authored-By: Claude Fable 5.1 --- .asf.yaml | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/.asf.yaml b/.asf.yaml index 998e4d578166f..e6ef9562eeecd 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -112,6 +112,49 @@ github: branch-55: required_pull_request_reviews: required_approving_review_count: 1 + # GitHub merge queue settings for `main`. + # + # The merge queue itself was originally enabled by ASF Infra in classic + # branch protection (INFRA-27154), which .asf.yaml can not express. Rulesets + # can, and .asf.yaml passes raw Rulesets API payloads through unchanged, so + # the queue parameters are managed here. See + # https://github.com/apache/infrastructure-asfyaml#rulesets + # + # Merge queue rules do not support wildcard ref patterns, so only the default + # branch is covered; release branches keep plain branch protection above. + rulesets: + - name: Merge Queue + target: branch + enforcement: active + conditions: + ref_name: + include: + - "~DEFAULT_BRANCH" + exclude: [] + rules: + - type: merge_queue + parameters: + # Matches enabled_merge_buttons above. + merge_method: SQUASH + # Every entry's own build must be green, not only the head of the + # group. + grouping_strategy: ALLGREEN + # How many queue entries are built and tested concurrently. + max_entries_to_build: 5 + # How many green entries may land in one merge operation. This + # does not combine CI builds; each entry is always built on its + # own. + max_entries_to_merge: 1 + min_entries_to_merge: 1 + min_entries_to_merge_wait_minutes: 5 + # How long the queue waits for a required check to report before + # treating it as failed and evicting the entry. The queue's CI + # finishes in 10-25 minutes once it is running, but jobs can sit + # waiting for a shared ASF runner for well over an hour. With the + # default of 60 minutes, healthy entries were evicted and all of + # their CI rerun from scratch (see #26292). 360 is the maximum + # GitHub allows. + check_response_timeout_minutes: 360 pull_requests: # enable updating head branches of pull requests allow_update_branch: true From 210ec8d28b911da698a7543f9254a585bb74b37b Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Wed, 14 Oct 2026 10:03:36 -0400 Subject: [PATCH 2/2] un AIify the comments --- .asf.yaml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index e6ef9562eeecd..4515eb3feb6f2 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -112,12 +112,10 @@ github: branch-55: required_pull_request_reviews: required_approving_review_count: 1 + # GitHub merge queue settings for `main`. # - # The merge queue itself was originally enabled by ASF Infra in classic - # branch protection (INFRA-27154), which .asf.yaml can not express. Rulesets - # can, and .asf.yaml passes raw Rulesets API payloads through unchanged, so - # the queue parameters are managed here. See + # The merge queue is managed through rulesets # https://github.com/apache/infrastructure-asfyaml#rulesets # # Merge queue rules do not support wildcard ref patterns, so only the default @@ -141,19 +139,15 @@ github: grouping_strategy: ALLGREEN # How many queue entries are built and tested concurrently. max_entries_to_build: 5 - # How many green entries may land in one merge operation. This - # does not combine CI builds; each entry is always built on its - # own. + # How many green entries may land in one merge operation (note this + # does not combine CI builds) max_entries_to_merge: 1 min_entries_to_merge: 1 min_entries_to_merge_wait_minutes: 5 # How long the queue waits for a required check to report before - # treating it as failed and evicting the entry. The queue's CI - # finishes in 10-25 minutes once it is running, but jobs can sit - # waiting for a shared ASF runner for well over an hour. With the - # default of 60 minutes, healthy entries were evicted and all of - # their CI rerun from scratch (see #26292). 360 is the maximum - # GitHub allows. + # treating it as failed and evicting the entry. Set to 6h to handle + # periods of high runner queue times. See + # https://github.com/apache/datafusion/issues/26292 check_response_timeout_minutes: 360 pull_requests: # enable updating head branches of pull requests