Browse Source

gitlab-ci: add jobs to test with Clang and LLVMFlang on Fedora

We already have `t:debian10-{makefiles,ninja}-clang` jobs covering old
versions of Clang with Makefile and Ninja generators.  Complement them
with new `t:fedora37-{makefiles,ninja}-clang` jobs covering recent
versions of Clang.

Fedora 37 now packages LLVMFlang, so enable Fortran tests with that
compiler too.

Issue: #22387
Brad King 3 years ago
parent
commit
99370e990e

+ 20 - 0
.gitlab-ci.yml

@@ -196,6 +196,26 @@ t:debian10-makefiles-clang:
     variables:
         CMAKE_CI_JOB_NIGHTLY: "true"
 
+t:fedora37-ninja-clang:
+    extends:
+        - .fedora37_ninja_clang
+        - .cmake_test_linux_release
+        - .linux_builder_tags_qt
+        - .run_dependent
+        - .needs_centos6_x86_64
+    variables:
+        CMAKE_CI_JOB_NIGHTLY: "true"
+
+t:fedora37-makefiles-clang:
+    extends:
+        - .fedora37_makefiles_clang
+        - .cmake_test_linux_release
+        - .linux_builder_tags_qt
+        - .run_dependent
+        - .needs_centos6_x86_64
+    variables:
+        CMAKE_CI_JOB_NIGHTLY: "true"
+
 t:fedora37-makefiles:
     extends:
         - .fedora37_makefiles

+ 6 - 0
.gitlab/ci/configure_fedora37_common_clang.cmake

@@ -0,0 +1,6 @@
+set(CMAKE_Fortran_COMPILER "/usr/bin/flang-new" CACHE FILEPATH "")
+set(CMAKE_Fortran_COMPILER_ID "LLVMFlang" CACHE STRING "")
+set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 "1" CACHE BOOL "")
+set(CMAKE_Fortran_FLAGS "-flang-experimental-exec" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 1 - 0
.gitlab/ci/configure_fedora37_makefiles_clang.cmake

@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common_clang.cmake")

+ 1 - 0
.gitlab/ci/configure_fedora37_ninja_clang.cmake

@@ -0,0 +1 @@
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora37_common_clang.cmake")

+ 4 - 0
.gitlab/ci/env_fedora37_common_clang.sh

@@ -0,0 +1,4 @@
+export CC=/usr/bin/clang-15
+export CXX=/usr/bin/clang++-15
+export FC=/usr/bin/flang-new
+export FFLAGS=-flang-experimental-exec

+ 1 - 0
.gitlab/ci/env_fedora37_makefiles_clang.sh

@@ -0,0 +1 @@
+. .gitlab/ci/env_fedora37_common_clang.sh

+ 1 - 0
.gitlab/ci/env_fedora37_ninja_clang.sh

@@ -0,0 +1 @@
+. .gitlab/ci/env_fedora37_common_clang.sh

+ 13 - 0
.gitlab/os-linux.yml

@@ -200,6 +200,19 @@
     variables:
         CMAKE_CONFIGURATION: debian10_ninja_clang
 
+.fedora37_makefiles_clang:
+    extends: .fedora37
+
+    variables:
+        CMAKE_CONFIGURATION: fedora37_makefiles_clang
+        CMAKE_GENERATOR: "Unix Makefiles"
+
+.fedora37_ninja_clang:
+    extends: .fedora37
+
+    variables:
+        CMAKE_CONFIGURATION: fedora37_ninja_clang
+
 ### Sanitizers
 
 .fedora_memcheck: