blob: 32b185b43521a0a4f53a54f59b6cc97c1b1fcf72 [file]
# SPDX-FileCopyrightText: The Eigen Authors
# SPDX-License-Identifier: MPL-2.0
.test:windows:
extends: [ .common:windows, .artifacts:test:results ]
stage: test
script:
- ./ci/scripts/test.windows.script.ps1
after_script:
- ./ci/scripts/test.windows.after_script.ps1
rules: !reference [.rules:libeigen:all-tests, rules]
tags:
- eigen-runner
- windows
- x86-64
allow_failure:
exit_codes: 42
##### MSVC #####################################################################
# MSVC 14.29 (VS 2019) 64 bit
.test:windows:x86-64:msvc-14.29:default:
extends: .test:windows
needs: [ build:windows:x86-64:msvc-14.29:default ]
test:windows:x86-64:msvc-14.29:default:official:
extends: .test:windows:x86-64:msvc-14.29:default
variables:
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_CTEST_LABEL: Unsupported
.test:windows:x86-64:msvc-14.29:avx2:
extends: .test:windows
needs: [ build:windows:x86-64:msvc-14.29:avx2 ]
test:windows:x86-64:msvc-14.29:avx2:official:
extends: .test:windows:x86-64:msvc-14.29:avx2
variables:
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_CTEST_LABEL: Unsupported
.test:windows:x86-64:msvc-14.29:avx512dq:
extends: .test:windows
needs: [ build:windows:x86-64:msvc-14.29:avx512dq ]
tags:
- eigen-runner
- windows
- x86-64
- avx512
test:windows:x86-64:msvc-14.29:avx512dq:official:
extends: .test:windows:x86-64:msvc-14.29:avx512dq
variables:
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_CTEST_LABEL: Unsupported
# MSVC 14.29 (VS 2019) + CUDA
.test:windows:cuda:
extends: .test:windows
allow_failure: true
variables:
EIGEN_CI_CTEST_LABEL: gpu
# Name the GPU and driver the tests run on.
before_script:
- nvidia-smi
- . ci/scripts/common.windows.before_script.ps1
rules: !reference [.rules:libeigen:gpu, rules]
tags:
- eigen-runner
- windows
- x86-64
- cuda
# MSVC 14.29 + CUDA 13.0
test:windows:x86-64:cuda-13.0:msvc-14.29:
extends: .test:windows:cuda
needs: [ build:windows:x86-64:cuda-13.0:msvc-14.29 ]
##### MR Affected Tests ########################################################
# Paired with the affected Windows build job. No CTest label is set: the regex
# from select:tests is the only filter, so a selection spanning Official and
# Unsupported tests runs in one job rather than the two the labelled jobs above
# need.
#
# Dropping the label filter is what makes the exclusion below necessary. The
# failtest suite and the buildsystem tests carry no CTest label, so every other
# Windows job skips them by construction, and their test action is a compile
# rather than the running of a prebuilt binary. Only the build script runs
# vcvarsall, so cl.exe is not invocable here: each one fails with "CreateProcess
# failed: The system cannot find the file specified", while its WILL_FAIL `_ko`
# twin passes on that same unrelated error. Excluding them keeps this job's
# coverage equal to what Windows has always run. Giving the Windows test runner
# a compiler environment would be a separate change with its own fallout.
test:windows:x86-64:msvc-14.29:default:affected:
extends: [ .test:windows, .affected:test ]
needs: [ build:windows:x86-64:msvc-14.29:default:affected, select:tests ]
variables:
# `$` last: GitLab expands $NAME inside a variable value, and a trailing `$`
# cannot begin an expansion. Verified against the registered test names --
# `_(ok|ko)$` matches the 124 failtest entries and nothing else.
EIGEN_CI_CTEST_EXCLUDE: "^buildsystem_|_(ok|ko)$"
rules: !reference [.rules:libeigen:affected-tests:windows, rules]