From d58fd3aa335039a36ab3c57af9d5a4a3605312b4 Mon Sep 17 00:00:00 2001 From: Chengcheng Jin Date: Thu, 26 Mar 2026 15:21:25 +0000 Subject: [PATCH 1/4] [Minor][VL]feat: Add JDK17 cudf build docker file on cuda 12-9 --- .github/workflows/docker_image.yml | 31 +++++++++++++ .../cudf/Dockerfile.centos9-cudf-cuda-12-9 | 46 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 diff --git a/.github/workflows/docker_image.yml b/.github/workflows/docker_image.yml index 63ab57c28523..eda8765948ea 100644 --- a/.github/workflows/docker_image.yml +++ b/.github/workflows/docker_image.yml @@ -111,6 +111,37 @@ jobs: file: dev/docker/cudf/Dockerfile push: true tags: ${{ env.DOCKERHUB_REPO }}:centos-9-jdk8-cudf + + build-centos-9-jdk17-cudf-cuda-12-9: + if: ${{ startsWith(github.repository, 'apache/') }} + runs-on: ubuntu-22.04 + + steps: + - name: "node-cleanup" # by default the free runner does not have enough disk space + run: | + sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL + sudo docker image prune --all --force + sudo docker builder prune -a + - run: df -h | sort -k 5 -nr # check disk space for debug + - name: Checkout repository + uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USER }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + build-args: JAVA_VERSION=17 + file: dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 + push: true + tags: ${{ env.DOCKERHUB_REPO }}:centos-9-jdk17-cudf-cuda-12-9 build-vcpkg-centos-8: if: ${{ startsWith(github.repository, 'apache/') }} diff --git a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 new file mode 100644 index 000000000000..48b7da04fcd9 --- /dev/null +++ b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 @@ -0,0 +1,46 @@ + +# +# 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. +# + +FROM ghcr.io/facebookincubator/velox-dev:adapters + +# ARG JAVA_VERSION=1.8.0 +# ARG JAVA_VERSION=11 +ARG JAVA_VERSION=17 + +ENV JAVA_HOME=/usr/lib/jvm/java-${JAVA_VERSION}-openjdk +ENV PATH=$JAVA_HOME/bin:$PATH +ENV CUDA_ARCHITECTURES=70 +ENV CUDA_FLAGS="-ccbin /opt/rh/gcc-toolset-14/root/usr/bin" +ENV CC=/opt/rh/gcc-toolset-14/root/bin/gcc +ENV CXX=/opt/rh/gcc-toolset-14/root/bin/g++ + +ENV LD_LIBRARY_PATH=/opt/gluten/ep/build-velox/build/velox_ep/_build/release/_deps/curl-build/lib:$LD_LIBRARY_PATH +# Install dependencies and cudf related libraries to /usr +RUN yum install -y sudo patch perl java-${JAVA_VERSION}-openjdk-devel && \ + ln -sf /usr/local/bin/cmake /usr/bin && \ + git clone --depth=1 https://github.com/apache/gluten /opt/gluten && \ + cd /opt/gluten && \ + source /opt/rh/gcc-toolset-14/enable && \ + bash ./dev/buildbundle-veloxbe.sh --run_setup_script=OFF --build_arrow=ON --spark_version=3.4 --build_tests=ON --build_benchmarks=ON --enable_gpu=ON && \ + cd ep/build-velox/build/velox_ep/_build/release/_deps/cudf-build/ && cmake --install ./ && cd /opt/gluten \ + rm -rf /opt/gluten && \ + rm -rf /root/.cache/ccache + +ENTRYPOINT ["/bin/bash", "-c", "source /opt/rh/gcc-toolset-14/enable && exec \"$@\"", "--"] +CMD ["/bin/bash"] + From 339794e0b24d0669066cef069de51f3a2e3529a5 Mon Sep 17 00:00:00 2001 From: Chengcheng Jin Date: Thu, 26 Mar 2026 17:53:25 +0000 Subject: [PATCH 2/4] fix build --- dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 index 48b7da04fcd9..aa1b326488cc 100644 --- a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 +++ b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 @@ -37,7 +37,7 @@ RUN yum install -y sudo patch perl java-${JAVA_VERSION}-openjdk-devel && \ cd /opt/gluten && \ source /opt/rh/gcc-toolset-14/enable && \ bash ./dev/buildbundle-veloxbe.sh --run_setup_script=OFF --build_arrow=ON --spark_version=3.4 --build_tests=ON --build_benchmarks=ON --enable_gpu=ON && \ - cd ep/build-velox/build/velox_ep/_build/release/_deps/cudf-build/ && cmake --install ./ && cd /opt/gluten \ + cd ep/build-velox/build/velox_ep/_build/release/_deps/cudf-build/ && cmake --install ./ && cd / \ rm -rf /opt/gluten && \ rm -rf /root/.cache/ccache From e341098d3695d393ec38ffe53bb50ff173e79f45 Mon Sep 17 00:00:00 2001 From: Chengcheng Jin Date: Thu, 26 Mar 2026 18:30:37 +0000 Subject: [PATCH 3/4] fx build --- dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 index aa1b326488cc..675a601c1987 100644 --- a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 +++ b/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 @@ -37,7 +37,7 @@ RUN yum install -y sudo patch perl java-${JAVA_VERSION}-openjdk-devel && \ cd /opt/gluten && \ source /opt/rh/gcc-toolset-14/enable && \ bash ./dev/buildbundle-veloxbe.sh --run_setup_script=OFF --build_arrow=ON --spark_version=3.4 --build_tests=ON --build_benchmarks=ON --enable_gpu=ON && \ - cd ep/build-velox/build/velox_ep/_build/release/_deps/cudf-build/ && cmake --install ./ && cd / \ + cd ep/build-velox/build/velox_ep/_build/release/_deps/cudf-build/ && cmake --install ./ && cd / && \ rm -rf /opt/gluten && \ rm -rf /root/.cache/ccache From 0d2e0bb6ef7a1f01434290d5da4c0f5d6e57c0d6 Mon Sep 17 00:00:00 2001 From: Chengcheng Jin Date: Fri, 27 Mar 2026 17:44:35 +0000 Subject: [PATCH 4/4] rename --- .github/workflows/docker_image.yml | 8 ++++---- ...-cuda-12-9 => Dockerfile.centos-9-jdk17-cuda12.9-cudf} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename dev/docker/cudf/{Dockerfile.centos9-cudf-cuda-12-9 => Dockerfile.centos-9-jdk17-cuda12.9-cudf} (100%) diff --git a/.github/workflows/docker_image.yml b/.github/workflows/docker_image.yml index eda8765948ea..3996b5b12c45 100644 --- a/.github/workflows/docker_image.yml +++ b/.github/workflows/docker_image.yml @@ -111,8 +111,8 @@ jobs: file: dev/docker/cudf/Dockerfile push: true tags: ${{ env.DOCKERHUB_REPO }}:centos-9-jdk8-cudf - - build-centos-9-jdk17-cudf-cuda-12-9: + + build-centos-9-jdk17-cuda12_9-cudf: if: ${{ startsWith(github.repository, 'apache/') }} runs-on: ubuntu-22.04 @@ -139,9 +139,9 @@ jobs: with: context: . build-args: JAVA_VERSION=17 - file: dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 + file: dev/docker/cudf/Dockerfile.centos-9-jdk17-cuda12.9-cudf push: true - tags: ${{ env.DOCKERHUB_REPO }}:centos-9-jdk17-cudf-cuda-12-9 + tags: ${{ env.DOCKERHUB_REPO }}:centos-9-jdk17-cuda12.9-cudf build-vcpkg-centos-8: if: ${{ startsWith(github.repository, 'apache/') }} diff --git a/dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 b/dev/docker/cudf/Dockerfile.centos-9-jdk17-cuda12.9-cudf similarity index 100% rename from dev/docker/cudf/Dockerfile.centos9-cudf-cuda-12-9 rename to dev/docker/cudf/Dockerfile.centos-9-jdk17-cuda12.9-cudf