This is an automated email from the ASF dual-hosted git repository.
gaogaotiantian pushed a commit to branch branch-4.3
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.3 by this push:
new 50ca09383b15 [SPARK-58834][INFRA] Bump docker CI actions to latest
ASF-allowlisted versions
50ca09383b15 is described below
commit 50ca09383b15cea0f6459875068689894fe1c2ac
Author: Tian Gao <[email protected]>
AuthorDate: Mon Aug 17 23:50:35 2026 -0700
[SPARK-58834][INFRA] Bump docker CI actions to latest ASF-allowlisted
versions
### What changes were proposed in this pull request?
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
expires on 2026-08-19, 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 #58063 from gaogaotiantian/SPARK-docker-actions-allowlist.
Authored-by: Tian Gao <[email protected]>
Signed-off-by: Tian Gao <[email protected]>
(cherry picked from commit cccb6a0716789c7e2b1c59eae17c0cbf611f9f59)
Signed-off-by: Tian Gao <[email protected]>
---
.github/workflows/build_and_test.yml | 14 ++++++-------
.github/workflows/build_infra_images_cache.yml | 28 +++++++++++++-------------
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/.github/workflows/build_and_test.yml
b/.github/workflows/build_and_test.yml
index 5bfd65d7f78c..a3107ab9f947 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -468,7 +468,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 }}
@@ -488,13 +488,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 (Documentation)
if: ${{ 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/
build-contexts: |
@@ -507,7 +507,7 @@ jobs:
- name: Build and push (Linter)
if: ${{ 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/
build-contexts: |
@@ -520,7 +520,7 @@ jobs:
- name: Build and push (SparkR)
if: ${{ 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
@@ -532,7 +532,7 @@ jobs:
if: ${{ (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 }}/
build-contexts: |
diff --git a/.github/workflows/build_infra_images_cache.yml
b/.github/workflows/build_infra_images_cache.yml
index d5063f8db9d2..ff0a5d10667a 100644
--- a/.github/workflows/build_infra_images_cache.yml
+++ b/.github/workflows/build_infra_images_cache.yml
@@ -59,11 +59,11 @@ jobs:
- name: Checkout Spark repository
uses: actions/checkout@v6
- 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 }}
@@ -72,7 +72,7 @@ jobs:
if: hashFiles('dev/spark-test-image/docs/Dockerfile') != ''
id: docker_build_docs
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/docs/
build-contexts: |
@@ -88,7 +88,7 @@ jobs:
if: hashFiles('dev/spark-test-image/lint/Dockerfile') != ''
id: docker_build_lint
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/lint/
build-contexts: |
@@ -104,7 +104,7 @@ jobs:
if: hashFiles('dev/spark-test-image/sparkr/Dockerfile') != ''
id: docker_build_sparkr
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/sparkr/
push: true
@@ -118,7 +118,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-minimum/Dockerfile') != ''
id: docker_build_pyspark_python_minimum
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-minimum/
push: true
@@ -132,7 +132,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-311/Dockerfile') != ''
id: docker_build_pyspark_python_311
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-311/
build-contexts: |
@@ -148,7 +148,7 @@ jobs:
if:
hashFiles('dev/spark-test-image/python-312-classic-only/Dockerfile') != ''
id: docker_build_pyspark_python_312_classic_only
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-312-classic-only/
push: true
@@ -162,7 +162,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-312/Dockerfile') != ''
id: docker_build_pyspark_python_312
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-312/
build-contexts: |
@@ -178,7 +178,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-312-pandas-3/Dockerfile')
!= ''
id: docker_build_pyspark_python_312_pandas_3
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-312-pandas-3/
push: true
@@ -192,7 +192,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-313/Dockerfile') != ''
id: docker_build_pyspark_python_313
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-313/
build-contexts: |
@@ -208,7 +208,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-314/Dockerfile') != ''
id: docker_build_pyspark_python_314
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-314/
build-contexts: |
@@ -224,7 +224,7 @@ jobs:
if: hashFiles('dev/spark-test-image/python-314-nogil/Dockerfile') != ''
id: docker_build_pyspark_python_314_nogil
continue-on-error: true
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f
+ uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a
with:
context: ./dev/spark-test-image/python-314-nogil/
push: true
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]