This is an automated email from the ASF dual-hosted git repository.
gaogaotiantian pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 43647dbe46b0 [SPARK-58834][4.1][INFRA] Bump docker CI actions to
latest ASF-allowlisted versions
43647dbe46b0 is described below
commit 43647dbe46b080973db9ba0aca6a3d7148215f00
Author: Tian Gao <[email protected]>
AuthorDate: Tue Aug 18 07:56:11 2026 -0700
[SPARK-58834][4.1][INFRA] Bump docker CI actions to latest ASF-allowlisted
versions
### What changes were proposed in this pull request?
Backport of
[SPARK-58834](https://issues.apache.org/jira/browse/SPARK-58834) to
`branch-4.1`. ASF's actions allow-list update
(apache/infrastructure-actions273b783) removed the expired docker action pins
that Spark CI was using. This PR bumps the affected pins in
`.github/workflows/build_and_test.yml` and
`.github/workflows/build_infra_images_cache.yml` to the latest allow-listed
versions:
| Action | Old | New |
|---|---|---|
| `docker/setup-buildx-action` | v4.0.0 (`4d04d5d`) | v4.2.0 (`bb05f3f`) |
| `docker/login-action` | v4.1.0 (`4907a6d`) | v4.6.0 (`dbcb813`) |
| `docker/build-push-action` | v7.1.0 (`bcafcac`) | v7.3.0 (`53b7df9`) |
| `docker/setup-qemu-action` | v4.0.0 (`ce36039`) | v4.2.0 (`96fe6ef`) |
The first three pins were removed from the allow-list;
`docker/setup-qemu-action` was not removed in that commit but its v4.0.0 pin
was expiring, so it is bumped in the same pass.
### Why are the changes needed?
The removed pins are no longer on the ASF actions allow-list, which would
cause CI jobs that use these docker actions to fail.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
CI on this PR exercises the updated actions.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 4.8)
Closes #58069 from gaogaotiantian/SPARK-58834-followup-4.1.
Authored-by: Tian Gao <[email protected]>
Signed-off-by: Tian Gao <[email protected]>
---
.github/workflows/build_and_test.yml | 16 ++++++------
.github/workflows/build_infra_images_cache.yml | 36 +++++++++++++-------------
2 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/.github/workflows/build_and_test.yml
b/.github/workflows/build_and_test.yml
index 81777db1706b..cc9a14b98865 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -431,7 +431,7 @@ jobs:
packages: write
steps:
- name: Login to GitHub Container Registry
- uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -451,13 +451,13 @@ jobs:
git -c user.name='Apache Spark Test Account' -c
user.email='[email protected]' merge --no-commit --progress --squash
FETCH_HEAD
git -c user.name='Apache Spark Test Account' -c
user.email='[email protected]' commit -m "Merged commit" --allow-empty
- name: Set up QEMU
- uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
+ uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8
- name: Set up Docker Buildx
- uses:
docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
+ uses:
docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c
- name: Build and push for branch-3.5
if: inputs.branch == 'branch-3.5'
id: docker_build
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/infra/
push: true
@@ -468,7 +468,7 @@ jobs:
- name: Build and push (Documentation)
if: ${{ inputs.branch != 'branch-3.5' &&
fromJson(needs.precondition.outputs.required).docs == 'true' &&
hashFiles('dev/spark-test-image/docs/Dockerfile') != '' }}
id: docker_build_docs
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/docs/
push: true
@@ -479,7 +479,7 @@ jobs:
- name: Build and push (Linter)
if: ${{ inputs.branch != 'branch-3.5' &&
fromJson(needs.precondition.outputs.required).lint == 'true' &&
hashFiles('dev/spark-test-image/lint/Dockerfile') != '' }}
id: docker_build_lint
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/lint/
push: true
@@ -490,7 +490,7 @@ jobs:
- name: Build and push (SparkR)
if: ${{ inputs.branch != 'branch-3.5' &&
fromJson(needs.precondition.outputs.required).sparkr == 'true' &&
hashFiles('dev/spark-test-image/sparkr/Dockerfile') != '' }}
id: docker_build_sparkr
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/sparkr/
push: true
@@ -502,7 +502,7 @@ jobs:
if: ${{ inputs.branch != 'branch-3.5' &&
(fromJson(needs.precondition.outputs.required).pyspark == 'true' ||
fromJson(needs.precondition.outputs.required).pyspark-pandas == 'true') &&
env.PYSPARK_IMAGE_TO_TEST != '' }}
id: docker_build_pyspark
env: ${{ fromJSON(inputs.envs) }}
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/${{ env.PYSPARK_IMAGE_TO_TEST }}/
push: true
diff --git a/.github/workflows/build_infra_images_cache.yml
b/.github/workflows/build_infra_images_cache.yml
index 9288f1dc7eb9..562a35cfa505 100644
--- a/.github/workflows/build_infra_images_cache.yml
+++ b/.github/workflows/build_infra_images_cache.yml
@@ -55,18 +55,18 @@ jobs:
- name: Checkout Spark repository
uses: actions/checkout@v4
- name: Set up QEMU
- uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a
+ uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8
- name: Set up Docker Buildx
- uses:
docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd
+ uses:
docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c
- name: Login to DockerHub
- uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
id: docker_build
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/infra/
push: true
@@ -78,7 +78,7 @@ jobs:
- name: Build and push (Documentation)
if: hashFiles('dev/spark-test-image/docs/Dockerfile') != ''
id: docker_build_docs
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/docs/
push: true
@@ -91,7 +91,7 @@ jobs:
- name: Build and push (Linter)
if: hashFiles('dev/spark-test-image/lint/Dockerfile') != ''
id: docker_build_lint
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/lint/
push: true
@@ -104,7 +104,7 @@ jobs:
- name: Build and push (SparkR)
if: hashFiles('dev/spark-test-image/sparkr/Dockerfile') != ''
id: docker_build_sparkr
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/sparkr/
push: true
@@ -117,7 +117,7 @@ jobs:
- name: Build and push (PySpark with old dependencies)
if: hashFiles('dev/spark-test-image/python-minimum/Dockerfile') != ''
id: docker_build_pyspark_python_minimum
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-minimum/
push: true
@@ -130,7 +130,7 @@ jobs:
- name: Build and push (PySpark PS with old dependencies)
if: hashFiles('dev/spark-test-image/python-ps-minimum/Dockerfile') !=
''
id: docker_build_pyspark_python_ps_minimum
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-ps-minimum/
push: true
@@ -143,7 +143,7 @@ jobs:
- name: Build and push (PySpark with PyPy 3.10)
if: hashFiles('dev/spark-test-image/pypy-310/Dockerfile') != ''
id: docker_build_pyspark_pypy_310
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/pypy-310/
push: true
@@ -156,7 +156,7 @@ jobs:
- name: Build and push (PySpark with Python 3.10)
if: hashFiles('dev/spark-test-image/python-310/Dockerfile') != ''
id: docker_build_pyspark_python_310
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-310/
push: true
@@ -169,7 +169,7 @@ jobs:
- name: Build and push (PySpark with Python 3.11)
if: hashFiles('dev/spark-test-image/python-311/Dockerfile') != ''
id: docker_build_pyspark_python_311
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-311/
push: true
@@ -182,7 +182,7 @@ jobs:
- name: Build and push (PySpark Classic Only with Python 3.11)
if:
hashFiles('dev/spark-test-image/python-311-classic-only/Dockerfile') != ''
id: docker_build_pyspark_python_311_classic_only
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-311-classic-only/
push: true
@@ -195,7 +195,7 @@ jobs:
- name: Build and push (PySpark with Python 3.12)
if: hashFiles('dev/spark-test-image/python-312/Dockerfile') != ''
id: docker_build_pyspark_python_312
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-312/
push: true
@@ -208,7 +208,7 @@ jobs:
- name: Build and push (PySpark with Python 3.13)
if: hashFiles('dev/spark-test-image/python-313/Dockerfile') != ''
id: docker_build_pyspark_python_313
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-313/
push: true
@@ -221,7 +221,7 @@ jobs:
- name: Build and push (PySpark with Python 3.13 no GIL)
if: hashFiles('dev/spark-test-image/python-313-nogil/Dockerfile') != ''
id: docker_build_pyspark_python_313_nogil
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-313-nogil/
push: true
@@ -234,7 +234,7 @@ jobs:
- name: Build and push (PySpark with Python 3.14)
if: hashFiles('dev/spark-test-image/python-314/Dockerfile') != ''
id: docker_build_pyspark_python_314
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-314/
push: true
@@ -247,7 +247,7 @@ jobs:
- name: Build and push (PySpark with Numpy 2.1.3)
if: hashFiles('dev/spark-test-image/numpy-213/Dockerfile') != ''
id: docker_build_pyspark_numpy_213
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/numpy-213/
push: true
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]