This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/dev/pr-11836-c20fefe3bf05dc636bc70488a11a7ab439a1d2e5 in repository https://gitbox.apache.org/repos/asf/seatunnel.git
commit 10206bc7aa6b6a675777628b54d947bbd1718cee Author: FenjuFu <[email protected]> AuthorDate: Sun Sep 6 03:46:42 2026 +0000 [Improve][E2E] Validate multi-arch Spark image builds (#11836) Signed-off-by: FenjuFu <[email protected]> --- .github/workflows/publish-e2e-spark-images.yaml | 22 +++++++++++++++++++++- .../src/test/docker/spark/Dockerfile | 3 +++ .../src/test/docker/spark/docker-bake.hcl | 8 +++++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-e2e-spark-images.yaml b/.github/workflows/publish-e2e-spark-images.yaml index 1dc452b4d1..5177ba572e 100644 --- a/.github/workflows/publish-e2e-spark-images.yaml +++ b/.github/workflows/publish-e2e-spark-images.yaml @@ -17,6 +17,10 @@ name: publish-e2e-spark-images on: + pull_request: + paths: + - '.github/workflows/publish-e2e-spark-images.yaml' + - 'seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/**' workflow_dispatch: concurrency: @@ -25,7 +29,23 @@ concurrency: jobs: build: - if: github.repository == 'apache/seatunnel' + if: github.event_name == 'pull_request' || github.repository != 'apache/seatunnel' + runs-on: ubuntu-latest + permissions: + contents: read + timeout-minutes: 60 + steps: + - uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build Spark E2E images + working-directory: seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark + run: docker buildx bake + + publish: + if: github.event_name == 'workflow_dispatch' && github.repository == 'apache/seatunnel' runs-on: ubuntu-latest permissions: contents: read diff --git a/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/Dockerfile b/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/Dockerfile index b673896220..b7c7a13c6c 100644 --- a/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/Dockerfile +++ b/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/Dockerfile @@ -18,9 +18,11 @@ FROM eclipse-temurin:8-jre-jammy ARG SPARK_VERSION ARG HADOOP_PROFILE +ARG SPARK_SHA512 RUN test -n "${SPARK_VERSION}" \ && test -n "${HADOOP_PROFILE}" \ + && test -n "${SPARK_SHA512}" \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ bash \ @@ -31,6 +33,7 @@ RUN test -n "${SPARK_VERSION}" \ && curl --fail --location --retry 3 \ "https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-${HADOOP_PROFILE}.tgz" \ --output /tmp/spark.tgz \ + && echo "${SPARK_SHA512} /tmp/spark.tgz" | sha512sum --check --strict - \ && tar --extract --gzip --file /tmp/spark.tgz --directory /opt \ && mv "/opt/spark-${SPARK_VERSION}-bin-${HADOOP_PROFILE}" /opt/spark \ && rm /tmp/spark.tgz \ diff --git a/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/docker-bake.hcl b/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/docker-bake.hcl index e2ba1f27f3..b4d9387bce 100644 --- a/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/docker-bake.hcl +++ b/seatunnel-e2e/seatunnel-e2e-common/src/test/docker/spark/docker-bake.hcl @@ -15,7 +15,7 @@ # limitations under the License. group "default" { - targets = ["spark-2.4.6", "spark-3.3.0"] + targets = ["spark-2-4-6", "spark-3-3-0"] } target "spark" { @@ -24,20 +24,22 @@ target "spark" { platforms = ["linux/amd64", "linux/arm64"] } -target "spark-2.4.6" { +target "spark-2-4-6" { inherits = ["spark"] args = { SPARK_VERSION = "2.4.6" HADOOP_PROFILE = "hadoop2.7" + SPARK_SHA512 = "3a9f401eda9b5749cdafd246b1d14219229c26387017791c345a23a65782fb8b25a302bf4ac1ed7c16a1fe83108e94e55dad9639a51c751d81c8c0534a4a9641" } tags = ["apache/seatunnel:e2e-spark-2.4.6"] } -target "spark-3.3.0" { +target "spark-3-3-0" { inherits = ["spark"] args = { SPARK_VERSION = "3.3.0" HADOOP_PROFILE = "hadoop3" + SPARK_SHA512 = "1e8234d0c1d2ab4462d6b0dfe5b54f2851dcd883378e0ed756140e10adfb5be4123961b521140f580e364c239872ea5a9f813a20b73c69cb6d4e95da2575c29c" } tags = ["apache/seatunnel:e2e-spark-3.3.0"] }
