diff options
author | Brad King <brad.king@kitware.com> | 2023-05-22 17:41:30 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-05-22 21:16:13 (GMT) |
commit | 1689e0a118f37f62d198a213946d98624350cb4c (patch) | |
tree | b09e6903f0986a0bca8d451b93b3005e3ab7ce16 /.gitlab | |
parent | bdaa9e1e4ec626a9acc818553424e414c57633dd (diff) | |
download | CMake-1689e0a118f37f62d198a213946d98624350cb4c.zip CMake-1689e0a118f37f62d198a213946d98624350cb4c.tar.gz CMake-1689e0a118f37f62d198a213946d98624350cb4c.tar.bz2 |
ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
Fedora 38 comes with LLVM/Clang 16.0, which supports the features we
need for C++ modules.
Diffstat (limited to '.gitlab')
-rw-r--r-- | .gitlab/ci/configure_fedora38_ninja_clang.cmake | 3 | ||||
-rw-r--r-- | .gitlab/ci/configure_fedora38_ninja_multi_clang.cmake (renamed from .gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake) | 2 | ||||
-rw-r--r-- | .gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake | 4 | ||||
-rw-r--r-- | .gitlab/ci/docker/clang_cxx_modules/Dockerfile | 13 | ||||
-rwxr-xr-x | .gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh | 7 | ||||
-rwxr-xr-x | .gitlab/ci/docker/clang_cxx_modules/install_deps.sh | 7 | ||||
-rwxr-xr-x | .gitlab/ci/docker/clang_cxx_modules/install_llvm.sh | 39 | ||||
-rw-r--r-- | .gitlab/ci/env_fedora38_ninja_multi_clang.sh | 1 | ||||
-rw-r--r-- | .gitlab/os-linux.yml | 29 |
9 files changed, 12 insertions, 93 deletions
diff --git a/.gitlab/ci/configure_fedora38_ninja_clang.cmake b/.gitlab/ci/configure_fedora38_ninja_clang.cmake index ff30ad9..214a123 100644 --- a/.gitlab/ci/configure_fedora38_ninja_clang.cmake +++ b/.gitlab/ci/configure_fedora38_ninja_clang.cmake @@ -1 +1,4 @@ +set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "") +set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "") + include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake") diff --git a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake b/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake index 671c625..214a123 100644 --- a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja.cmake +++ b/.gitlab/ci/configure_fedora38_ninja_multi_clang.cmake @@ -1,4 +1,4 @@ set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "") set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora38_common_clang.cmake") diff --git a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake b/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake deleted file mode 100644 index 671c625..0000000 --- a/.gitlab/ci/configure_linux_clang_cxx_modules_ninja_multi.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(CMake_TEST_MODULE_COMPILATION "named,collation,partitions,internal_partitions,export_bmi,install_bmi,shared" CACHE STRING "") -set(CMake_TEST_MODULE_COMPILATION_RULES "${CMAKE_CURRENT_LIST_DIR}/cxx_modules_rules_clang.cmake" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake") diff --git a/.gitlab/ci/docker/clang_cxx_modules/Dockerfile b/.gitlab/ci/docker/clang_cxx_modules/Dockerfile deleted file mode 100644 index 4e58125..0000000 --- a/.gitlab/ci/docker/clang_cxx_modules/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM fedora:37 -MAINTAINER Ben Boeckel <ben.boeckel@kitware.com> - -# Install build dependencies for packages. -COPY install_deps.sh /root/install_deps.sh -RUN sh /root/install_deps.sh - -COPY install_llvm.sh /root/install_llvm.sh -RUN sh /root/install_llvm.sh - -# Install build dependencies for CMake's CI. -COPY install_cmake_deps.sh /root/install_cmake_deps.sh -RUN sh /root/install_cmake_deps.sh diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh b/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh deleted file mode 100755 index 465e125..0000000 --- a/.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -set -e - -dnf install -y --setopt=install_weak_deps=False \ - file git-core -dnf clean all diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh b/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh deleted file mode 100755 index c1957c3..0000000 --- a/.gitlab/ci/docker/clang_cxx_modules/install_deps.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -set -e - -dnf install -y --setopt=install_weak_deps=False \ - gcc-c++ cmake ninja-build -dnf clean all diff --git a/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh b/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh deleted file mode 100755 index 35f925e..0000000 --- a/.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -set -e - -readonly revision="6d859df46e93e04bd7a4f90d9a9056763998f638" # llvmorg-16.0.0-rc2-31-g6d859df46e93 -readonly tarball="https://github.com/llvm/llvm-project/archive/$revision.tar.gz" - -readonly workdir="$HOME/llvm" -readonly srcdir="$workdir/llvm" -readonly builddir="$workdir/build" - -mkdir -p "$workdir" -cd "$workdir" -curl -L "$tarball" > "llvm-$revision.tar.gz" -tar xf "llvm-$revision.tar.gz" -mv "llvm-project-$revision" "$srcdir" -mkdir -p "$builddir" -cd "$builddir" -cmake -GNinja \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DLLVM_ENABLE_BINDINGS=OFF \ - -DLLVM_INCLUDE_BENCHMARKS=OFF \ - -DLLVM_INCLUDE_DOCS=OFF \ - -DLLVM_INCLUDE_EXAMPLES=OFF \ - -DLLVM_INCLUDE_RUNTIMES=OFF \ - -DLLVM_INCLUDE_TESTS=OFF \ - -DLLVM_INCLUDE_UTILS=OFF \ - -DLLVM_TARGETS_TO_BUILD=X86 \ - -DLLVM_TOOL_CLANG_BUILD=ON \ - -DLLVM_USE_SYMLINKS=ON \ - "-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=$srcdir/clang" \ - -DLLVM_PARALLEL_LINK_JOBS=1 \ - -DCLANG_BUILD_TOOLS=ON \ - "-DCMAKE_INSTALL_PREFIX=/opt/llvm-p1689" \ - "$srcdir/llvm" -ninja -ninja install/strip -rm -rf "$workdir" diff --git a/.gitlab/ci/env_fedora38_ninja_multi_clang.sh b/.gitlab/ci/env_fedora38_ninja_multi_clang.sh new file mode 100644 index 0000000..9f3edde --- /dev/null +++ b/.gitlab/ci/env_fedora38_ninja_multi_clang.sh @@ -0,0 +1 @@ +. .gitlab/ci/env_fedora38_common_clang.sh diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index afce62b..f4cc401 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -213,6 +213,13 @@ variables: CMAKE_CONFIGURATION: fedora38_ninja_clang +.fedora38_ninja_multi_clang: + extends: .fedora38 + + variables: + CMAKE_CONFIGURATION: fedora38_ninja_multi_clang + CMAKE_GENERATOR: "Ninja Multi-Config" + ### Sanitizers .fedora_memcheck: @@ -376,28 +383,6 @@ CMAKE_CONFIGURATION: linux_gcc_cxx_modules_ninja_multi CMAKE_GENERATOR: "Ninja Multi-Config" -.clang_cxx_modules_x86_64: - image: "kitware/cmake:ci-clang_cxx_modules-x86_64-2023-02-15" - - variables: - GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" - CMAKE_ARCH: x86_64 - CC: "/opt/llvm-p1689/bin/clang" - CXX: "/opt/llvm-p1689/bin/clang++" - -.clang_cxx_modules_ninja: - extends: .clang_cxx_modules_x86_64 - - variables: - CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja - -.clang_cxx_modules_ninja_multi: - extends: .clang_cxx_modules_x86_64 - - variables: - CMAKE_CONFIGURATION: linux_clang_cxx_modules_ninja_multi - CMAKE_GENERATOR: "Ninja Multi-Config" - ## Tags .linux_x86_64_tags: |