summaryrefslogtreecommitdiffstats
path: root/.gitlab
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-05-22 17:41:30 (GMT)
committerBrad King <brad.king@kitware.com>2023-05-22 21:16:13 (GMT)
commit1689e0a118f37f62d198a213946d98624350cb4c (patch)
treeb09e6903f0986a0bca8d451b93b3005e3ab7ce16 /.gitlab
parentbdaa9e1e4ec626a9acc818553424e414c57633dd (diff)
downloadCMake-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.cmake3
-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.cmake4
-rw-r--r--.gitlab/ci/docker/clang_cxx_modules/Dockerfile13
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_cmake_deps.sh7
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_deps.sh7
-rwxr-xr-x.gitlab/ci/docker/clang_cxx_modules/install_llvm.sh39
-rw-r--r--.gitlab/ci/env_fedora38_ninja_multi_clang.sh1
-rw-r--r--.gitlab/os-linux.yml29
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: