diff --git a/.github/actions/build-linux-image/action.yml b/.github/actions/build-linux-image/action.yml index 865ba8e2e..acc179fdd 100644 --- a/.github/actions/build-linux-image/action.yml +++ b/.github/actions/build-linux-image/action.yml @@ -47,15 +47,18 @@ runs: sed -i 's/,t.map(G=>l.push("-t",G))//g' "$(npm list -g | head -n1)"/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js; fi + no_cache=(--no-cache) + until devcontainer build \ + "${no_cache[@]}" \ --platform "linux/${arch}" \ - --no-cache \ --image-name "${repo,,}:${tag}" \ --workspace-folder "$(realpath -m ./image)" \ "${outputs[@]}" 2>&1 \ | tee "${{ runner.temp }}/${arch}.log" 1>&2 do if test "${i}" -lt "${retries}"; then + no_cache=(); j=$((i++)); t=$((i * i * 5)); echo "Attempt $j failed! Trying again in $t seconds..."; diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 03a8b6781..37f623587 100644 --- a/.github/workflows/build-all-rapids-repos.yml +++ b/.github/workflows/build-all-rapids-repos.yml @@ -43,8 +43,9 @@ jobs: matrix: include: - libs: "rmm ucxx kvikio dask-cuda cudf cudf_kafka rapidsmpf" - - libs: "rmm ucxx dask-cuda raft cuvs nvforest cuml cuopt" + - libs: "rmm ucxx dask-cuda raft cuvs nvforest cuml" - libs: "rmm ucxx dask-cuda raft cuvs cugraph cugraph-gnn nx-cugraph" + - libs: "cuopt" - libs: "" with: diff --git a/features/src/llvm/devcontainer-feature.json b/features/src/llvm/devcontainer-feature.json index e63334e4c..0b73c0985 100644 --- a/features/src/llvm/devcontainer-feature.json +++ b/features/src/llvm/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "LLVM compilers and tools", "id": "llvm", - "version": "26.10.0", + "version": "26.10.1", "description": "A feature to install LLVM compilers and tools", "options": { "version": { diff --git a/features/src/llvm/install.sh b/features/src/llvm/install.sh index aad632b56..cb8c3d400 100755 --- a/features/src/llvm/install.sh +++ b/features/src/llvm/install.sh @@ -8,6 +8,7 @@ cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"; . ./common/install.sh; LLVM_VERSION="${VERSION:-}"; +SET_LLVM_VERSION="${SETLLVMVERSION:-true}"; export LLVM_REPO_VERSION_OVERRIDE="${REPOVERSIONOVERRIDE:-}"; check_packages \ @@ -68,13 +69,15 @@ for ((i=0; i < ${#bins[@]}; i+=1)); do fi done -export LLVM_VERSION="${LLVM_VERSION}"; +if "${SET_LLVM_VERSION:-true}"; then + export LLVM_VERSION="${LLVM_VERSION}"; -# export envvars in bashrc files -append_to_etc_bashrc "$(cat .bashrc | envsubst)"; -append_to_all_bashrcs "$(cat .bashrc | envsubst)"; -# export envvars in /etc/profile.d -add_etc_profile_d_script llvm "$(cat .bashrc | envsubst)"; + # export envvars in bashrc files + append_to_etc_bashrc "$(cat .bashrc | envsubst)"; + append_to_all_bashrcs "$(cat .bashrc | envsubst)"; + # export envvars in /etc/profile.d + add_etc_profile_d_script llvm "$(cat .bashrc | envsubst)"; +fi # Clean up # rm -rf /tmp/*; diff --git a/features/test/_global/cpp_llvm_cuda_nvhpc.sh b/features/test/_global/cpp_llvm_cuda_nvhpc.sh index f820f0a89..a78300a16 100644 --- a/features/test/_global/cpp_llvm_cuda_nvhpc.sh +++ b/features/test/_global/cpp_llvm_cuda_nvhpc.sh @@ -55,7 +55,7 @@ ls -all "$NVHPC_ROOT"/ 1>&2; module list 1>&2; -check "version" bash -c "echo '$NVHPC_VERSION' | grep '24.5'"; +check "version" bash -c "echo '$NVHPC_VERSION' | grep '26.5'"; check "installed" stat /opt/nvidia/hpc_sdk; check "nvc++ exists and is on path" which nvc++; diff --git a/features/test/_global/scenarios.json b/features/test/_global/scenarios.json index 2ebe3aa4b..dee52eda9 100644 --- a/features/test/_global/scenarios.json +++ b/features/test/_global/scenarios.json @@ -47,7 +47,7 @@ "version": "12.9" }, "nvhpc": { - "version": "24.5" + "version": "26.5" }, "utils": {} }, diff --git a/matrix.yml b/matrix.yml index 26f184f4d..f44812ab7 100644 --- a/matrix.yml +++ b/matrix.yml @@ -28,7 +28,7 @@ x-llvm-18: &llvm_18 { name: "llvm", version: "18" } x-llvm-19: &llvm_19 { name: "llvm", version: "19" } x-llvm-20: &llvm_20 { name: "llvm", version: "20" } x-llvm-21: &llvm_21 { name: "llvm", version: "21" } -x-llvm-22: &llvm_22 { name: "llvm", version: "22"} +x-llvm-22: &llvm_22 { name: "llvm", version: "22" } x-llvm-env: &llvm_env { CC: "clang", CXX: "clang++", CUDAHOSTCXX: "clang++" } x-nvhpc-prev: &nvhpc_prev { name: "nvhpc", version: "26.3" } @@ -43,15 +43,15 @@ x-ucx-rapids: &ucx_rapids { name: "ucx", version: "1.19.0" } x-openmpi: &openmpi { name: "openmpi", version: "5.0.10" } x-cccl-dev: &cccl_dev { name: "cccl-dev", hide: true, doxygenVersion: "1.9.6" } -x-clangd-dev-bionic: &clangd_dev_bionic { name: "llvm", version: "19", packages: "clangd", hide: true } -x-clangd-dev-jammy: &clangd_dev_jammy { name: "llvm", version: "23", packages: "clangd", hide: true } -x-clangd-dev: &clangd_dev { name: "llvm", version: "23", packages: "clangd", hide: true } +x-clangd-dev-bionic: &clangd_dev_bionic { name: "llvm", version: "19", packages: "clangd", setLLVMVersion: false, hide: true } +x-clangd-dev-jammy: &clangd_dev_jammy { name: "llvm", version: "23", packages: "clangd", setLLVMVersion: false, hide: true } +x-clangd-dev: &clangd_dev { name: "llvm", version: "23", packages: "clangd", setLLVMVersion: false, hide: true } # Clang utils always available: -x-clang-extra-cccl: &clang_extra_cccl { name: "llvm", version: "22", packages: "clang-format clang-tidy llvm-tools", hide: true } +x-clang-extra-cccl: &clang_extra_cccl { name: "llvm", version: "22", packages: "clang-format clang-tidy llvm-tools", setLLVMVersion: false, hide: true } # apt.llvm.org's focal (20.04) arm64 repo is missing clang-format/clang-tidy/llvm-tools for LLVM 22, # so pin the CCCL clang utils to 21 (fully published for focal on both arches) on 20.04. -x-clang-extra-cccl-focal: &clang_extra_cccl_focal { name: "llvm", version: "21", packages: "clang-format clang-tidy llvm-tools", hide: true } -x-clang-extra-rapids: &clang_extra_rapids { name: "llvm", version: "21", packages: "clang-format", hide: true } +x-clang-extra-cccl-focal: &clang_extra_cccl_focal { name: "llvm", version: "21", packages: "clang-format clang-tidy llvm-tools", setLLVMVersion: false, hide: true } +x-clang-extra-rapids: &clang_extra_rapids { name: "llvm", version: "21", packages: "clang-format", setLLVMVersion: false, hide: true } # Docker outside of Docker used to build python wheels: x-dood: &dood { name: "ghcr.io/devcontainers/features/docker-outside-of-docker:1", moby: false, hide: true}