sdf-jkl opened a new pull request, #55318:
URL: https://github.com/apache/arrow/pull/55318

   ### Rationale for this change
   
   Draft prototype for discussion; not ready for review or merge. Two PRs can 
each pass against an older `main` and still break when combined. A merge queue 
would require the combined candidate to pass CI before it reaches `main`.
   
   This is separate from #55314, which experiments with moving contributor PR 
builds to forks. It provides the upstream check before merge that such a setup 
would need.
   
   ### What changes are included in this PR?
   
   - Reuse ten regular language and tooling workflows on `merge_group`, with 
one required **Merge Queue** result. Every suite must succeed; failed, 
cancelled, and skipped suites block the candidate. On PRs, the new check only 
permits queue entry; existing PR CI remains unchanged.
   - Give reusable workflows distinct concurrency groups and exclude queue 
branches from ordinary push builds, avoiding cancellations and duplicate runs.
   - Propose a main-only queue in `.asf.yaml`: squash merges, one candidate 
build at a time, and a six-hour check timeout. **Merging this configuration 
would activate the queue.** Extra, packaging, and release jobs remain outside 
the required gate.
   
   This first step adds pre-merge validation rather than reducing CI usage. 
`dev/merge_arrow_pr.py` uses the direct merge API and cannot enqueue a PR; the 
prototype documents using GitHub's queue UI and closing the issue after the 
actual merge. That maintainer workflow needs agreement before activation.
   
   ### Are these changes tested?
   
   - Ten local tests pass, covering gate results and workflow wiring. The new 
workflow and reusable calls pass actionlint; existing matrix-expression 
warnings in Python/R Extra are unchanged.
   - [Full suite on the 
fork](https://github.com/sdf-jkl/arrow/actions/runs/40912073031): running on 
the exact PR head. Results, including macOS runner availability, are pending.
   - [Fork-only gate 
demonstration](https://github.com/sdf-jkl/arrow/actions/runs/40912033050): uses 
the production gate code with deliberately successful, failed, and skipped 
jobs; results pending. Its overall workflow is expected to fail.
   
   The personal fork cannot enable GitHub's native merge queue. These runs test 
workflow execution and aggregation, not queue ordering, stale-candidate 
replacement, or automatic merging. Those need an organization-owned sandbox 
before activation. The smoke-test/bootstrap commit is on a separate fork branch 
and is not in this PR; the fork's `main` is unchanged.
   
   Discussion points: do we want this upstream gate, which suites should 
initially be mandatory, and is the proposed queue/merge procedure acceptable? A 
tracking issue and dev-list discussion can follow once the prototype's scope is 
agreed.
   
   ### Are there any user-facing changes?
   
   No library API changes. The proposed configuration changes how maintainers 
merge PRs into `main`.
   
   ### Was AI used for this PR?
   
   Codex generated the implementation, tests, documentation, and description 
and performed the initial review. Human review is pending.
   
   **PR code and description written by:**
   
   - [ ] Human
   - [x] AI
   
   **Reviewed before submission by:**
   
   - [ ] Human
   - [x] AI
   - [ ] Not reviewed
   


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