Skip to content

Commit 88c8d1a

Browse files
authored
[CI] Unpin Dask, adopt CUDA 12.8 and RAPIDS 24.12 (dmlc#11194)
1 parent 2d1ca00 commit 88c8d1a

19 files changed

+69
-39
lines changed

doc/contrib/ci.rst

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,26 @@ To make changes to the CI container, carry out the following steps:
4343
Consult :ref:`build_run_docker_locally` for this step.
4444
4. Submit a pull request to `dmlc/xgboost-devops <https://github.com/dmlc/xgboost-devops>`_ with
4545
the proposed changes to the Dockerfile. Make note of the pull request number. Example: ``#204``
46-
5. Clone `dmlc/xgboost <https://github.com/dmlc/xgboost>`_ and update all references to the
47-
old container to point to the new container. More specifically, all container image URIs of form
48-
``492475357299.dkr.ecr.us-west-2.amazonaws.com/[image_repo]:main`` should have its image tag
49-
(last component) replaced with ``PR-#``, where ``#`` is the pull request number.
50-
For the example above,
51-
we'd replace ``492475357299.dkr.ecr.us-west-2.amazonaws.com/xgb-ci.gpu:main`` with
52-
``492475357299.dkr.ecr.us-west-2.amazonaws.com/xgb-ci.gpu:PR-204``.
46+
5. Clone `dmlc/xgboost <https://github.com/dmlc/xgboost>`_. Locate the file
47+
``ops/pipeline/get-image-tag.sh``, which should have a single line
48+
49+
.. code-block:: bash
50+
51+
IMAGE_TAG=main
52+
53+
To use the new container, revise the file as follows:
54+
55+
.. code-block:: bash
56+
57+
IMAGE_TAG=PR-XX
58+
59+
where ``XX`` is the pull request number.
60+
5361
6. Now submit a pull request to `dmlc/xgboost <https://github.com/dmlc/xgboost>`_. The CI will
5462
run tests using the new container. Verify that all tests pass.
5563
7. Merge the pull request in ``dmlc/xgboost-devops``. Wait until the CI completes on the ``main`` branch.
56-
8. Go back to the the pull request for ``dmlc/xgboost`` and revise all the container references to use
57-
the old tag ``:main``.
64+
8. Go back to the the pull request for ``dmlc/xgboost`` and change ``ops/pipeline/get-image-tag.sh``
65+
back to ``IMAGE_TAG=main``.
5866
9. Merge the pull request in ``dmlc/xgboost``.
5967

6068
.. _build_run_docker_locally:

ops/pipeline/build-cpu-arm64.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ fi
1111

1212
source ops/pipeline/classify-git-branch.sh
1313
source ops/pipeline/get-docker-registry-details.sh
14+
source ops/pipeline/get-image-tag.sh
1415

1516
WHEEL_TAG=manylinux_2_28_aarch64
16-
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.aarch64:main
17+
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.aarch64:${IMAGE_TAG}
1718

1819
echo "--- Build CPU code targeting ARM64"
1920
set -x

ops/pipeline/build-cpu.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ set -euo pipefail
55

66
source ops/pipeline/classify-git-branch.sh
77
source ops/pipeline/get-docker-registry-details.sh
8+
source ops/pipeline/get-image-tag.sh
89

9-
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.cpu:main
10+
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.cpu:${IMAGE_TAG}
1011

1112
echo "--- Build CPU code"
1213
set -x

ops/pipeline/build-cuda-impl.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ then
1616
cmake_prefix_path='/opt/grpc;/opt/rmm;/opt/rmm/lib64/rapids/cmake'
1717
cmake_args="${cmake_args} -DPLUGIN_RMM=ON"
1818
else
19-
cmake_prefix_path='/opt/grpc;/workspace/cccl'
19+
cmake_prefix_path='/opt/grpc'
2020
fi
2121

2222
# Disable CMAKE_COMPILE_WARNING_AS_ERROR option temporarily until

ops/pipeline/build-cuda.sh

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ esac
3333

3434
source ops/pipeline/classify-git-branch.sh
3535
source ops/pipeline/get-docker-registry-details.sh
36+
source ops/pipeline/get-image-tag.sh
3637

3738
WHEEL_TAG=manylinux_2_28_x86_64
38-
BUILD_IMAGE_URI="${DOCKER_REGISTRY_URL}/${image_repo}:main"
39-
MANYLINUX_IMAGE_URI="${DOCKER_REGISTRY_URL}/xgb-ci.${WHEEL_TAG}:main"
39+
BUILD_IMAGE_URI="${DOCKER_REGISTRY_URL}/${image_repo}:${IMAGE_TAG}"
40+
MANYLINUX_IMAGE_URI="${DOCKER_REGISTRY_URL}/xgb-ci.${WHEEL_TAG}:${IMAGE_TAG}"
4041

4142
echo "--- Build with CUDA"
4243

@@ -47,13 +48,6 @@ else
4748
export BUILD_ONLY_SM75=0
4849
fi
4950

50-
if [[ ${USE_RMM} == 0 ]]
51-
then
52-
# Work around https://github.com/NVIDIA/cccl/issues/1956
53-
# TODO(hcho3): Remove this once new CUDA version ships with CCCL 2.6.0+
54-
git clone https://github.com/NVIDIA/cccl.git -b v2.6.1 --quiet
55-
fi
56-
5751
set -x
5852

5953
python3 ops/docker_run.py \

ops/pipeline/build-gpu-rpkg.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ fi
1010

1111
source ops/pipeline/classify-git-branch.sh
1212
source ops/pipeline/get-docker-registry-details.sh
13+
source ops/pipeline/get-image-tag.sh
1314

14-
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.gpu_build_r_rockylinux8:main
15+
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.gpu_build_r_rockylinux8:${IMAGE_TAG}
1516

1617
echo "--- Build XGBoost R package with CUDA"
1718
set -x

ops/pipeline/build-jvm-doc.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ then
1818
fi
1919

2020
source ops/pipeline/get-docker-registry-details.sh
21+
source ops/pipeline/get-image-tag.sh
2122

22-
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.jvm_gpu_build:main
23+
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.jvm_gpu_build:${IMAGE_TAG}
2324

2425
echo "--- Build JVM packages doc"
2526
set -x

ops/pipeline/build-jvm-gpu.sh

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ set -euo pipefail
55

66
source ops/pipeline/classify-git-branch.sh
77
source ops/pipeline/get-docker-registry-details.sh
8+
source ops/pipeline/get-image-tag.sh
89

9-
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.jvm_gpu_build:main
10+
IMAGE_URI=${DOCKER_REGISTRY_URL}/xgb-ci.jvm_gpu_build:${IMAGE_TAG}
1011

1112
echo "--- Build libxgboost4j.so with CUDA"
1213

@@ -20,17 +21,14 @@ fi
2021
COMMAND=$(
2122
cat <<-EOF
2223
cd build-gpu/ && \
23-
cmake .. -DCMAKE_PREFIX_PATH=/workspace/cccl -GNinja -DUSE_CUDA=ON -DUSE_NCCL=ON \
24+
cmake .. -GNinja -DUSE_CUDA=ON -DUSE_NCCL=ON \
2425
-DJVM_BINDINGS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ${arch_flag} && \
2526
ninja
2627
EOF
2728
)
2829

2930
set -x
3031
mkdir -p build-gpu/
31-
# Work around https://github.com/NVIDIA/cccl/issues/1956
32-
# TODO(hcho3): Remove this once new CUDA version ships with CCCL 2.6.0+
33-
git clone https://github.com/NVIDIA/cccl.git -b v2.6.1 --quiet --depth 1
3432
python3 ops/docker_run.py \
3533
--image-uri ${IMAGE_URI} \
3634
-- bash -c "${COMMAND}"

ops/pipeline/build-jvm-manylinux2014.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ image_repo="xgb-ci.manylinux2014_${arch}"
1414

1515
source ops/pipeline/classify-git-branch.sh
1616
source ops/pipeline/get-docker-registry-details.sh
17+
source ops/pipeline/get-image-tag.sh
1718

18-
IMAGE_URI="${DOCKER_REGISTRY_URL}/${image_repo}:main"
19+
IMAGE_URI="${DOCKER_REGISTRY_URL}/${image_repo}:${IMAGE_TAG}"
1920

2021
# Build XGBoost4J binary
2122
echo "--- Build libxgboost4j.so (targeting glibc 2.17)"

ops/pipeline/build-manylinux2014.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ arch="$1"
1818

1919
source ops/pipeline/classify-git-branch.sh
2020
source ops/pipeline/get-docker-registry-details.sh
21+
source ops/pipeline/get-image-tag.sh
2122

2223
WHEEL_TAG="manylinux2014_${arch}"
2324
IMAGE_REPO="xgb-ci.${WHEEL_TAG}"
24-
IMAGE_URI="${DOCKER_REGISTRY_URL}/${IMAGE_REPO}:main"
25+
IMAGE_URI="${DOCKER_REGISTRY_URL}/${IMAGE_REPO}:${IMAGE_TAG}"
2526
PYTHON_BIN="/opt/python/cp310-cp310/bin/python"
2627

2728
echo "--- Build binary wheel for ${WHEEL_TAG}"

0 commit comments

Comments
 (0)