diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 93bfc2cf0..68cd68040 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,8 +20,9 @@ variables: EIGEN_CI_BUILD_TARGET: "" # If a test regex is specified, that will be selected. # Otherwise, we will try a label if specified. - EIGEN_CI_TEST_REGEX: "" - EIGEN_CI_TEST_LABEL: "" + EIGEN_CI_CTEST_REGEX: "" + EIGEN_CI_CTEST_LABEL: "" + EIGEN_CI_CTEST_ARGS: "" include: - "/ci/checkformat.gitlab-ci.yml" diff --git a/ci/build.linux.gitlab-ci.yml b/ci/build.linux.gitlab-ci.yml index be6ab45ca..2526c6293 100644 --- a/ci/build.linux.gitlab-ci.yml +++ b/ci/build.linux.gitlab-ci.yml @@ -316,7 +316,7 @@ build:linux:cross:ppc64le:clang-12:default: tags: - eigen-runner - linux - - x86-64 + - cross-compiler # GCC-14 (minimum on Ubuntu 24) build:linux:cross:loongarch64:gcc-14:default: diff --git a/ci/deploy.gitlab-ci.yml b/ci/deploy.gitlab-ci.yml index 32c6d93cb..52b955790 100644 --- a/ci/deploy.gitlab-ci.yml +++ b/ci/deploy.gitlab-ci.yml @@ -22,9 +22,7 @@ deploy:doc:nightly: dependencies: [ build:linux:doc ] script: - mv ${EIGEN_CI_BUILDDIR}/doc/html public - pages: - path_prefix: doc-nightly - expire_in: never + pages: true artifacts: name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG" paths: diff --git a/ci/scripts/test.linux.script.sh b/ci/scripts/test.linux.script.sh index 7ce892e3a..0bd18a859 100644 --- a/ci/scripts/test.linux.script.sh +++ b/ci/scripts/test.linux.script.sh @@ -7,20 +7,23 @@ rootdir=`pwd` cd ${EIGEN_CI_BUILDDIR} target="" -if [[ ${EIGEN_CI_TEST_REGEX} ]]; then - target="-R ${EIGEN_CI_TEST_REGEX}" -elif [[ ${EIGEN_CI_TEST_LABEL} ]]; then - target="-L ${EIGEN_CI_TEST_LABEL}" +if [[ ${EIGEN_CI_CTEST_REGEX} ]]; then + target="-R ${EIGEN_CI_CTEST_REGEX}" +elif [[ ${EIGEN_CI_CTEST_LABEL} ]]; then + target="-L ${EIGEN_CI_CTEST_LABEL}" fi # Repeat tests up to three times to ignore flakes. Do not re-run with -T test, # otherwise we lose test results for those that passed. # Note: starting with CMake 3.17, we can use --repeat until-pass:3, but we have # no way of easily installing this on ppc64le. -ctest --parallel ${NPROC} --output-on-failure --no-compress-output \ +ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \ + --output-on-failure --no-compress-output \ --build-no-clean -T test ${target} || \ - ctest -j${NPROC} --output-on-failure --no-compress-output --rerun-failed || \ - ctest -j${NPROC} --output-on-failure --no-compress-output --rerun-failed + ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \ + --output-on-failure --no-compress-output --rerun-failed || \ + ctest ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \ + --output-on-failure --no-compress-output --rerun-failed # Return to root directory. cd ${rootdir} diff --git a/ci/scripts/test.windows.script.ps1 b/ci/scripts/test.windows.script.ps1 index f1b0c693d..4ea1e30f5 100644 --- a/ci/scripts/test.windows.script.ps1 +++ b/ci/scripts/test.windows.script.ps1 @@ -7,19 +7,19 @@ $NPROC=${Env:NUMBER_OF_PROCESSORS} # Set target based on regex or label. $target = "" -if (${EIGEN_CI_TEST_REGEX}) { - $target = "-R","${EIGEN_CI_TEST_REGEX}" -} elseif (${EIGEN_CI_TEST_LABEL}) { - $target = "-L","${EIGEN_CI_TEST_LABEL}" +if (${EIGEN_CI_CTEST_REGEX}) { + $target = "-R","${EIGEN_CI_CTEST_REGEX}" +} elseif (${EIGEN_CI_CTEST_LABEL}) { + $target = "-L","${EIGEN_CI_CTEST_LABEL}" } # Repeat tests up to three times to ignore flakes. Do not re-run with -T test, # otherwise we lose test results for those that passed. # Note: starting with CMake 3.17, we can use --repeat until-pass:3, but we have # no way of easily installing this on ppc64le. -ctest -j$NPROC --output-on-failure --no-compress-output --build-no-clean -T test $target || ` - ctest -j$NPROC --output-on-failure --no-compress-output --rerun-failed || ` - ctest -j$NPROC --output-on-failure --no-compress-output --rerun-failed +ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --build-no-clean -T test $target || ` + ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --rerun-failed || ` + ctest $EIGEN_CI_CTEST_ARGS -j$NPROC --output-on-failure --no-compress-output --rerun-failed $success = $LASTEXITCODE diff --git a/ci/scripts/vars.linux.sh b/ci/scripts/vars.linux.sh index f77255598..6676868d1 100644 --- a/ci/scripts/vars.linux.sh +++ b/ci/scripts/vars.linux.sh @@ -8,5 +8,7 @@ export EIGEN_CI_BUILDDIR=".build" export EIGEN_CI_C_COMPILER="clang" export EIGEN_CI_CXX_COMPILER="clang++" export EIGEN_CI_TEST_CUSTOM_CXX_FLAGS="" -export EIGEN_CI_TEST_LABEL="Official" -export EIGEN_CI_TEST_REGEX="" +export EIGEN_CI_CTEST_LABEL="Official" +export EIGEN_CI_CTEST_REGEX="" +export EIGEN_CI_CTEST_ARGS="" + diff --git a/ci/scripts/vars.windows.ps1 b/ci/scripts/vars.windows.ps1 index 0a1c587da..fc03bff5c 100644 --- a/ci/scripts/vars.windows.ps1 +++ b/ci/scripts/vars.windows.ps1 @@ -6,5 +6,6 @@ $EIGEN_CI_BUILDDIR = ".build" $EIGEN_CI_MSVC_ARCH = "x64" $EIGEN_CI_MSVC_VER = "14.29" $EIGEN_CI_TEST_CUSTOM_CXX_FLAGS = "/d2ReducedOptimizeHugeFunctions /DEIGEN_STRONG_INLINE=inline /Os" -$EIGEN_CI_TEST_LABEL = "Official" -$EIGEN_CI_TEST_REGEX = "" +$EIGEN_CI_CTEST_LABEL = "Official" +$EIGEN_CI_CTEST_REGEX = "" +$EIGEN_CI_CTEST_ARGS = "" diff --git a/ci/test.linux.gitlab-ci.yml b/ci/test.linux.gitlab-ci.yml index 9a72964c2..0e870f15b 100644 --- a/ci/test.linux.gitlab-ci.yml +++ b/ci/test.linux.gitlab-ci.yml @@ -31,12 +31,12 @@ test:linux:x86-64:gcc-6:default:official: extends: .test:linux:x86-64:gcc-6:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:gcc-6:default:unsupported: extends: .test:linux:x86-64:gcc-6:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported # GCC-10 (modern stable) .test:linux:x86-64:gcc-10:default: @@ -48,12 +48,12 @@ test:linux:x86-64:gcc-6:default:unsupported: test:linux:x86-64:gcc-10:default:official: extends: .test:linux:x86-64:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:gcc-10:default:unsupported: extends: .test:linux:x86-64:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:gcc-10:avx: extends: .test:linux:x86-64 @@ -64,12 +64,12 @@ test:linux:x86-64:gcc-10:default:unsupported: test:linux:x86-64:gcc-10:avx:official: extends: .test:linux:x86-64:gcc-10:avx variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:gcc-10:avx:unsupported: extends: .test:linux:x86-64:gcc-10:avx variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:gcc-10:avx2: extends: .test:linux:x86-64 @@ -80,12 +80,12 @@ test:linux:x86-64:gcc-10:avx:unsupported: test:linux:x86-64:gcc-10:avx2:official: extends: .test:linux:x86-64:gcc-10:avx2 variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:gcc-10:avx2:unsupported: extends: .test:linux:x86-64:gcc-10:avx2 variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:gcc-10:avx512dq: extends: .test:linux:x86-64 @@ -101,12 +101,12 @@ test:linux:x86-64:gcc-10:avx2:unsupported: test:linux:x86-64:gcc-10:avx512dq:official: extends: .test:linux:x86-64:gcc-10:avx512dq variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:gcc-10:avx512dq:unsupported: extends: .test:linux:x86-64:gcc-10:avx512dq variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported # Clang-6 (minimum on Ubuntu 20.04) .test:linux:x86-64:clang-6:default: @@ -119,12 +119,12 @@ test:linux:x86-64:gcc-10:avx512dq:unsupported: test:linux:x86-64:clang-6:default:official: extends: .test:linux:x86-64:clang-6:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:clang-6:default:unsupported: extends: .test:linux:x86-64:clang-6:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported # Clang-12 (modern stable) .test:linux:x86-64:clang-12:default: @@ -136,12 +136,12 @@ test:linux:x86-64:clang-6:default:unsupported: test:linux:x86-64:clang-12:default:official: extends: .test:linux:x86-64:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:clang-12:default:unsupported: extends: .test:linux:x86-64:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:clang-12:avx: extends: .test:linux:x86-64 @@ -152,12 +152,12 @@ test:linux:x86-64:clang-12:default:unsupported: test:linux:x86-64:clang-12:avx:official: extends: .test:linux:x86-64:clang-12:avx variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:clang-12:avx:unsupported: extends: .test:linux:x86-64:clang-12:avx variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:clang-12:avx2: extends: .test:linux:x86-64 @@ -168,12 +168,12 @@ test:linux:x86-64:clang-12:avx:unsupported: test:linux:x86-64:clang-12:avx2:official: extends: .test:linux:x86-64:clang-12:avx2 variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:clang-12:avx2:unsupported: extends: .test:linux:x86-64:clang-12:avx2 variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:x86-64:clang-12:avx512dq: extends: .test:linux:x86-64 @@ -189,19 +189,19 @@ test:linux:x86-64:clang-12:avx2:unsupported: test:linux:x86-64:clang-12:avx512dq:official: extends: .test:linux:x86-64:clang-12:avx512dq variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:x86-64:clang-12:avx512dq:unsupported: extends: .test:linux:x86-64:clang-12:avx512dq variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### CUDA ##################################################################### .test:linux:cuda: extends: .test:linux allow_failure: true variables: - EIGEN_CI_TEST_LABEL: gpu + EIGEN_CI_CTEST_LABEL: gpu tags: - eigen-runner - linux @@ -304,12 +304,12 @@ test:linux:cuda-12.2:clang-12: test:linux:arm:gcc-10:default:official: extends: .test:linux:arm:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:arm:gcc-10:default:unsupported: extends: .test:linux:arm:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:arm:clang-12:default: extends: .test:linux:arm @@ -320,12 +320,12 @@ test:linux:arm:gcc-10:default:unsupported: test:linux:arm:clang-12:default:official: extends: .test:linux:arm:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:arm:clang-12:default:unsupported: extends: .test:linux:arm:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### aarch64 ################################################################## @@ -348,12 +348,12 @@ test:linux:arm:clang-12:default:unsupported: test:linux:aarch64:gcc-10:default:official: extends: .test:linux:aarch64:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:aarch64:gcc-10:default:unsupported: extends: .test:linux:aarch64:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:aarch64:clang-12:default: extends: .test:linux:aarch64 @@ -364,12 +364,12 @@ test:linux:aarch64:gcc-10:default:unsupported: test:linux:aarch64:clang-12:default:official: extends: .test:linux:aarch64:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:aarch64:clang-12:default:unsupported: extends: .test:linux:aarch64:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### ppc64le ################################################################## @@ -392,12 +392,12 @@ test:linux:aarch64:clang-12:default:unsupported: test:linux:ppc64le:gcc-10:default:official: extends: .test:linux:ppc64le:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:ppc64le:gcc-10:default:unsupported: extends: .test:linux:ppc64le:gcc-10:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:linux:ppc64le:clang-12:default: extends: .test:linux:ppc64le @@ -408,12 +408,12 @@ test:linux:ppc64le:gcc-10:default:unsupported: test:linux:ppc64le:clang-12:default:official: extends: .test:linux:ppc64le:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:ppc64le:clang-12:default:unsupported: extends: .test:linux:ppc64le:clang-12:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### loongarch64 ################################################################### .test:linux:loongarch64: @@ -424,10 +424,11 @@ test:linux:ppc64le:clang-12:default:unsupported: EIGEN_CI_CROSS_TARGET_TRIPLE: loongarch64-linux-gnu # Install QEMU and set up the execution environment in the image EIGEN_CI_CROSS_INSTALL: g++-14-loongarch64-linux-gnu qemu-user-static + EIGEN_CI_CTEST_ARGS: --timeout 2000 tags: - eigen-runner - linux - - x86-64 + - cross-compiler # GCC-14 (Ubuntu 24) .test:linux:loongarch64:gcc-14:default: @@ -438,12 +439,12 @@ test:linux:ppc64le:clang-12:default:unsupported: test:linux:loongarch64:gcc-14:default:official: extends: .test:linux:loongarch64:gcc-14:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:linux:loongarch64:gcc-14:default:unsupported: extends: .test:linux:loongarch64:gcc-14:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### MR Smoke Tests ########################################################### @@ -451,7 +452,7 @@ test:linux:x86-64:gcc-10:default:smoketest: extends: .test:linux:x86-64:gcc-10:default needs: [ build:linux:cross:x86-64:gcc-10:default:smoketest ] variables: - EIGEN_CI_TEST_LABEL: smoketest + EIGEN_CI_CTEST_LABEL: smoketest rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" @@ -459,6 +460,6 @@ 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 ] variables: - EIGEN_CI_TEST_LABEL: smoketest + EIGEN_CI_CTEST_LABEL: smoketest rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" diff --git a/ci/test.windows.gitlab-ci.yml b/ci/test.windows.gitlab-ci.yml index 4db6b492a..75bd6af4e 100644 --- a/ci/test.windows.gitlab-ci.yml +++ b/ci/test.windows.gitlab-ci.yml @@ -23,12 +23,12 @@ test:windows:x86-64:msvc-14.16:default:official: extends: .test:windows:x86-64:msvc-14.16:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:windows:x86-64:msvc-14.16:default:unsupported: extends: .test:windows:x86-64:msvc-14.16:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported # MSVC 14.29 (VS 2019) .test:windows:x86-64:msvc-14.29:default: @@ -38,12 +38,12 @@ test:windows:x86-64:msvc-14.16:default:unsupported: test:windows:x86-64:msvc-14.29:default:official: extends: .test:windows:x86-64:msvc-14.29:default variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:windows:x86-64:msvc-14.29:default:unsupported: extends: .test:windows:x86-64:msvc-14.29:default variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:windows:x86-64:msvc-14.29:avx2: extends: .test:windows @@ -52,12 +52,12 @@ test:windows:x86-64:msvc-14.29:default:unsupported: test:windows:x86-64:msvc-14.29:avx2:official: extends: .test:windows:x86-64:msvc-14.29:avx2 variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:windows:x86-64:msvc-14.29:avx2:unsupported: extends: .test:windows:x86-64:msvc-14.29:avx2 variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported .test:windows:x86-64:msvc-14.29:avx512dq: extends: .test:windows @@ -71,19 +71,19 @@ test:windows:x86-64:msvc-14.29:avx2:unsupported: test:windows:x86-64:msvc-14.29:avx512dq:official: extends: .test:windows:x86-64:msvc-14.29:avx512dq variables: - EIGEN_CI_TEST_LABEL: Official + EIGEN_CI_CTEST_LABEL: Official test:windows:x86-64:msvc-14.29:avx512dq:unsupported: extends: .test:windows:x86-64:msvc-14.29:avx512dq variables: - EIGEN_CI_TEST_LABEL: Unsupported + EIGEN_CI_CTEST_LABEL: Unsupported ##### MSVC + CUDA ############################################################## .test:windows:cuda: extends: .test:windows allow_failure: true variables: - EIGEN_CI_TEST_LABEL: gpu + EIGEN_CI_CTEST_LABEL: gpu tags: - eigen-runner - windows