Add EIGEN_CI_CTEST_ARGS to allow for custom timeout.

This commit is contained in:
Antonio Sánchez 2025-02-06 21:32:38 +00:00
parent 4c38131a16
commit 715deac188
9 changed files with 77 additions and 71 deletions

View File

@ -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"

View File

@ -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:

View File

@ -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:

View File

@ -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}

View File

@ -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

View File

@ -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=""

View File

@ -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 = ""

View File

@ -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"

View File

@ -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