From a7ea115494ab7fa5d8fbd260f295a737b946e00b Mon Sep 17 00:00:00 2001 From: PyTorch MergeBot Date: Thu, 8 May 2025 14:53:34 +0000 Subject: [PATCH] Revert "[CI] Use cmake from pip instead of conda in CI docker images (#152537)" This reverts commit 941062894a1accfd472d0acd2716493e1f173bd7. Reverted https://github.com/pytorch/pytorch/pull/152537 on behalf of https://github.com/malfet due to Sorry to revert this PR, but it broke doc builds, see https://hud.pytorch.org/hud/pytorch/pytorch/4976b1a3a823ee175ec51ed5915e5070ff934a12/1?per_page=50&name_filter=docs&mergeEphemeralLF=true ([comment](https://github.com/pytorch/pytorch/pull/152537#issuecomment-2863337268)) --- .ci/docker/build.sh | 50 +++++++++++++++---- .ci/docker/centos-rocm/Dockerfile | 7 +++ .ci/docker/common/install_cmake.sh | 31 ++++++++++++ .ci/docker/common/install_conda.sh | 8 +++ .ci/docker/common/install_halide.sh | 2 +- .../common/install_inductor_benchmark_deps.sh | 2 +- .ci/docker/common/install_python.sh | 3 ++ .ci/docker/common/install_triton.sh | 44 ++++++++-------- .ci/docker/linter/Dockerfile | 1 + .ci/docker/requirements-ci.txt | 3 -- .ci/docker/ubuntu-cuda/Dockerfile | 7 +++ .ci/docker/ubuntu-rocm/Dockerfile | 7 +++ .ci/docker/ubuntu-xpu/Dockerfile | 7 +++ .ci/docker/ubuntu/Dockerfile | 7 +++ 14 files changed, 144 insertions(+), 35 deletions(-) create mode 100755 .ci/docker/common/install_cmake.sh diff --git a/.ci/docker/build.sh b/.ci/docker/build.sh index 38ce891e425..223608fc124 100755 --- a/.ci/docker/build.sh +++ b/.ci/docker/build.sh @@ -85,6 +85,9 @@ elif [[ "$image" == *linter* ]]; then DOCKERFILE="linter/Dockerfile" fi +# CMake 3.18 is needed to support CUDA17 language variant +CMAKE_VERSION=3.18.5 + _UCX_COMMIT=7bb2722ff2187a0cad557ae4a6afa090569f83fb _UCC_COMMIT=20eae37090a4ce1b32bcce6144ccad0b49943e0b if [[ "$image" == *rocm* ]]; then @@ -107,6 +110,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-cuda12.4-cudnn9-py3-gcc9-inductor-benchmarks) @@ -118,6 +122,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -130,6 +135,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -142,6 +148,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -154,6 +161,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-cuda12.6-cudnn9-py3-gcc9-inductor-benchmarks) @@ -165,6 +173,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -177,6 +186,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -189,6 +199,7 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes INDUCTOR_BENCHMARKS=yes ;; @@ -201,30 +212,35 @@ case "$tag" in KATEX=yes UCX_COMMIT=${_UCX_COMMIT} UCC_COMMIT=${_UCC_COMMIT} + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-py3-clang10-onnx) ANACONDA_PYTHON_VERSION=3.9 CLANG_VERSION=10 VISION=yes + CONDA_CMAKE=yes ONNX=yes ;; pytorch-linux-focal-py3.9-clang10) ANACONDA_PYTHON_VERSION=3.9 CLANG_VERSION=10 VISION=yes + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-py3.11-clang10) ANACONDA_PYTHON_VERSION=3.11 CLANG_VERSION=10 VISION=yes + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-py3.9-gcc9) ANACONDA_PYTHON_VERSION=3.9 GCC_VERSION=9 VISION=yes + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-focal-rocm-n-1-py3) @@ -233,6 +249,7 @@ case "$tag" in VISION=yes ROCM_VERSION=6.2.4 NINJA_VERSION=1.9.0 + CONDA_CMAKE=yes TRITON=yes KATEX=yes UCX_COMMIT=${_UCX_COMMIT} @@ -245,6 +262,7 @@ case "$tag" in VISION=yes ROCM_VERSION=6.3 NINJA_VERSION=1.9.0 + CONDA_CMAKE=yes TRITON=yes KATEX=yes UCX_COMMIT=${_UCX_COMMIT} @@ -257,6 +275,7 @@ case "$tag" in VISION=yes XPU_VERSION=0.5 NINJA_VERSION=1.9.0 + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-jammy-xpu-2025.0-py3) @@ -265,6 +284,7 @@ case "$tag" in VISION=yes XPU_VERSION=2025.0 NINJA_VERSION=1.9.0 + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-jammy-py3.9-gcc11-inductor-benchmarks) @@ -272,6 +292,7 @@ case "$tag" in GCC_VERSION=11 VISION=yes KATEX=yes + CONDA_CMAKE=yes TRITON=yes DOCS=yes INDUCTOR_BENCHMARKS=yes @@ -288,16 +309,19 @@ case "$tag" in ANACONDA_PYTHON_VERSION=3.9 CLANG_VERSION=12 VISION=yes + CONDA_CMAKE=yes TRITON=yes ;; pytorch-linux-jammy-py3-clang15-asan) ANACONDA_PYTHON_VERSION=3.10 CLANG_VERSION=15 + CONDA_CMAKE=yes VISION=yes ;; pytorch-linux-jammy-py3-clang18-asan) ANACONDA_PYTHON_VERSION=3.10 CLANG_VERSION=18 + CONDA_CMAKE=yes VISION=yes ;; pytorch-linux-jammy-py3.9-gcc11) @@ -305,6 +329,7 @@ case "$tag" in GCC_VERSION=11 VISION=yes KATEX=yes + CONDA_CMAKE=yes TRITON=yes DOCS=yes UNINSTALL_DILL=yes @@ -312,12 +337,14 @@ case "$tag" in pytorch-linux-jammy-py3-clang12-executorch) ANACONDA_PYTHON_VERSION=3.10 CLANG_VERSION=12 + CONDA_CMAKE=yes EXECUTORCH=yes ;; pytorch-linux-jammy-py3.12-halide) CUDA_VERSION=12.6 ANACONDA_PYTHON_VERSION=3.12 GCC_VERSION=11 + CONDA_CMAKE=yes HALIDE=yes TRITON=yes ;; @@ -325,6 +352,7 @@ case "$tag" in CUDA_VERSION=12.6 ANACONDA_PYTHON_VERSION=3.12 GCC_VERSION=11 + CONDA_CMAKE=yes TRITON_CPU=yes ;; pytorch-linux-focal-linter) @@ -332,16 +360,19 @@ case "$tag" in # We will need to update mypy version eventually, but that's for another day. The task # would be to upgrade mypy to 1.0.0 with Python 3.11 PYTHON_VERSION=3.9 + PIP_CMAKE=yes ;; pytorch-linux-jammy-cuda11.8-cudnn9-py3.9-linter) PYTHON_VERSION=3.9 CUDA_VERSION=11.8 + PIP_CMAKE=yes ;; pytorch-linux-jammy-aarch64-py3.10-gcc11) ANACONDA_PYTHON_VERSION=3.10 GCC_VERSION=11 ACL=yes VISION=yes + CONDA_CMAKE=yes # snadampal: skipping llvm src build install because the current version # from pytorch/llvm:9.0.1 is x86 specific SKIP_LLVM_SRC_BUILD_INSTALL=yes @@ -351,6 +382,7 @@ case "$tag" in GCC_VERSION=11 ACL=yes VISION=yes + CONDA_CMAKE=yes # snadampal: skipping llvm src build install because the current version # from pytorch/llvm:9.0.1 is x86 specific SKIP_LLVM_SRC_BUILD_INSTALL=yes @@ -373,7 +405,8 @@ case "$tag" in TRITON=yes # To ensure that any ROCm config will build using conda cmake # and thus have LAPACK/MKL enabled - fi + CONDA_CMAKE=yes + fi if [[ "$image" == *centos7* ]]; then NINJA_VERSION=1.10.2 fi @@ -389,6 +422,9 @@ case "$tag" in if [[ "$image" == *glibc* ]]; then extract_version_from_image_name glibc GLIBC_VERSION fi + if [[ "$image" == *cmake* ]]; then + extract_version_from_image_name cmake CMAKE_VERSION + fi ;; esac @@ -429,6 +465,7 @@ docker build \ --build-arg "CUDNN_VERSION=${CUDNN_VERSION}" \ --build-arg "TENSORRT_VERSION=${TENSORRT_VERSION}" \ --build-arg "GRADLE_VERSION=${GRADLE_VERSION}" \ + --build-arg "CMAKE_VERSION=${CMAKE_VERSION:-}" \ --build-arg "NINJA_VERSION=${NINJA_VERSION:-}" \ --build-arg "KATEX=${KATEX:-}" \ --build-arg "ROCM_VERSION=${ROCM_VERSION:-}" \ @@ -436,6 +473,8 @@ docker build \ --build-arg "IMAGE_NAME=${IMAGE_NAME}" \ --build-arg "UCX_COMMIT=${UCX_COMMIT}" \ --build-arg "UCC_COMMIT=${UCC_COMMIT}" \ + --build-arg "CONDA_CMAKE=${CONDA_CMAKE}" \ + --build-arg "PIP_CMAKE=${PIP_CMAKE}" \ --build-arg "TRITON=${TRITON}" \ --build-arg "TRITON_CPU=${TRITON_CPU}" \ --build-arg "ONNX=${ONNX}" \ @@ -521,12 +560,3 @@ elif [ "$HAS_TRITON" = "yes" ]; then echo "expecting triton to not be installed, but it is" exit 1 fi - -# Sanity check cmake version. Executorch reinstalls cmake and I'm not sure if -# they support 4.0.0 yet, so exclude them from this check. -CMAKE_VERSION=$(drun cmake --version) -if [[ "$EXECUTORCH" != *yes* && "$CMAKE_VERSION" != *4.* ]]; then - echo "CMake version is not 4.0.0:" - drun cmake --version - exit 1 -fi diff --git a/.ci/docker/centos-rocm/Dockerfile b/.ci/docker/centos-rocm/Dockerfile index 82841b8a06b..f9105d64824 100644 --- a/.ci/docker/centos-rocm/Dockerfile +++ b/.ci/docker/centos-rocm/Dockerfile @@ -40,6 +40,7 @@ RUN bash ./install_user.sh && rm install_user.sh # Install conda and other packages (e.g., numpy, pytest) ARG ANACONDA_PYTHON_VERSION +ARG CONDA_CMAKE ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH COPY requirements-ci.txt /opt/conda/requirements-ci.txt @@ -74,6 +75,12 @@ ENV MAGMA_HOME /opt/rocm/magma ENV LANG en_US.utf8 ENV LC_ALL en_US.utf8 +# (optional) Install non-default CMake version +ARG CMAKE_VERSION +COPY ./common/install_cmake.sh install_cmake.sh +RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi +RUN rm install_cmake.sh + # (optional) Install non-default Ninja version ARG NINJA_VERSION COPY ./common/install_ninja.sh install_ninja.sh diff --git a/.ci/docker/common/install_cmake.sh b/.ci/docker/common/install_cmake.sh new file mode 100755 index 00000000000..3563e91433b --- /dev/null +++ b/.ci/docker/common/install_cmake.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -ex + +[ -n "$CMAKE_VERSION" ] + +# Remove system cmake install so it won't get used instead +ID=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"') +case "$ID" in + ubuntu) + apt-get remove cmake -y + ;; + centos) + yum remove cmake -y + ;; + *) + echo "Unable to determine OS..." + exit 1 + ;; +esac + +# Turn 3.6.3 into v3.6 +path=$(echo "${CMAKE_VERSION}" | sed -e 's/\([0-9].[0-9]\+\).*/v\1/') +file="cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" + +# Download and install specific CMake version in /usr/local +pushd /tmp +curl -Os --retry 3 "https://cmake.org/files/${path}/${file}" +tar -C /usr/local --strip-components 1 --no-same-owner -zxf cmake-*.tar.gz +rm -f cmake-*.tar.gz +popd diff --git a/.ci/docker/common/install_conda.sh b/.ci/docker/common/install_conda.sh index e6aff627dc7..d6d3733f14c 100755 --- a/.ci/docker/common/install_conda.sh +++ b/.ci/docker/common/install_conda.sh @@ -75,6 +75,14 @@ if [ -n "$ANACONDA_PYTHON_VERSION" ]; then # and libpython-static for torch deploy conda_install llvmdev=8.0.0 "libpython-static=${ANACONDA_PYTHON_VERSION}" + # Use conda cmake in some cases. Conda cmake will be newer than our supported + # min version (3.5 for xenial and 3.10 for bionic), so we only do it in those + # following builds that we know should use conda. Specifically, Ubuntu bionic + # and focal cannot find conda mkl with stock cmake, so we need a cmake from conda + if [ -n "${CONDA_CMAKE}" ]; then + conda_install cmake + fi + # Magma package names are concatenation of CUDA major and minor ignoring revision # I.e. magma-cuda102 package corresponds to CUDA_VERSION=10.2 and CUDA_VERSION=10.2.89 # Magma is installed from a tarball in the ossci-linux bucket into the conda env diff --git a/.ci/docker/common/install_halide.sh b/.ci/docker/common/install_halide.sh index 5e0a09aaa95..ed1d7d33649 100644 --- a/.ci/docker/common/install_halide.sh +++ b/.ci/docker/common/install_halide.sh @@ -17,7 +17,7 @@ if [ -n "${UBUNTU_VERSION}" ];then libopenblas-dev libeigen3-dev libatlas-base-dev libzstd-dev fi -pip_install numpy scipy imageio cmake ninja +conda_install numpy scipy imageio cmake ninja git clone --depth 1 --branch release/16.x --recursive https://github.com/llvm/llvm-project.git cmake -DCMAKE_BUILD_TYPE=Release \ diff --git a/.ci/docker/common/install_inductor_benchmark_deps.sh b/.ci/docker/common/install_inductor_benchmark_deps.sh index 7312dce170d..5b775af6539 100644 --- a/.ci/docker/common/install_inductor_benchmark_deps.sh +++ b/.ci/docker/common/install_inductor_benchmark_deps.sh @@ -16,7 +16,7 @@ function install_timm() { pip_install "git+https://github.com/huggingface/pytorch-image-models@${commit}" # Clean up - conda_run pip uninstall -y torch torchvision triton + conda_run pip uninstall -y cmake torch torchvision triton } # Pango is needed for weasyprint which is needed for doctr diff --git a/.ci/docker/common/install_python.sh b/.ci/docker/common/install_python.sh index be5a09b80a6..7f92deae9b0 100644 --- a/.ci/docker/common/install_python.sh +++ b/.ci/docker/common/install_python.sh @@ -13,3 +13,6 @@ source /var/lib/jenkins/ci_env/bin/activate python -mpip install --upgrade pip python -mpip install -r /opt/requirements-ci.txt +if [ -n "${PIP_CMAKE}" ]; then + python -mpip install cmake==3.31.6 +fi diff --git a/.ci/docker/common/install_triton.sh b/.ci/docker/common/install_triton.sh index 90ef587a056..71c7d46e4f3 100755 --- a/.ci/docker/common/install_triton.sh +++ b/.ci/docker/common/install_triton.sh @@ -10,8 +10,12 @@ fi source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh" -get_pip_version() { - conda_run pip list | grep -w $* | head -n 1 | awk '{print $2}' +get_conda_version() { + as_jenkins conda list -n py_$ANACONDA_PYTHON_VERSION | grep -w $* | head -n 1 | awk '{print $2}' +} + +conda_reinstall() { + as_jenkins conda install -q -n py_$ANACONDA_PYTHON_VERSION -y --force-reinstall $* } if [ -n "${XPU_VERSION}" ]; then @@ -33,9 +37,11 @@ if [ -n "${UBUNTU_VERSION}" ];then apt-get install -y gpg-agent fi -# Keep the current cmake and numpy version here, so we can reinstall them later -CMAKE_VERSION=$(get_pip_version cmake) -NUMPY_VERSION=$(get_pip_version numpy) +if [ -n "${CONDA_CMAKE}" ]; then + # Keep the current cmake and numpy version here, so we can reinstall them later + CMAKE_VERSION=$(get_conda_version cmake) + NUMPY_VERSION=$(get_conda_version numpy) +fi if [ -z "${MAX_JOBS}" ]; then export MAX_JOBS=$(nproc) @@ -77,19 +83,17 @@ cp dist/*.whl /opt/triton # Install the wheel for docker builds that don't use multi stage pip_install dist/*.whl -# TODO: This is to make sure that the same cmake and numpy version from install conda -# script is used. Without this step, the newer cmake version (3.25.2) downloaded by -# triton build step via pip will fail to detect conda MKL. Once that issue is fixed, -# this can be removed. -# -# The correct numpy version also needs to be set here because conda claims that it -# causes inconsistent environment. Without this, conda will attempt to install the -# latest numpy version, which fails ASAN tests with the following import error: Numba -# needs NumPy 1.20 or less. -# Note that we install numpy with pip as conda might not have the version we want -if [ -n "${CMAKE_VERSION}" ]; then - pip_install "cmake==${CMAKE_VERSION}" -fi -if [ -n "${NUMPY_VERSION}" ]; then - pip_install "numpy==${NUMPY_VERSION}" +if [ -n "${CONDA_CMAKE}" ]; then + # TODO: This is to make sure that the same cmake and numpy version from install conda + # script is used. Without this step, the newer cmake version (3.25.2) downloaded by + # triton build step via pip will fail to detect conda MKL. Once that issue is fixed, + # this can be removed. + # + # The correct numpy version also needs to be set here because conda claims that it + # causes inconsistent environment. Without this, conda will attempt to install the + # latest numpy version, which fails ASAN tests with the following import error: Numba + # needs NumPy 1.20 or less. + conda_reinstall cmake="${CMAKE_VERSION}" + # Note that we install numpy with pip as conda might not have the version we want + pip_install --force-reinstall numpy=="${NUMPY_VERSION}" fi diff --git a/.ci/docker/linter/Dockerfile b/.ci/docker/linter/Dockerfile index 0fdfac678d4..d5bac900361 100644 --- a/.ci/docker/linter/Dockerfile +++ b/.ci/docker/linter/Dockerfile @@ -16,6 +16,7 @@ RUN bash ./install_user.sh && rm install_user.sh # Install conda and other packages (e.g., numpy, pytest) ARG PYTHON_VERSION +ARG PIP_CMAKE ENV PATH /var/lib/jenkins/ci_env/bin:$PATH ENV VIRTUAL_ENV /var/lib/jenkins/ci_env COPY requirements-ci.txt /opt/requirements-ci.txt diff --git a/.ci/docker/requirements-ci.txt b/.ci/docker/requirements-ci.txt index 6640b4301e8..5e517b6e194 100644 --- a/.ci/docker/requirements-ci.txt +++ b/.ci/docker/requirements-ci.txt @@ -379,6 +379,3 @@ dataclasses_json==0.6.7 #Description: required for data pipeline and scripts under tools/stats #Pinned versions: 0.6.7 #test that import: - -cmake==4.0.0 -#Description: required for building diff --git a/.ci/docker/ubuntu-cuda/Dockerfile b/.ci/docker/ubuntu-cuda/Dockerfile index e2d8d4f6184..2126c7ab2d7 100644 --- a/.ci/docker/ubuntu-cuda/Dockerfile +++ b/.ci/docker/ubuntu-cuda/Dockerfile @@ -26,6 +26,7 @@ RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh ARG ANACONDA_PYTHON_VERSION ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH +ARG CONDA_CMAKE COPY requirements-ci.txt /opt/conda/requirements-ci.txt COPY ./common/install_conda.sh install_conda.sh COPY ./common/common_utils.sh common_utils.sh @@ -75,6 +76,12 @@ COPY ci_commit_pins/timm.txt timm.txt RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt +# (optional) Install non-default CMake version +ARG CMAKE_VERSION +COPY ./common/install_cmake.sh install_cmake.sh +RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi +RUN rm install_cmake.sh + ARG TRITON FROM base as triton-builder diff --git a/.ci/docker/ubuntu-rocm/Dockerfile b/.ci/docker/ubuntu-rocm/Dockerfile index 009766a0ccd..4eacbc03d1b 100644 --- a/.ci/docker/ubuntu-rocm/Dockerfile +++ b/.ci/docker/ubuntu-rocm/Dockerfile @@ -27,6 +27,7 @@ RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh ARG ANACONDA_PYTHON_VERSION ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH +ARG CONDA_CMAKE COPY requirements-ci.txt /opt/conda/requirements-ci.txt COPY ./common/install_conda.sh install_conda.sh COPY ./common/common_utils.sh common_utils.sh @@ -100,6 +101,12 @@ COPY ci_commit_pins/timm.txt timm.txt RUN if [ -n "${INDUCTOR_BENCHMARKS}" ]; then bash ./install_inductor_benchmark_deps.sh; fi RUN rm install_inductor_benchmark_deps.sh common_utils.sh timm.txt huggingface.txt +# (optional) Install non-default CMake version +ARG CMAKE_VERSION +COPY ./common/install_cmake.sh install_cmake.sh +RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi +RUN rm install_cmake.sh + # (optional) Install non-default Ninja version ARG NINJA_VERSION COPY ./common/install_ninja.sh install_ninja.sh diff --git a/.ci/docker/ubuntu-xpu/Dockerfile b/.ci/docker/ubuntu-xpu/Dockerfile index e4426129b1d..e47234f96a5 100644 --- a/.ci/docker/ubuntu-xpu/Dockerfile +++ b/.ci/docker/ubuntu-xpu/Dockerfile @@ -28,6 +28,7 @@ RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh # Install conda and other packages (e.g., numpy, pytest) ARG ANACONDA_PYTHON_VERSION +ARG CONDA_CMAKE ARG DOCS ARG BUILD_ENVIRONMENT ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION @@ -83,6 +84,12 @@ RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi RUN rm install_vision.sh cache_vision_models.sh common_utils.sh ENV INSTALLED_VISION ${VISION} +# (optional) Install non-default CMake version +ARG CMAKE_VERSION +COPY ./common/install_cmake.sh install_cmake.sh +RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi +RUN rm install_cmake.sh + # (optional) Install non-default Ninja version ARG NINJA_VERSION COPY ./common/install_ninja.sh install_ninja.sh diff --git a/.ci/docker/ubuntu/Dockerfile b/.ci/docker/ubuntu/Dockerfile index 88c2bdf7041..f393b508c40 100644 --- a/.ci/docker/ubuntu/Dockerfile +++ b/.ci/docker/ubuntu/Dockerfile @@ -28,6 +28,7 @@ RUN bash ./install_docs_reqs.sh && rm install_docs_reqs.sh # Install conda and other packages (e.g., numpy, pytest) ARG ANACONDA_PYTHON_VERSION +ARG CONDA_CMAKE ARG DOCS ENV ANACONDA_PYTHON_VERSION=$ANACONDA_PYTHON_VERSION ENV PATH /opt/conda/envs/py_$ANACONDA_PYTHON_VERSION/bin:/opt/conda/bin:$PATH @@ -81,6 +82,12 @@ RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi RUN rm install_vision.sh cache_vision_models.sh common_utils.sh ENV INSTALLED_VISION ${VISION} +# (optional) Install non-default CMake version +ARG CMAKE_VERSION +COPY ./common/install_cmake.sh install_cmake.sh +RUN if [ -n "${CMAKE_VERSION}" ]; then bash ./install_cmake.sh; fi +RUN rm install_cmake.sh + # (optional) Install non-default Ninja version ARG NINJA_VERSION COPY ./common/install_ninja.sh install_ninja.sh