This is an automated email from the ASF dual-hosted git repository.
davidzollo pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new f9b1b330f1 [Feature][CI] Introduce Merge Queue to Keep the dev
Baseline Stable (#11963)
f9b1b330f1 is described below
commit f9b1b330f19687295970e586bac5acff5e323bb6
Author: zhiwei.niu <[email protected]>
AuthorDate: Wed Aug 26 11:52:33 2026 +0800
[Feature][CI] Introduce Merge Queue to Keep the dev Baseline Stable (#11963)
---
.asf.yaml | 22 +++++++++++++
.github/workflows/build_main.yml | 4 +--
.github/workflows/merge_queue.yml | 67 +++++++++++++++++++++++++++++++++++++++
3 files changed, 91 insertions(+), 2 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index e7caebe859..6986e38ef6 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -50,6 +50,28 @@ github:
rebase: false
pull_requests:
allow_update_branch: true
+ rulesets:
+ - name: Merge Queue
+ target: branch
+ enforcement: active
+ bypass_actors: []
+ conditions:
+ ref_name:
+ include:
+ - refs/heads/dev
+ exclude: []
+ rules:
+ - type: merge_queue
+ parameters:
+ # Leave time for runner scheduling and status reporting around the
30-minute job.
+ check_response_timeout_minutes: 45
+ grouping_strategy: ALLGREEN
+ max_entries_to_build: 5
+ # Phase one merges each PR immediately instead of waiting to form
a batch.
+ max_entries_to_merge: 1
+ merge_method: SQUASH
+ min_entries_to_merge: 1
+ min_entries_to_merge_wait_minutes: 0
protected_branches:
dev:
required_status_checks:
diff --git a/.github/workflows/build_main.yml b/.github/workflows/build_main.yml
index d5110c50a4..d46ec4ad26 100644
--- a/.github/workflows/build_main.yml
+++ b/.github/workflows/build_main.yml
@@ -21,8 +21,8 @@ name: "Build"
on:
push:
- branches:
- - '**'
+ branches-ignore:
+ - 'gh-readonly-queue/**'
jobs:
call-build-and-test:
diff --git a/.github/workflows/merge_queue.yml
b/.github/workflows/merge_queue.yml
new file mode 100644
index 0000000000..17505af636
--- /dev/null
+++ b/.github/workflows/merge_queue.yml
@@ -0,0 +1,67 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: Merge Queue
+
+on:
+ merge_group:
+ types: [checks_requested]
+
+permissions:
+ contents: read
+
+jobs:
+ merge-queue-build:
+ # Reuse the required "Build" context that pull requests already report.
+ # Required checks are shared by pull requests and merge groups.
+ name: Build
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - name: Checkout merge group
+ uses: actions/checkout@v4
+ - name: Set up JDK 8
+ uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: '8'
+ cache: maven
+ # Compile the standard modules with the CI profile.
+ - name: Compile main and test sources
+ uses: nick-fields/retry@v3
+ with:
+ timeout_minutes: 28
+ max_attempts: 3
+ retry_wait_seconds: 10
+ retry_on: error
+ command: |
+ ./mvnw -B -T 1C -Pci clean install -DskipTests \
+ -D"license.skipAddThirdParty"=true -D"skip.ui"=true \
+ --no-snapshot-updates
+ # Build the opt-in seatunnel-benchmarks module with its dedicated
profile.
+ - name: Compile benchmark main and test sources
+ uses: nick-fields/retry@v3
+ with:
+ timeout_minutes: 8
+ max_attempts: 3
+ retry_wait_seconds: 10
+ retry_on: error
+ command: |
+ ./mvnw -B -Pbenchmark -pl seatunnel-benchmarks clean install
-DskipTests \
+ -D"license.skipAddThirdParty"=true --no-snapshot-updates