From 137fe64d3feccf3772f13d89df4f72b11a8c0936 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 27 Jul 2026 11:20:38 -0700 Subject: [PATCH 1/7] install clang tools before compilers --- matrix.yml | 156 ++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/matrix.yml b/matrix.yml index 26f184f4..ff4bb775 100644 --- a/matrix.yml +++ b/matrix.yml @@ -86,105 +86,105 @@ include: - os: "ubuntu:20.04" images: - - { features: [*python, *dood, *gcc_7, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_7, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_8, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_8, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_9, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_9, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_10, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_10, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - - { features: [*python, *dood, *llvm_14, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_14, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_7, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_7, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_8, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_8, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_9, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_9, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_10, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_10, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *llvm_14, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *llvm_14, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:22.04" images: - - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } # This is only used for testing python -- CTKk 12.0 + gcc13 don't play nice together, but # that doesn't matter for running python tests, and pinning all python jobs at 13 simplifies # things significantly. - - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_13, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_20, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_21, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_22, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:24.04" images: - - { features: [*python, *dood, *nvhpc_prev, *clang_extra_cccl, *clangd_dev, *cccl_dev], env: *nvhpc_env } - - { features: [*python, *dood, *nvhpc_curr, *clang_extra_cccl, *clangd_dev, *cccl_dev], env: *nvhpc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *nvhpc_prev, *cccl_dev], env: *nvhpc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *nvhpc_curr, *cccl_dev], env: *nvhpc_env } - - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } # cuda-ext images: - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:26.04" images: - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } # cuda-ext images: - - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - os: "windows" images: From aadaa02746cfbd15f25de84e2c0398d7396eaab9 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 27 Jul 2026 12:18:43 -0700 Subject: [PATCH 2/7] Revert "install clang tools before compilers" This reverts commit 137fe64d3feccf3772f13d89df4f72b11a8c0936. --- matrix.yml | 156 ++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/matrix.yml b/matrix.yml index ff4bb775..26f184f4 100644 --- a/matrix.yml +++ b/matrix.yml @@ -86,105 +86,105 @@ include: - os: "ubuntu:20.04" images: - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_7, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_7, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_8, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_8, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_9, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_9, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_10, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *gcc_10, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *llvm_14, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl_focal, *clangd_dev_bionic, *llvm_14, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *gcc_7, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_7, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_8, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_8, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_9, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_9, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_10, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_10, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + + - { features: [*python, *dood, *llvm_14, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_14, *clang_extra_cccl_focal, *clangd_dev_bionic, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:22.04" images: - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_11, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_12, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_11, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_12, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } # This is only used for testing python -- CTKk 12.0 + gcc13 don't play nice together, but # that doesn't matter for running python tests, and pinning all python jobs at 13 simplifies # things significantly. - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *gcc_13, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_15, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_16, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_17, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_18, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_19, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_20, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_21, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev_jammy, *llvm_22, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + + - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_15, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_16, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_17, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_18, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_19, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev_jammy, { <<: *cuda_prev_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:24.04" images: - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *nvhpc_prev, *cccl_dev], env: *nvhpc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *nvhpc_curr, *cccl_dev], env: *nvhpc_env } + - { features: [*python, *dood, *nvhpc_prev, *clang_extra_cccl, *clangd_dev, *cccl_dev], env: *nvhpc_env } + - { features: [*python, *dood, *nvhpc_curr, *clang_extra_cccl, *clangd_dev, *cccl_dev], env: *nvhpc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_13, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_13, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *llvm_env } # cuda-ext images: - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_14, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_20, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_21, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *llvm_22, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_14, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_20, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_21, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_prev_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_min, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } + - { features: [*python, *dood, *llvm_22, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *llvm_env } - os: "ubuntu:26.04" images: - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_opts }, *cccl_dev], env: *gcc_env } # cuda-ext images: - - { features: [*python, *dood, *clang_extra_cccl, *clangd_dev, *gcc_15, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } + - { features: [*python, *dood, *gcc_15, *clang_extra_cccl, *clangd_dev, { <<: *cuda_curr_max, <<: *cccl_cuda_ext_opts }, *cccl_dev], env: *gcc_env } - os: "windows" images: From b56a3e372f79f0214f0703a6a8460db9d47bb049 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 27 Jul 2026 12:22:49 -0700 Subject: [PATCH 3/7] only save LLVM_VERSION if setLLVMVersion is true --- features/src/llvm/devcontainer-feature.json | 2 +- features/src/llvm/install.sh | 15 +++++++++------ matrix.yml | 18 +++++++++--------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/features/src/llvm/devcontainer-feature.json b/features/src/llvm/devcontainer-feature.json index e63334e4..0b73c098 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 aad632b5..941335dd 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:-false}"; 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:-false}"; 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/matrix.yml b/matrix.yml index 26f184f4..bb69ceb4 100644 --- a/matrix.yml +++ b/matrix.yml @@ -20,15 +20,15 @@ x-gcc-rapids: &gcc_rapids { name: "gcc", version: "14", hide: true } x-gcc-env-rapids: &gcc_env_rapids { CC: "gcc", CXX: "g++", CUDAHOSTCXX: "g++", PYTHON_VERSION: "3.14" } # CUDA 12.0 support stops at clang 14. -x-llvm-14: &llvm_14 { name: "llvm", version: "14" } -x-llvm-15: &llvm_15 { name: "llvm", version: "15" } -x-llvm-16: &llvm_16 { name: "llvm", version: "16" } -x-llvm-17: &llvm_17 { name: "llvm", version: "17" } -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-14: &llvm_14 { name: "llvm", version: "14", setLLVMVersion: true } +x-llvm-15: &llvm_15 { name: "llvm", version: "15", setLLVMVersion: true } +x-llvm-16: &llvm_16 { name: "llvm", version: "16", setLLVMVersion: true } +x-llvm-17: &llvm_17 { name: "llvm", version: "17", setLLVMVersion: true } +x-llvm-18: &llvm_18 { name: "llvm", version: "18", setLLVMVersion: true } +x-llvm-19: &llvm_19 { name: "llvm", version: "19", setLLVMVersion: true } +x-llvm-20: &llvm_20 { name: "llvm", version: "20", setLLVMVersion: true } +x-llvm-21: &llvm_21 { name: "llvm", version: "21", setLLVMVersion: true } +x-llvm-22: &llvm_22 { name: "llvm", version: "22", setLLVMVersion: true } x-llvm-env: &llvm_env { CC: "clang", CXX: "clang++", CUDAHOSTCXX: "clang++" } x-nvhpc-prev: &nvhpc_prev { name: "nvhpc", version: "26.3" } From 8d6dff10260a85fec4b72308b60655372d83db0b Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 27 Jul 2026 12:43:50 -0700 Subject: [PATCH 4/7] default to true, disable for tools in matrix.yml --- features/src/llvm/install.sh | 4 ++-- matrix.yml | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/features/src/llvm/install.sh b/features/src/llvm/install.sh index 941335dd..cb8c3d40 100755 --- a/features/src/llvm/install.sh +++ b/features/src/llvm/install.sh @@ -8,7 +8,7 @@ cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"; . ./common/install.sh; LLVM_VERSION="${VERSION:-}"; -SET_LLVM_VERSION="${SETLLVMVERSION:-false}"; +SET_LLVM_VERSION="${SETLLVMVERSION:-true}"; export LLVM_REPO_VERSION_OVERRIDE="${REPOVERSIONOVERRIDE:-}"; check_packages \ @@ -69,7 +69,7 @@ for ((i=0; i < ${#bins[@]}; i+=1)); do fi done -if "${SET_LLVM_VERSION:-false}"; then +if "${SET_LLVM_VERSION:-true}"; then export LLVM_VERSION="${LLVM_VERSION}"; # export envvars in bashrc files diff --git a/matrix.yml b/matrix.yml index bb69ceb4..f44812ab 100644 --- a/matrix.yml +++ b/matrix.yml @@ -20,15 +20,15 @@ x-gcc-rapids: &gcc_rapids { name: "gcc", version: "14", hide: true } x-gcc-env-rapids: &gcc_env_rapids { CC: "gcc", CXX: "g++", CUDAHOSTCXX: "g++", PYTHON_VERSION: "3.14" } # CUDA 12.0 support stops at clang 14. -x-llvm-14: &llvm_14 { name: "llvm", version: "14", setLLVMVersion: true } -x-llvm-15: &llvm_15 { name: "llvm", version: "15", setLLVMVersion: true } -x-llvm-16: &llvm_16 { name: "llvm", version: "16", setLLVMVersion: true } -x-llvm-17: &llvm_17 { name: "llvm", version: "17", setLLVMVersion: true } -x-llvm-18: &llvm_18 { name: "llvm", version: "18", setLLVMVersion: true } -x-llvm-19: &llvm_19 { name: "llvm", version: "19", setLLVMVersion: true } -x-llvm-20: &llvm_20 { name: "llvm", version: "20", setLLVMVersion: true } -x-llvm-21: &llvm_21 { name: "llvm", version: "21", setLLVMVersion: true } -x-llvm-22: &llvm_22 { name: "llvm", version: "22", setLLVMVersion: true } +x-llvm-14: &llvm_14 { name: "llvm", version: "14" } +x-llvm-15: &llvm_15 { name: "llvm", version: "15" } +x-llvm-16: &llvm_16 { name: "llvm", version: "16" } +x-llvm-17: &llvm_17 { name: "llvm", version: "17" } +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-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} From 33dbbd2d2b434db004b3ce8eeef78ea54b48a9bc Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 28 Jul 2026 13:34:04 -0700 Subject: [PATCH 5/7] split cuopt into its own job --- .github/workflows/build-all-rapids-repos.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-all-rapids-repos.yml b/.github/workflows/build-all-rapids-repos.yml index 03a8b678..37f62358 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: From de1ae2b795027a73eeec6e8968214d65895066da Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 28 Jul 2026 14:10:17 -0700 Subject: [PATCH 6/7] update nvhpc version in feature integration test --- features/test/_global/cpp_llvm_cuda_nvhpc.sh | 2 +- features/test/_global/scenarios.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/test/_global/cpp_llvm_cuda_nvhpc.sh b/features/test/_global/cpp_llvm_cuda_nvhpc.sh index f820f0a8..a78300a1 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 2ebe3aa4..dee52eda 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": {} }, From 3f4038792610c68306cf5a43b7a598a784388c16 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 29 Jul 2026 11:04:06 -0700 Subject: [PATCH 7/7] only use --no-cache on initial build, use the layer cache on retries --- .github/actions/build-linux-image/action.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/actions/build-linux-image/action.yml b/.github/actions/build-linux-image/action.yml index 865ba8e2..acc179fd 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...";