| # Linux-specific builder configurations and build commands |
| |
| ## Base images |
| |
| ### Release |
| |
| .linux_prep_source: |
| image: "fedora:43" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| |
| .linux_release_x86_64: |
| image: "kitware/cmake:build-linux-x86_64-deps-2026-01-13@sha256:eae18d032e8d7be3caa97d2e5754ae2b7196d7a3d375b7b4d1ba9034f1229317" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| LAUNCHER: "scl enable devtoolset-7 --" |
| CMAKE_ARCH: x86_64 |
| |
| .linux_release_aarch64: |
| image: "kitware/cmake:build-linux-aarch64-deps-2026-01-13@sha256:7373fe775ea571a3113251b3e8b5857ef321f6e9b5dfa5963f6e44d062349244" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: aarch64 |
| |
| .linux_package: |
| variables: |
| BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"' |
| |
| .sunos_release_x86_64: |
| image: "kitware/cmake:build-sunos-x86_64-deps-2025-02-27" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: x86_64 |
| |
| .sunos_release_sparc64: |
| image: "kitware/cmake:build-sunos-sparc64-deps-2025-02-27" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: sparc64 |
| |
| .sunos_package: |
| variables: |
| CMake_DOC_ARTIFACT_PREFIX: "$CI_PROJECT_DIR/build/install-doc" |
| |
| .needs_centos7_x86_64: |
| needs: |
| - b:centos7-x86_64 |
| |
| .needs_centos8_aarch64: |
| needs: |
| - b:centos8-aarch64 |
| |
| ### Debian |
| |
| .debian13: |
| image: "kitware/cmake:ci-debian13-x86_64-2026-02-08" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: x86_64 |
| |
| .debian13_iwyu: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_iwyu |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .debian13_aarch64: |
| image: "kitware/cmake:ci-debian13-aarch64-2026-02-08" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: aarch64 |
| |
| ### Fedora |
| |
| .fedora43: |
| image: "kitware/cmake:ci-fedora43-x86_64-2026-02-08" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" |
| CMAKE_ARCH: x86_64 |
| |
| .fedora43_hip: |
| image: "kitware/cmake:ci-fedora43-hip-x86_64-2025-10-29" |
| |
| variables: |
| # FIXME(rocclr): device modules fail loading from binaries in paths with spaces |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" |
| CMAKE_ARCH: x86_64 |
| |
| #### Coverage builds |
| |
| .fedora43_gcc_gcov: |
| extends: .fedora43 |
| |
| variables: |
| # See issue #20001 |
| CMAKE_GENERATOR: "Unix Makefiles" |
| CMAKE_CONFIGURATION: fedora43_gcc_gcov |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_BUILD_TYPE: Debug |
| CMAKE_CI_TEST_TIMEOUT: "1500" |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_bullseye_coverage: |
| extends: .fedora43 |
| environment: |
| name: bullseye-coverage |
| variables: |
| # See issue #20001 |
| CMAKE_GENERATOR: "Unix Makefiles" |
| CMAKE_CONFIGURATION: fedora43_bullseye_coverage |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_BUILD_TYPE: Debug |
| CMAKE_CI_TEST_TIMEOUT: "1500" |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| #### Lint builds |
| |
| .fedora43_tidy: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_tidy |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_clang_analyzer: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_clang_analyzer |
| CMAKE_CI_BUILD_TYPE: Debug |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_clang_fuzzing: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_clang_fuzzing |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_clazy: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_clazy |
| CMAKE_CI_BUILD_TYPE: Debug |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_sphinx: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_sphinx |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" |
| CMAKE_CI_NO_INSTALL: 1 |
| |
| .fedora43_sphinx_package: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_sphinx_package |
| CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" |
| |
| #### Build and test |
| |
| .debian13_ninja: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_ninja |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .debian13_aarch64_ninja: |
| extends: .debian13_aarch64 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_aarch64_ninja |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .debian13_makefiles_inplace: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_makefiles_inplace |
| CMAKE_GENERATOR: "Unix Makefiles" |
| CMAKE_CI_BOOTSTRAP: 1 |
| CMAKE_CI_INPLACE: 1 |
| CMAKE_CI_NO_INSTALL: 1 |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .debian13_ninja_multi_symlinked: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_ninja_multi_symlinked |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_CI_IN_SYMLINK_TREE: 1 |
| CMAKE_CI_BUILD_DIR: "real_work/work/build" |
| |
| .debian13_extdeps: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_extdeps |
| CMAKE_CI_BUILD_TYPE: Release |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .debian13_aarch64_extdeps: |
| extends: .debian13_aarch64 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_aarch64_extdeps |
| CMAKE_CI_BUILD_TYPE: Release |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .fedora43_extdeps: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_extdeps |
| CMAKE_CI_BUILD_TYPE: Release |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .fedora43_ninja: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja |
| CMAKE_CI_BUILD_TYPE: Release |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .fedora43_makefiles: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_makefiles |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_GENERATOR: "Unix Makefiles" |
| |
| .fedora43_makefiles_symlinked: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_makefiles_symlinked |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_GENERATOR: "Unix Makefiles" |
| CMAKE_CI_IN_SYMLINK_TREE: 1 |
| CMAKE_CI_BUILD_DIR: "real_work/work/build" |
| |
| .fedora43_fastbuild: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_fastbuild |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_GENERATOR: "FASTBuild" |
| |
| .fedora43_ninja_instrumentation: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja_instrumentation |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_GENERATOR: "Ninja" |
| |
| ### Clang Compiler |
| |
| .debian13_makefiles_clang: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_makefiles_clang |
| CMAKE_GENERATOR: "Unix Makefiles" |
| |
| .debian13_ninja_clang: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_ninja_clang |
| |
| .fedora43_makefiles_clang: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_makefiles_clang |
| CMAKE_GENERATOR: "Unix Makefiles" |
| |
| .fedora43_makefiles_lfortran: |
| extends: .fedora43 |
| |
| variables: |
| # FIXME(lfortran): -rpath flags with spaces not forwarded |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" |
| CMAKE_CONFIGURATION: fedora43_makefiles_lfortran |
| CMAKE_GENERATOR: "Unix Makefiles" |
| CTEST_LABELS: "Fortran" |
| |
| .fedora43_ninja_lfortran: |
| extends: .fedora43 |
| |
| variables: |
| # FIXME(lfortran): -rpath flags with spaces not forwarded |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" |
| CMAKE_CONFIGURATION: fedora43_ninja_lfortran |
| CTEST_LABELS: "Fortran" |
| |
| .fedora43_ninja_multi: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja_multi |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| |
| .fedora43_ninja_clang: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja_clang |
| |
| .fedora43_ninja_multi_clang: |
| extends: .fedora43 |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja_multi_clang |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| |
| ### Sanitizers |
| |
| .fedora_memcheck: |
| variables: |
| CMAKE_CI_BUILD_TYPE: RelWithDebInfo |
| |
| .fedora_asan_addon: |
| extends: .fedora_memcheck |
| |
| variables: |
| CTEST_MEMORYCHECK_TYPE: AddressSanitizer |
| CTEST_MEMORYCHECK_SANITIZER_OPTIONS: "" |
| |
| .fedora_valgrind_addon: |
| extends: .fedora_memcheck |
| |
| variables: |
| CTEST_MEMORYCHECK_TYPE: Valgrind |
| CMAKE_CI_RUN_MEMCHECK: "true" |
| CMAKE_CI_TEST_TIMEOUT: "1500" |
| CMAKE_VALGRIND_CONFIGURATION: fedora43 |
| |
| .fedora43_asan: |
| extends: |
| - .fedora43 |
| - .fedora_asan_addon |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_asan |
| |
| .fedora43_ninja_valgrind: |
| extends: |
| - .fedora43 |
| - .fedora_valgrind_addon |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_ninja_valgrind |
| |
| ### Intel Compiler |
| |
| .intelcompiler: |
| image: "kitware/intelcompiler:$CMAKE_CI_INTELCOMPILER_IMAGE_TAG" |
| environment: |
| name: intel-compiler |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .intelclassic_makefiles: |
| extends: .intelcompiler |
| variables: |
| CMAKE_CONFIGURATION: intelclassic_makefiles |
| CMAKE_GENERATOR: "Unix Makefiles" |
| |
| .inteloneapi_makefiles: |
| extends: .intelcompiler |
| variables: |
| CMAKE_CONFIGURATION: inteloneapi_makefiles |
| CMAKE_GENERATOR: "Unix Makefiles" |
| |
| ### NVHPC Compiler |
| |
| .nvhpc: |
| image: "kitware/cmake:ci-nvhpc24.9-x86_64-2024-09-27" |
| variables: |
| CMAKE_ARCH: x86_64 |
| CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1 |
| |
| .nvhpc_ninja: |
| extends: .nvhpc |
| variables: |
| CMAKE_CONFIGURATION: nvhpc_ninja |
| |
| ### CUDA builds |
| |
| .cuda: |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CTEST_LABELS: "CUDA" |
| CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1 |
| |
| .cuda9.2: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda9.2-x86_64-2021-10-01" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda9.2_nvidia: |
| extends: .cuda9.2 |
| variables: |
| CMAKE_CONFIGURATION: cuda9.2_nvidia |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| |
| .cuda10.2: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda10.2-x86_64-2021-06-16" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda10.2_nvidia: |
| extends: .cuda10.2 |
| variables: |
| CMAKE_CONFIGURATION: cuda10.2_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda10.2_clang: |
| extends: .cuda10.2 |
| variables: |
| CMAKE_CONFIGURATION: cuda10.2_clang |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda11.6: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda11.6-x86_64-2022-02-28" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda11.6_nvidia: |
| extends: .cuda11.6 |
| variables: |
| CMAKE_CONFIGURATION: cuda11.6_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda11.6_clang: |
| extends: .cuda11.6 |
| variables: |
| CMAKE_CONFIGURATION: cuda11.6_clang |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda11.8_minimal: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda11.8-minimal-x86_64-2022-12-06" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda11.8_minimal_nvidia: |
| extends: .cuda11.8_minimal |
| variables: |
| CMAKE_CONFIGURATION: cuda11.8_minimal_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda11.8_splayed_nvidia: |
| extends: .cuda11.8_minimal |
| variables: |
| CMAKE_CONFIGURATION: cuda11.8_splayed_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda12.2: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda12.2-x86_64-2024-09-25" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda12.2_nvidia: |
| extends: .cuda12.2 |
| variables: |
| CMAKE_CONFIGURATION: cuda12.2_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda12.2_clang: |
| extends: .cuda12.2 |
| variables: |
| CMAKE_CONFIGURATION: cuda12.2_clang |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda12.6: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda12.6-x86_64-2025-01-30" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda12.6_nvidia: |
| extends: .cuda12.6 |
| variables: |
| CMAKE_CONFIGURATION: cuda12.6_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda12.6_nvidia_clang: |
| extends: .cuda12.6 |
| variables: |
| CMAKE_CONFIGURATION: cuda12.6_nvidia_clang |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda12.6_clang: |
| extends: .cuda12.6 |
| variables: |
| CMAKE_CONFIGURATION: cuda12.6_clang |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda13.0: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda13.0-x86_64-2025-10-20" |
| variables: |
| CMAKE_ARCH: x86_64 |
| |
| .cuda13.0_nvidia: |
| extends: .cuda13.0 |
| variables: |
| CMAKE_CONFIGURATION: cuda13.0_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| .cuda13.0_nvidia_fastbuild: |
| extends: .cuda13.0 |
| |
| variables: |
| CMAKE_CONFIGURATION: cuda13.0_nvidia_fastbuild |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| CMAKE_GENERATOR: "FASTBuild" |
| |
| .cuda13.0_aarch64: |
| extends: .cuda |
| image: "kitware/cmake:ci-cuda13.0-aarch64-2025-10-31" |
| variables: |
| CMAKE_ARCH: aarch64 |
| |
| .cuda13.0_aarch64_nvidia: |
| extends: .cuda13.0_aarch64 |
| variables: |
| CMAKE_CONFIGURATION: cuda13.0_aarch64_nvidia |
| CTEST_NO_WARNINGS_ALLOWED: 1 |
| |
| ### HIP builds |
| |
| .hip6.3: |
| image: "kitware/cmake:ci-hip6.3-x86_64-2025-02-14" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: x86_64 |
| CTEST_LABELS: "HIP" |
| |
| .hip6.3_radeon: |
| extends: .hip6.3 |
| |
| variables: |
| # FIXME(rocclr): device modules fail loading from binaries in paths with spaces |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" |
| CMAKE_CONFIGURATION: hip6.3_radeon |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| |
| .debian13_hip_radeon: |
| extends: .debian13 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian13_hip_radeon |
| CTEST_LABELS: "HIP" |
| |
| .fedora43_hip_radeon: |
| extends: .fedora43_hip |
| |
| variables: |
| CMAKE_CONFIGURATION: fedora43_hip_radeon |
| CTEST_LABELS: "HIP" |
| |
| .hip6.3_nvidia: |
| extends: .hip6.3 |
| |
| variables: |
| CMAKE_CONFIGURATION: hip6.3_nvidia |
| CTEST_LABELS: "HIP" |
| CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1 |
| |
| ### C++ modules |
| |
| .gcc_cxx_modules_x86_64: |
| image: "kitware/cmake:ci-gcc_cxx_modules-x86_64-2024-12-23" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: x86_64 |
| CC: "/opt/gcc-importstd/bin/gcc" |
| CXX: "/opt/gcc-importstd/bin/g++" |
| |
| .gcc_cxx_modules_ninja: |
| extends: .gcc_cxx_modules_x86_64 |
| |
| variables: |
| CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja |
| |
| .gcc_cxx_modules_reloc_ninja: |
| extends: .gcc_cxx_modules_x86_64 |
| |
| variables: |
| CMAKE_CONFIGURATION: linux_gcc_cxx_modules_reloc_ninja |
| CTEST_LABELS: "CXXModules" |
| |
| .gcc_cxx_modules_ninja_multi: |
| extends: .gcc_cxx_modules_x86_64 |
| |
| variables: |
| CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi |
| CMAKE_GENERATOR: "Ninja Multi-Config" |
| |
| ### Debian 10 legacy packages |
| |
| .debian10: |
| image: "kitware/cmake:ci-debian10-x86_64-2023-07-31" |
| |
| variables: |
| GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" |
| CMAKE_ARCH: x86_64 |
| |
| .debian10_legacy: |
| extends: .debian10 |
| |
| variables: |
| CMAKE_CONFIGURATION: debian10_legacy |
| CTEST_LABELS: "Python2" |
| |
| ## Tags |
| |
| .linux_x86_64_tags: |
| tags: |
| - cmake |
| - build |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_v3_tags: |
| tags: |
| - cmake |
| - build |
| - docker |
| - linux-x86_64-v3 |
| |
| .linux_x86_64_tags_x11: |
| tags: |
| - cmake |
| - docker |
| - linux-x86_64 |
| - x11 |
| |
| .linux_x86_64_tags_fast_x11: |
| tags: |
| - cmake |
| - docker |
| - linux-x86_64-v4 |
| - x11 |
| |
| .linux_x86_64_tags_cuda_arch_30: |
| tags: |
| - cmake |
| - cuda-arch-30 |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_tags_cuda_arch_52: |
| tags: |
| - cmake |
| - cuda-arch-52 |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_v3_tags_cuda_arch_52: |
| tags: |
| - cmake |
| - cuda-arch-52 |
| - docker |
| - linux-x86_64-v3 |
| |
| .linux_x86_64_tags_cuda_arch_75: |
| tags: |
| - cmake |
| - cuda-arch-75 |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_tags_rocm5.7: |
| tags: |
| - cmake |
| - radeon |
| - rocm-5.7 |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_tags_rocm6.2: |
| tags: |
| - cmake |
| - radeon |
| - rocm-6.2 |
| - docker |
| - linux-x86_64 |
| |
| .linux_x86_64_tags_rocm6.3: |
| tags: |
| - cmake |
| - radeon |
| - rocm-6.3 |
| - docker |
| - linux-x86_64 |
| |
| .linux_aarch64_tags: |
| tags: |
| - cmake |
| - build |
| - docker |
| - linux-aarch64 |
| |
| .linux_aarch64_tags_cuda_arch_75: |
| tags: |
| - cmake |
| - cuda-arch-75 |
| - docker |
| - linux-aarch64 |
| |
| ## Linux-specific scripts |
| |
| .before_script_linux: &before_script_linux |
| - source .gitlab/ci/env.sh |
| - source .gitlab/ci/cmake-env.sh |
| - source .gitlab/ci/ninja-env.sh |
| |
| .cmake_prep_source_linux: |
| stage: prep |
| |
| script: |
| - *before_script_linux |
| - dnf install --setopt=install_weak_deps=False -y git-core |
| - v="$(.gitlab/ci/cmake_version.sh)" |
| - mkdir -p build/ |
| - git archive --format=tgz --prefix="cmake-$v/" -o "build/cmake-$v.tar.gz" HEAD |
| - git archive --format=zip --prefix="cmake-$v/" -o "build/cmake-$v.zip" HEAD |
| |
| interruptible: true |
| |
| .cmake_prep_doc_linux: |
| stage: prep |
| |
| script: |
| - *before_script_linux |
| - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake" |
| - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake" |
| |
| interruptible: true |
| |
| .cmake_version_update_linux: |
| stage: build |
| extends: .fedora43 |
| script: |
| - .gitlab/ci/cmake_version_update.sh |
| interruptible: false # The job internally fetches and retries. |
| |
| .cmake_spellcheck_linux: |
| stage: build |
| extends: .fedora43 |
| script: |
| - .gitlab/ci/codespell.bash |
| - .gitlab/ci/typos.bash |
| interruptible: true |
| |
| .cmake_build_linux: |
| stage: build |
| |
| script: |
| - *before_script_linux |
| - .gitlab/ci/sccache.sh |
| - sccache --start-server |
| - sccache --show-stats |
| - .gitlab/ci/pre_configure.sh |
| - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake" |
| - .gitlab/ci/pre_build.sh |
| - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake" |
| - .gitlab/ci/post_build.sh |
| - sccache --show-stats |
| |
| interruptible: true |
| |
| .cmake_test_linux: |
| stage: test |
| |
| script: |
| - *before_script_linux |
| - .gitlab/ci/pre_test.sh |
| - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake" |
| |
| interruptible: true |
| |
| .cmake_memcheck_linux: |
| stage: test |
| |
| script: |
| - *before_script_linux |
| - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_memcheck.cmake" |
| |
| interruptible: true |
| |
| .cmake_coverage_linux: |
| stage: test |
| |
| script: |
| - *before_script_linux |
| - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_coverage.cmake" |
| coverage: '/Percentage Coverage: \d+.\d+%/' |
| |
| interruptible: true |
| |
| .cmake_build_linux_release: |
| stage: build |
| |
| script: |
| - source .gitlab/ci/env.sh |
| # Bootstrap. |
| - mkdir -p build/ |
| - cp Utilities/Release/linux/$CMAKE_ARCH/cache.txt build/CMakeCache.txt |
| # Make sccache available. |
| - source .gitlab/ci/sccache-env.sh |
| # Append sccache settings to the cache. |
| - echo "CMAKE_C_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt |
| - echo "CMAKE_CXX_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt |
| # CI settings. |
| - echo "CMake_TEST_INSTALL:BOOL=OFF" >> build/CMakeCache.txt |
| - echo "CMAKE_INSTALL_PREFIX:PATH=$PWD/build/install" >> build/CMakeCache.txt |
| - echo "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=ON" >> build/CMakeCache.txt |
| # Appease Git. The Git in this container is old (1.7) and doesn't |
| # understand some things. But, it doesn't need to, so make it blind. |
| - mkdir -p .git/info |
| - echo "* -crlf" >> .git/info/attributes |
| - git reset --hard |
| # Bootstrap |
| - cd build/ |
| - '$LAUNCHER ../bootstrap --parallel=$(nproc) --docdir=doc/cmake $BOOTSTRAP_ARGS' |
| # FIXME: When CTest can drive an external CMake for the build as well, |
| # use the scripts here. |
| - "$LAUNCHER make -j$(nproc)" |
| # NOTE: This regex matches that used in the release build. |
| - "$LAUNCHER bin/ctest --output-on-failure -j$(nproc) -R '^(CMake\\.|CMakeLib\\.|RunCMake\\.ctest_memcheck)'" |
| # Make a package. |
| - bin/cpack -G TGZ |
| - bin/cpack -G STGZ |
| - sccache --show-stats |
| |
| interruptible: true |
| |
| .cmake_build_linux_standalone: |
| stage: build |
| |
| script: |
| - *before_script_linux |
| - .gitlab/ci/sccache.sh |
| - sccache --start-server |
| - sccache --show-stats |
| - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake" |
| - sccache --show-stats |
| |
| interruptible: true |
| |
| .cmake_test_linux_release: |
| stage: test-ext |
| |
| script: |
| - *before_script_linux |
| # Make the CMake package available. |
| - mkdir -p build/install |
| - tar -C build/install --strip-components=1 -xzf build/cmake-*-linux-$CMAKE_ARCH.tar.gz |
| - .gitlab/ci/sccache.sh |
| - sccache --start-server |
| - sccache --show-stats |
| - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake" |
| - sccache --show-stats |
| |
| interruptible: true |
| |
| .cmake_test_linux_intelclassic_makefiles: |
| extends: |
| - .intelclassic_makefiles |
| - .cmake_test_linux_release |
| - .linux_x86_64_tags |
| - .rules |
| - .needs_centos7_x86_64 |
| variables: |
| CMAKE_CI_JOB_NIGHTLY: "true" |
| CMAKE_CI_JOB_NO_MR: "true" |
| |
| .cmake_test_linux_inteloneapi_makefiles: |
| extends: |
| - .inteloneapi_makefiles |
| - .cmake_test_linux_release |
| - .linux_x86_64_tags |
| - .rules |
| - .needs_centos7_x86_64 |
| variables: |
| CMAKE_CI_JOB_NIGHTLY: "true" |
| |
| .cmake_build_sunos_release: |
| stage: build |
| |
| script: |
| - *before_script_linux |
| # SunOS sysroot |
| - Utilities/Release/sunos/docker/sysroot.bash $CMAKE_ARCH |
| # Initial cache |
| - mkdir -p build/ |
| - cp Utilities/Release/sunos/$CMAKE_ARCH/cache.txt build/CMakeCache.txt |
| # Make sccache available. |
| - source .gitlab/ci/sccache-env.sh |
| - echo "CMAKE_C_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt |
| - echo "CMAKE_CXX_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt |
| # Build |
| - cd build/ |
| - cmake .. -GNinja |
| -DCMAKE_DOC_DIR=doc/cmake |
| -DCMake_DOC_ARTIFACT_PREFIX="$CMake_DOC_ARTIFACT_PREFIX" |
| -DCMAKE_TOOLCHAIN_FILE="$CI_PROJECT_DIR/Utilities/Release/sunos/$CMAKE_ARCH/toolchain.cmake" |
| - ninja |
| # Package |
| - cpack -G "TGZ;STGZ" |
| - sccache --show-stats |
| |
| interruptible: true |
| |
| ### Documentation |
| |
| .cmake_org_help: |
| stage: build |
| extends: |
| - .fedora43 |
| - .linux_x86_64_tags |
| - .cmake_org_help_artifacts |
| script: |
| - *before_script_linux |
| - mkdir -p build/ |
| - cd build/ |
| - cmake ../Utilities/Sphinx -GNinja |
| -DSPHINX_HTML=ON |
| -DSPHINX_QTHELP=$CMAKE_CI_SPHINX_QTHELP |
| -DCMake_SPHINX_CMAKE_ORG=ON |
| -DCMake_SPHINX_CMAKE_ORG_OUTDATED=$CMAKE_CI_SPHINX_OUTDATED |
| -DCMake_VERSION_NO_GIT=$CMAKE_CI_VERSION_NO_GIT |
| - ninja |