CI: drop Clang-6, bump base image to Ubuntu 24.04 and Clang 12 to 14

libeigen/eigen!2366

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
This commit is contained in:
Rasmus Munk Larsen
2026-03-30 22:00:17 -07:00
parent 1ade3636b9
commit 798d7f2bec
3 changed files with 70 additions and 131 deletions

View File

@@ -51,45 +51,28 @@ build:linux:cross:x86-64:gcc-10:avx512dq:
variables:
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on"
# Clang-6 (minimum on Ubuntu 20.04)
build:linux:cross:x86-64:clang-6:default:
extends: .build:linux:cross:x86-64
image: ubuntu:20.04
variables:
EIGEN_CI_INSTALL: g++-8 clang-6.0 lld-6.0
EIGEN_CI_C_COMPILER: clang-6.0
EIGEN_CI_CXX_COMPILER: clang++-6.0
EIGEN_CI_CROSS_INSTALL: g++-8-x86-64-linux-gnu clang-6.0 lld-6.0
EIGEN_CI_ADDITIONAL_ARGS: -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld-6.0
# Clang-12 (stable recent version)
build:linux:cross:x86-64:clang-12:default:
# Clang-14 (stable recent version)
build:linux:cross:x86-64:clang-14:default:
extends: .build:linux:cross:x86-64
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_C_COMPILER: clang-12
EIGEN_CI_CXX_COMPILER: clang++-12
EIGEN_CI_CROSS_INSTALL: g++-10-x86-64-linux-gnu clang-12
EIGEN_CI_INSTALL: clang-14
EIGEN_CI_C_COMPILER: clang-14
EIGEN_CI_CXX_COMPILER: clang++-14
EIGEN_CI_CROSS_INSTALL: g++-10-x86-64-linux-gnu clang-14
build:linux:cross:x86-64:clang-12:avx:
extends: build:linux:cross:x86-64:clang-12:default
variables:
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=on"
build:linux:cross:x86-64:clang-12:avx2:
extends: build:linux:cross:x86-64:clang-12:default
build:linux:cross:x86-64:clang-14:avx2:
extends: build:linux:cross:x86-64:clang-14:default
variables:
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX2=on"
build:linux:cross:x86-64:clang-12:avx512dq:
extends: build:linux:cross:x86-64:clang-12:default
build:linux:cross:x86-64:clang-14:avx512dq:
extends: build:linux:cross:x86-64:clang-14:default
variables:
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on"
# Generic vector extension backend.
build:linux:cross:x86-64:clang-19:generic:avx512dq:
image: ubuntu:24.04
extends: build:linux:cross:x86-64:clang-12:default
extends: build:linux:cross:x86-64:clang-14:default
variables:
EIGEN_CI_INSTALL: clang-19
EIGEN_CI_C_COMPILER: clang-19
@@ -101,7 +84,6 @@ build:linux:cross:x86-64:clang-19:generic:avx512dq:
# Nightly full test suite in C++20 mode.
build:linux:cross:x86-64:clang-19:cxx20:nightly:
extends: .build:linux:cross:x86-64
image: ubuntu:24.04
variables:
EIGEN_CI_INSTALL: clang-19
EIGEN_CI_C_COMPILER: clang-19
@@ -135,7 +117,6 @@ build:linux:docs:
# instrumented executables are too large to upload as a single artifact.
.build:linux:cross:x86-64:clang-19:default:asan-ubsan:
extends: .build:linux:cross:x86-64
image: ubuntu:24.04
# Disable cache for ASAN builds: instrumented .o files are so large that
# downloading the cache can take longer than a clean build from scratch.
cache: []
@@ -249,13 +230,13 @@ build:linux:cross:arm:gcc-10:default:
EIGEN_CI_CROSS_C_COMPILER: arm-linux-gnueabihf-gcc-10
EIGEN_CI_CROSS_CXX_COMPILER: arm-linux-gnueabihf-g++-10
build:linux:cross:arm:clang-12:default:
build:linux:cross:arm:clang-14:default:
extends: .build:linux:cross:arm
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_C_COMPILER: clang-12
EIGEN_CI_CXX_COMPILER: clang++-12
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf clang-12 qemu-user-static
EIGEN_CI_INSTALL: clang-14
EIGEN_CI_C_COMPILER: clang-14
EIGEN_CI_CXX_COMPILER: clang++-14
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf clang-14 qemu-user-static
######## aarch64 ###############################################################
@@ -277,19 +258,18 @@ build:linux:cross:aarch64:gcc-10:default:
EIGEN_CI_CROSS_C_COMPILER: aarch64-linux-gnu-gcc-10
EIGEN_CI_CROSS_CXX_COMPILER: aarch64-linux-gnu-g++-10
build:linux:cross:aarch64:clang-12:default:
build:linux:cross:aarch64:clang-14:default:
extends: .build:linux:cross:aarch64
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_C_COMPILER: clang-12
EIGEN_CI_CXX_COMPILER: clang++-12
EIGEN_CI_CROSS_INSTALL: g++-10-aarch64-linux-gnu clang-12
EIGEN_CI_INSTALL: clang-14
EIGEN_CI_C_COMPILER: clang-14
EIGEN_CI_CXX_COMPILER: clang++-14
EIGEN_CI_CROSS_INSTALL: g++-10-aarch64-linux-gnu clang-14
######## ppc64le ###############################################################
.build:linux:cross:ppc64le:
extends: .build:linux:cross
image: ubuntu:24.04
variables:
EIGEN_CI_TARGET_ARCH: ppc64le
EIGEN_CI_CROSS_TARGET_TRIPLE: powerpc64le-linux-gnu
@@ -322,7 +302,6 @@ build:linux:cross:ppc64le:clang-16:default:
# GCC-14 (minimum on Ubuntu 24)
build:linux:cross:loongarch64:gcc-14:default:
extends: .build:linux:cross:loongarch64
image: ubuntu:24.04
variables:
EIGEN_CI_CROSS_INSTALL: g++-14-loongarch64-linux-gnu qemu-user-static
EIGEN_CI_CROSS_C_COMPILER: loongarch64-linux-gnu-gcc-14
@@ -343,8 +322,8 @@ build:linux:cross:x86-64:gcc-10:default:smoketest:
tags:
- saas-linux-medium-amd64
build:linux:cross:x86-64:clang-12:default:smoketest:
extends: build:linux:cross:x86-64:clang-12:default
build:linux:cross:x86-64:clang-14:default:smoketest:
extends: build:linux:cross:x86-64:clang-14:default
variables:
EIGEN_CI_BUILD_TARGET: buildsmoketests
rules:
@@ -363,8 +342,8 @@ build:linux:aarch64:gcc-10:default:smoketest:
######## Sanitizer Smoke Tests #################################################
build:linux:cross:x86-64:clang-12:sanitizer:smoketest:
extends: build:linux:cross:x86-64:clang-12:default
build:linux:cross:x86-64:clang-14:sanitizer:smoketest:
extends: build:linux:cross:x86-64:clang-14:default
variables:
EIGEN_CI_BUILD_TARGET: buildsmoketests
EIGEN_CI_ADDITIONAL_ARGS: >-

View File

@@ -1,6 +1,6 @@
# Base configuration for linux builds and tests.
.common:linux:cross:
image: ubuntu:20.04
image: ubuntu:24.04
variables:
EIGEN_CI_TARGET_ARCH: ""
EIGEN_CI_ADDITIONAL_ARGS: ""

View File

@@ -91,97 +91,62 @@ test:linux:x86-64:gcc-10:avx512dq:unsupported:
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
# Clang-6 (minimum on Ubuntu 20.04)
.test:linux:x86-64:clang-6:default:
# Clang-14 (modern stable)
.test:linux:x86-64:clang-14:default:
extends: .test:linux:x86-64
image: ubuntu:20.04
needs: [ build:linux:cross:x86-64:clang-6:default ]
needs: [ build:linux:cross:x86-64:clang-14:default ]
variables:
EIGEN_CI_INSTALL: g++-8 clang-6.0 lld-6.0
EIGEN_CI_INSTALL: clang-14
test:linux:x86-64:clang-6:default:official:
extends: .test:linux:x86-64:clang-6:default
test:linux:x86-64:clang-14:default:official:
extends: .test:linux:x86-64:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:x86-64:clang-6:default:unsupported:
extends: .test:linux:x86-64:clang-6:default
test:linux:x86-64:clang-14:default:unsupported:
extends: .test:linux:x86-64:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
# Clang-12 (modern stable)
.test:linux:x86-64:clang-12:default:
.test:linux:x86-64:clang-14:avx2:
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-12:default ]
needs: [ build:linux:cross:x86-64:clang-14:avx2 ]
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_INSTALL: clang-14
test:linux:x86-64:clang-12:default:official:
extends: .test:linux:x86-64:clang-12:default
test:linux:x86-64:clang-14:avx2:official:
extends: .test:linux:x86-64:clang-14:avx2
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:x86-64:clang-12:default:unsupported:
extends: .test:linux:x86-64:clang-12:default
test:linux:x86-64:clang-14:avx2:unsupported:
extends: .test:linux:x86-64:clang-14:avx2
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:x86-64:clang-12:avx:
.test:linux:x86-64:clang-14:avx512dq:
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-12:avx ]
needs: [ build:linux:cross:x86-64:clang-14:avx512dq ]
variables:
EIGEN_CI_INSTALL: clang-12
test:linux:x86-64:clang-12:avx:official:
extends: .test:linux:x86-64:clang-12:avx
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:x86-64:clang-12:avx:unsupported:
extends: .test:linux:x86-64:clang-12:avx
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:x86-64:clang-12:avx2:
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-12:avx2 ]
variables:
EIGEN_CI_INSTALL: clang-12
test:linux:x86-64:clang-12:avx2:official:
extends: .test:linux:x86-64:clang-12:avx2
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:x86-64:clang-12:avx2:unsupported:
extends: .test:linux:x86-64:clang-12:avx2
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:x86-64:clang-12:avx512dq:
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-12:avx512dq ]
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_INSTALL: clang-14
tags:
- eigen-runner
- linux
- x86-64
- avx512
test:linux:x86-64:clang-12:avx512dq:official:
extends: .test:linux:x86-64:clang-12:avx512dq
test:linux:x86-64:clang-14:avx512dq:official:
extends: .test:linux:x86-64:clang-14:avx512dq
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:x86-64:clang-12:avx512dq:unsupported:
extends: .test:linux:x86-64:clang-12:avx512dq
test:linux:x86-64:clang-14:avx512dq:unsupported:
extends: .test:linux:x86-64:clang-14:avx512dq
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
# Generic vector extension backend.
.test:linux:x86-64:clang-19:generic:avx512dq:
image: ubuntu:24.04
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-19:generic:avx512dq ]
variables:
@@ -203,7 +168,6 @@ test:linux:x86-64:clang-19:generic:avx512dq:unsupported:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:x86-64:clang-19:cxx20:nightly:
image: ubuntu:24.04
extends: .test:linux:x86-64
needs: [ build:linux:cross:x86-64:clang-19:cxx20:nightly ]
variables:
@@ -227,7 +191,6 @@ test:linux:x86-64:clang-19:cxx20:nightly:unsupported:
.test:linux:x86-64:clang-19:default:asan-ubsan:
extends: .test:linux:x86-64
image: ubuntu:24.04
variables:
EIGEN_CI_INSTALL: clang-19 llvm-19
ASAN_OPTIONS: detect_leaks=0:print_stacktrace=1
@@ -320,19 +283,19 @@ test:linux:arm:gcc-10:default:unsupported:
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:arm:clang-12:default:
.test:linux:arm:clang-14:default:
extends: .test:linux:arm
needs: [ build:linux:cross:arm:clang-12:default ]
needs: [ build:linux:cross:arm:clang-14:default ]
variables:
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf clang-12 qemu-user-static
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf clang-14 qemu-user-static
test:linux:arm:clang-12:default:official:
extends: .test:linux:arm:clang-12:default
test:linux:arm:clang-14:default:official:
extends: .test:linux:arm:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:arm:clang-12:default:unsupported:
extends: .test:linux:arm:clang-12:default
test:linux:arm:clang-14:default:unsupported:
extends: .test:linux:arm:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
@@ -362,19 +325,19 @@ test:linux:aarch64:gcc-10:default:unsupported:
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
.test:linux:aarch64:clang-12:default:
.test:linux:aarch64:clang-14:default:
extends: .test:linux:aarch64
needs: [ build:linux:cross:aarch64:clang-12:default ]
needs: [ build:linux:cross:aarch64:clang-14:default ]
variables:
EIGEN_CI_INSTALL: clang-12
EIGEN_CI_INSTALL: clang-14
test:linux:aarch64:clang-12:default:official:
extends: .test:linux:aarch64:clang-12:default
test:linux:aarch64:clang-14:default:official:
extends: .test:linux:aarch64:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Official
test:linux:aarch64:clang-12:default:unsupported:
extends: .test:linux:aarch64:clang-12:default
test:linux:aarch64:clang-14:default:unsupported:
extends: .test:linux:aarch64:clang-14:default
variables:
EIGEN_CI_CTEST_LABEL: Unsupported
@@ -382,7 +345,6 @@ test:linux:aarch64:clang-12:default:unsupported:
.test:linux:ppc64le:
extends: .test:linux
image: ubuntu:24.04
variables:
EIGEN_CI_TARGET_ARCH: ppc64le
EIGEN_CI_CROSS_TARGET_TRIPLE: powerpc64le-linux-gnu
@@ -425,7 +387,6 @@ test:linux:ppc64le:clang-16:default:unsupported:
.test:linux:loongarch64:
extends: .test:linux
image: ubuntu:24.04
variables:
EIGEN_CI_TARGET_ARCH: loongarch64
EIGEN_CI_CROSS_TARGET_TRIPLE: loongarch64-linux-gnu
@@ -436,7 +397,6 @@ test:linux:ppc64le:clang-16:default:unsupported:
# GCC-14 (Ubuntu 24)
.test:linux:loongarch64:gcc-14:default:
extends: .test:linux:loongarch64
image: ubuntu:24.04
needs: [ build:linux:cross:loongarch64:gcc-14:default ]
test:linux:loongarch64:gcc-14:default:official:
@@ -461,9 +421,9 @@ test:linux:x86-64:gcc-10:default:smoketest:
tags:
- saas-linux-medium-amd64
test:linux:x86-64:clang-12:default:smoketest:
extends: .test:linux:x86-64:clang-12:default
needs: [ build:linux:cross:x86-64:clang-12:default:smoketest ]
test:linux:x86-64:clang-14:default:smoketest:
extends: .test:linux:x86-64:clang-14:default
needs: [ build:linux:cross:x86-64:clang-14:default:smoketest ]
variables:
EIGEN_CI_CTEST_LABEL: smoketest
rules:
@@ -483,16 +443,16 @@ test:linux:aarch64:gcc-10:default:smoketest:
##### Sanitizer Smoke Tests ####################################################
test:linux:x86-64:clang-12:sanitizer:smoketest:
extends: .test:linux:x86-64:clang-12:default
needs: [ build:linux:cross:x86-64:clang-12:sanitizer:smoketest ]
test:linux:x86-64:clang-14:sanitizer:smoketest:
extends: .test:linux:x86-64:clang-14:default
needs: [ build:linux:cross:x86-64:clang-14:sanitizer:smoketest ]
variables:
EIGEN_CI_INSTALL: clang-12 llvm-12
EIGEN_CI_INSTALL: clang-14 llvm-14
EIGEN_CI_CTEST_LABEL: smoketest
EIGEN_CI_CTEST_PARALLEL: "2"
EIGEN_CI_CTEST_ARGS: --timeout 120
ASAN_OPTIONS: "detect_leaks=0:halt_on_error=1:abort_on_error=1:allocator_may_return_null=1:print_stacktrace=1:detect_stack_use_after_return=0"
ASAN_SYMBOLIZER_PATH: "/usr/lib/llvm-12/bin/llvm-symbolizer"
ASAN_SYMBOLIZER_PATH: "/usr/lib/llvm-14/bin/llvm-symbolizer"
UBSAN_OPTIONS: "halt_on_error=0:print_stacktrace=1"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"