This is an automated email from the ASF dual-hosted git repository.
gaogaotiantian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new a423d06f3d9f [SPARK-57327][INFRA] Move scheduled CIs for 4.1 to
branch-4.1
a423d06f3d9f is described below
commit a423d06f3d9f14b4dd112ae255ed9317b9ab5ab7
Author: Tian Gao <[email protected]>
AuthorDate: Thu Jun 11 15:29:02 2026 -0700
[SPARK-57327][INFRA] Move scheduled CIs for 4.1 to branch-4.1
### What changes were proposed in this pull request?
Add a unified entry for all scheduled CIs for branch-4.1
(`branch41_scheduler.yml`). It uses `gh workflow` to trigger the self-contained
build workflows on `branch-4.1`, and removes the per-build
`build_branch41_*.yml` files from `master`.
This follows the same approach as SPARK-56990 (#56046), which did this for
`branch-4.x`. SPARK-57267 (#56330) already laid the ground on `branch-4.1` by
making the build workflows self-contained and dispatchable, so this PR only
needs to change the `master` scheduled tasks.
The scheduler triggers the following targets on `branch-4.1` (also exposed
via `workflow_dispatch`): `build_java17`, `build_java21`, `build_maven`,
`build_maven_java21`, `build_non_ansi`, `build_python_3.11`,
`build_python_3.14`, `build_python_pypy3.10`. Note this differs from the
`branch-4.x` set: there is no `java25` build on `branch-4.1`, and `branch-4.1`
additionally has a `pypy3.10` build. The cron times are spread out and chosen
to avoid the hours already used by the `branch-4.x [...]
`README.md` is updated so the branch-4.1 badges point at the self-contained
workflows filtered by `?branch=branch-4.1`.
### Why are the changes needed?
This is part of decoupling our CIs. All `branch-4.1` related CIs should
only rely on files on `branch-4.1`, with the exception of this new scheduler
file which is needed on `master` to trigger scheduled tasks (scheduled
workflows only fire from the default branch).
### Does this PR introduce _any_ user-facing change?
No. CI only.
### How was this patch tested?
These workflows can be triggered manually via `workflow_dispatch` once
merged.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.8)
Closes #56379 from gaogaotiantian/decouple-branch41-scheduler.
Authored-by: Tian Gao <[email protected]>
Signed-off-by: Tian Gao <[email protected]>
---
.github/workflows/branch41_scheduler.yml | 114 +++++++++++++++++++++
.github/workflows/build_branch41.yml | 53 ----------
.github/workflows/build_branch41_java21.yml | 57 -----------
.github/workflows/build_branch41_maven_java21.yml | 36 -------
.github/workflows/build_branch41_non_ansi.yml | 54 ----------
.github/workflows/build_branch41_python.yml | 47 ---------
.github/workflows/build_branch41_python_3.14.yml | 47 ---------
.../workflows/build_branch41_python_pypy3.10.yml | 47 ---------
...ranch41_maven.yml => build_python_pypy3.10.yml} | 22 ++--
README.md | 16 +--
10 files changed, 135 insertions(+), 358 deletions(-)
diff --git a/.github/workflows/branch41_scheduler.yml
b/.github/workflows/branch41_scheduler.yml
new file mode 100644
index 000000000000..e7b14bc0ed7f
--- /dev/null
+++ b/.github/workflows/branch41_scheduler.yml
@@ -0,0 +1,114 @@
+#
+# 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: "Branch-4.1 CI Scheduler"
+
+on:
+ schedule:
+ - cron: '0 2 */2 * *'
+ - cron: '0 5 */2 * *'
+ - cron: '0 9 */2 * *'
+ - cron: '0 10 */2 * *'
+ - cron: '0 12 */2 * *'
+ - cron: '0 13 */2 * *'
+ - cron: '0 15 */2 * *'
+ - cron: '0 17 */2 * *'
+ workflow_dispatch:
+ inputs:
+ target:
+ description: Target workflow to run
+ required: true
+ type: choice
+ default: all
+ options:
+ - all
+ - maven
+ - maven_java21
+ - java17
+ - java21
+ - non_ansi
+ - python_3.11
+ - python_3.14
+ - python_pypy3.10
+
+jobs:
+ schedule:
+ if: github.repository == 'apache/spark'
+ runs-on: ubuntu-latest
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ permissions:
+ actions: write
+ steps:
+ - name: Maven Build
+ if: >-
+ github.event.schedule == '0 13 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'maven' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_maven.yml --repo ${{ github.repository }}
--ref branch-4.1
+ - name: Maven Java 21 Build
+ if: >-
+ github.event.schedule == '0 15 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'maven_java21' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_maven_java21.yml --repo ${{ github.repository
}} --ref branch-4.1
+ - name: Java 17 Build
+ if: >-
+ github.event.schedule == '0 12 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'java17' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_java17.yml --repo ${{ github.repository }}
--ref branch-4.1
+ - name: Java 21 Build
+ if: >-
+ github.event.schedule == '0 5 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'java21' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_java21.yml --repo ${{ github.repository }}
--ref branch-4.1
+ - name: Non-ANSI Build
+ if: >-
+ github.event.schedule == '0 2 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'non_ansi' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_non_ansi.yml --repo ${{ github.repository }}
--ref branch-4.1
+ - name: Python 3.11 Build
+ if: >-
+ github.event.schedule == '0 9 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'python_3.11' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_python_3.11.yml --repo ${{ github.repository
}} --ref branch-4.1
+ - name: Python 3.14 Build
+ if: >-
+ github.event.schedule == '0 10 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'python_3.14' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_python_3.14.yml --repo ${{ github.repository
}} --ref branch-4.1
+ - name: Python PyPy 3.10 Build
+ if: >-
+ github.event.schedule == '0 17 */2 * *' ||
+ (github.event_name == 'workflow_dispatch' &&
+ (inputs.target == 'python_pypy3.10' || inputs.target == 'all'))
+ run: |
+ gh workflow run build_python_pypy3.10.yml --repo ${{
github.repository }} --ref branch-4.1
diff --git a/.github/workflows/build_branch41.yml
b/.github/workflows/build_branch41.yml
deleted file mode 100644
index 791308e335bd..000000000000
--- a/.github/workflows/build_branch41.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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: "Build (branch-4.1, Scala 2.13, Hadoop 3, JDK 17)"
-
-on:
- schedule:
- - cron: '0 12 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 17
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "SCALA_PROFILE": "scala2.13",
- "PYSPARK_IMAGE_TO_TEST": "",
- "PYTHON_TO_TEST": "",
- "ORACLE_DOCKER_IMAGE_NAME": "gvenzl/oracle-free:23.7-slim"
- }
- jobs: >-
- {
- "build": "true",
- "sparkr": "true",
- "tpcds-1g": "true",
- "docker-integration-tests": "true",
- "k8s-integration-tests": "true",
- "lint" : "true"
- }
diff --git a/.github/workflows/build_branch41_java21.yml
b/.github/workflows/build_branch41_java21.yml
deleted file mode 100644
index 25dca5906d35..000000000000
--- a/.github/workflows/build_branch41_java21.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# 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: "Build (branch-4.1, Scala 2.13, Hadoop 3, JDK 21)"
-
-on:
- schedule:
- - cron: '0 5 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 21
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "PYSPARK_IMAGE_TO_TEST": "python-311",
- "PYTHON_TO_TEST": "python3.11",
- "SKIP_MIMA": "true",
- "SKIP_UNIDOC": "true",
- "DEDICATED_JVM_SBT_TESTS":
"org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormatV1Suite,org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormatV2Suite,org.apache.spark.sql.execution.datasources.orc.OrcSourceV1Suite,org.apache.spark.sql.execution.datasources.orc.OrcSourceV2Suite"
- }
- jobs: >-
- {
- "build": "true",
- "pyspark": "true",
- "sparkr": "true",
- "tpcds-1g": "true",
- "docker-integration-tests": "true",
- "yarn": "true",
- "k8s-integration-tests": "true",
- "buf": "true",
- "ui": "true"
- }
diff --git a/.github/workflows/build_branch41_maven_java21.yml
b/.github/workflows/build_branch41_maven_java21.yml
deleted file mode 100644
index c042c4004468..000000000000
--- a/.github/workflows/build_branch41_maven_java21.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# 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: "Build / Maven (branch-4.1, Scala 2.13, Hadoop 3, JDK 21)"
-
-on:
- schedule:
- - cron: '0 14 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/maven_test.yml
- if: github.repository == 'apache/spark'
- with:
- branch: branch-4.1
- java: 21
diff --git a/.github/workflows/build_branch41_non_ansi.yml
b/.github/workflows/build_branch41_non_ansi.yml
deleted file mode 100644
index 8dd077593034..000000000000
--- a/.github/workflows/build_branch41_non_ansi.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# 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: "Build / Non-ANSI (branch-4.1, Hadoop 3, JDK 17, Scala 2.13)"
-
-on:
- schedule:
- - cron: '0 2 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 17
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "PYSPARK_IMAGE_TO_TEST": "python-311",
- "PYTHON_TO_TEST": "python3.11",
- "SPARK_ANSI_SQL_MODE": "false",
- }
- jobs: >-
- {
- "build": "true",
- "build-core-utils": "false",
- "docs": "true",
- "pyspark": "true",
- "sparkr": "true",
- "tpcds-1g": "true",
- "docker-integration-tests": "true",
- "yarn": "true"
- }
diff --git a/.github/workflows/build_branch41_python.yml
b/.github/workflows/build_branch41_python.yml
deleted file mode 100644
index 5a420e025fbf..000000000000
--- a/.github/workflows/build_branch41_python.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# 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: "Build / Python-only (branch-4.1)"
-
-on:
- schedule:
- - cron: '0 12 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 17
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "PYSPARK_IMAGE_TO_TEST": "python-311",
- "PYTHON_TO_TEST": "python3.11"
- }
- jobs: >-
- {
- "pyspark": "true",
- "pyspark-pandas": "true"
- }
diff --git a/.github/workflows/build_branch41_python_3.14.yml
b/.github/workflows/build_branch41_python_3.14.yml
deleted file mode 100644
index aae03547e258..000000000000
--- a/.github/workflows/build_branch41_python_3.14.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# 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: "Build / Python-only (branch-4.1, Python 3.14)"
-
-on:
- schedule:
- - cron: '0 12 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 17
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "PYSPARK_IMAGE_TO_TEST": "python-314",
- "PYTHON_TO_TEST": "python3.14"
- }
- jobs: >-
- {
- "pyspark": "true",
- "pyspark-pandas": "true"
- }
diff --git a/.github/workflows/build_branch41_python_pypy3.10.yml
b/.github/workflows/build_branch41_python_pypy3.10.yml
deleted file mode 100644
index 49c4ffb463ca..000000000000
--- a/.github/workflows/build_branch41_python_pypy3.10.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# 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: "Build / Python-only (branch-4.1, PyPy 3.10)"
-
-on:
- schedule:
- - cron: '0 16 */2 * *'
- workflow_dispatch:
-
-jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/build_and_test.yml
- if: github.repository == 'apache/spark'
- with:
- java: 17
- branch: branch-4.1
- hadoop: hadoop3
- envs: >-
- {
- "PYSPARK_IMAGE_TO_TEST": "pypy-310",
- "PYTHON_TO_TEST": "pypy3"
- }
- jobs: >-
- {
- "pyspark": "true",
- "pyspark-pandas": "true"
- }
diff --git a/.github/workflows/build_branch41_maven.yml
b/.github/workflows/build_python_pypy3.10.yml
similarity index 59%
rename from .github/workflows/build_branch41_maven.yml
rename to .github/workflows/build_python_pypy3.10.yml
index 890ac073124d..409ba1c7c22f 100644
--- a/.github/workflows/build_branch41_maven.yml
+++ b/.github/workflows/build_python_pypy3.10.yml
@@ -17,19 +17,21 @@
# under the License.
#
-name: "Build / Maven (branch-4.1, Scala 2.13, Hadoop 3, JDK 17)"
+# This is a placeholder. PyPy support was dropped since Spark 4.2, so master
+# does not run this build. The file exists here only so that the README build
+# status badge, which resolves a workflow by its path on the default branch,
+# renders for the branches that still run it (e.g. branch-4.1). The actual
+# build is defined in the same file on those branches.
+
+name: "Build / Python-only (PyPy 3.10)"
on:
- schedule:
- - cron: '0 14 */2 * *'
workflow_dispatch:
jobs:
- run-build:
- permissions:
- packages: write
- name: Run
- uses: ./.github/workflows/maven_test.yml
+ noop:
if: github.repository == 'apache/spark'
- with:
- branch: branch-4.1
+ runs-on: ubuntu-latest
+ steps:
+ - name: No-op
+ run: echo "PyPy 3.10 is not built on this branch. See branches that
still support it (e.g. branch-4.1)."
diff --git a/README.md b/README.md
index 2ebaf35f2416..9881c5636896 100644
--- a/README.md
+++ b/README.md
@@ -71,13 +71,15 @@ This README file only contains basic setup instructions.
| | [](https://github.com/apache/spark/actions/workflows/build_branch42_maven_java21.yml)
|
| | [](https://github.com/apache/spark/actions/workflows/build_branch42_python.yml)
|
| | [](https://github.com/apache/spark/actions/workflows/build_branch42_python_3.14.yml)
|
-| branch-4.1 | [](https://github.com/apache/spark/actions/workflows/build_branch41.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_java21.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_non_ansi.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_maven.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_maven_java21.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_python.yml)
|
-| | [](https://github.com/apache/spark/actions/workflows/build_branch41_python_pypy3.10.yml)
|
+| branch-4.1 | [](https://github.com/apache/spark/actions/workflows/build_main.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_java17.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_java21.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_non_ansi.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_maven.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_maven_java21.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_python_3.11.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_python_3.14.yml?query=branch%3Abranch-4.1)
|
+| | [](https://github.com/apache/spark/actions/workflows/build_python_pypy3.10.yml?query=branch%3Abranch-4.1)
|
| branch-4.0 | [](https://github.com/apache/spark/actions/workflows/build_branch40.yml)
|
| | [](https://github.com/apache/spark/actions/workflows/build_branch40_java21.yml)
|
| | [](https://github.com/apache/spark/actions/workflows/build_branch40_non_ansi.yml)
|
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]