diff --git a/ci/build.linux.gitlab-ci.yml b/ci/build.linux.gitlab-ci.yml index cf02b2b73..ab018c089 100644 --- a/ci/build.linux.gitlab-ci.yml +++ b/ci/build.linux.gitlab-ci.yml @@ -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: >- diff --git a/ci/common.gitlab-ci.yml b/ci/common.gitlab-ci.yml index df0367cbd..86061f436 100644 --- a/ci/common.gitlab-ci.yml +++ b/ci/common.gitlab-ci.yml @@ -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: "" diff --git a/ci/test.linux.gitlab-ci.yml b/ci/test.linux.gitlab-ci.yml index ec10aeac2..ff6efa3de 100644 --- a/ci/test.linux.gitlab-ci.yml +++ b/ci/test.linux.gitlab-ci.yml @@ -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"