mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-18 15:49:37 +08:00
466 lines
13 KiB
YAML
466 lines
13 KiB
YAML
.test:linux:
|
|
extends: .common:linux:cross
|
|
stage: test
|
|
script:
|
|
- . ci/scripts/test.linux.script.sh
|
|
after_script:
|
|
- . ci/scripts/test.linux.after_script.sh
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen"
|
|
- if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen"
|
|
|
|
##### x86-64 ###################################################################
|
|
.test:linux:x86-64:
|
|
extends: .test:linux
|
|
variables:
|
|
EIGEN_CI_TARGET_ARCH: x86_64
|
|
EIGEN_CI_CROSS_TARGET_TRIPLE: x86_64-linux-gnu
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- x86-64
|
|
|
|
# GCC-6 (minimum on Ubuntu 18.04)
|
|
.test:linux:x86-64:gcc-6:default:
|
|
extends: .test:linux:x86-64
|
|
image: ubuntu:18.04
|
|
needs: [ build:linux:cross:x86-64:gcc-6:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-6
|
|
|
|
test:linux:x86-64:gcc-6:default:official:
|
|
extends: .test:linux:x86-64:gcc-6:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:gcc-6:default:unsupported:
|
|
extends: .test:linux:x86-64:gcc-6:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
# GCC-10 (modern stable)
|
|
.test:linux:x86-64:gcc-10:default:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:gcc-10:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
|
|
test:linux:x86-64:gcc-10:default:official:
|
|
extends: .test:linux:x86-64:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:gcc-10:default:unsupported:
|
|
extends: .test:linux:x86-64:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:x86-64:gcc-10:avx:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:gcc-10:avx ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
|
|
test:linux:x86-64:gcc-10:avx:official:
|
|
extends: .test:linux:x86-64:gcc-10:avx
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:gcc-10:avx:unsupported:
|
|
extends: .test:linux:x86-64:gcc-10:avx
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:x86-64:gcc-10:avx2:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:gcc-10:avx2 ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
|
|
test:linux:x86-64:gcc-10:avx2:official:
|
|
extends: .test:linux:x86-64:gcc-10:avx2
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:gcc-10:avx2:unsupported:
|
|
extends: .test:linux:x86-64:gcc-10:avx2
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:x86-64:gcc-10:avx512dq:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:gcc-10:avx512dq ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- x86-64
|
|
- avx512
|
|
|
|
test:linux:x86-64:gcc-10:avx512dq:official:
|
|
extends: .test:linux:x86-64:gcc-10:avx512dq
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:gcc-10:avx512dq:unsupported:
|
|
extends: .test:linux:x86-64:gcc-10:avx512dq
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
# Clang-6 (minimum on Ubuntu 20.04)
|
|
.test:linux:x86-64:clang-6:default:
|
|
extends: .test:linux:x86-64
|
|
image: ubuntu:20.04
|
|
needs: [ build:linux:cross:x86-64:clang-6:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-8 clang-6.0 lld-6.0
|
|
|
|
test:linux:x86-64:clang-6:default:official:
|
|
extends: .test:linux:x86-64:clang-6:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:clang-6:default:unsupported:
|
|
extends: .test:linux:x86-64:clang-6:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
# Clang-12 (modern stable)
|
|
.test:linux:x86-64:clang-12:default:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:clang-12:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: clang-12
|
|
|
|
test:linux:x86-64:clang-12:default:official:
|
|
extends: .test:linux:x86-64:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:clang-12:default:unsupported:
|
|
extends: .test:linux:x86-64:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:x86-64:clang-12:avx:
|
|
extends: .test:linux:x86-64
|
|
needs: [ build:linux:cross:x86-64:clang-12:avx ]
|
|
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
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- x86-64
|
|
- avx512
|
|
|
|
test:linux:x86-64:clang-12:avx512dq:official:
|
|
extends: .test:linux:x86-64:clang-12:avx512dq
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:x86-64:clang-12:avx512dq:unsupported:
|
|
extends: .test:linux:x86-64:clang-12:avx512dq
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
##### CUDA #####################################################################
|
|
.test:linux:cuda:
|
|
extends: .test:linux
|
|
allow_failure: true
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: gpu
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- x86-64
|
|
- cuda
|
|
|
|
# NVidia no longer provides docker images < CUDA 11.0.3.
|
|
# # GCC-7, CUDA-9.2
|
|
# test:linux:cuda-9.2:gcc-7:
|
|
# extends: .test:linux:cuda
|
|
# image: nvidia/cuda:9.2-devel-ubuntu18.04
|
|
# needs: [ build:linux:cuda-9.2:gcc-7 ]
|
|
# variables:
|
|
# EIGEN_CI_CXX_COMPILER: g++-7
|
|
# EIGEN_CI_CC_COMPILER: gcc-7
|
|
|
|
# # Clang-10, CUDA-9.2
|
|
# test:linux:cuda-9.2:clang-10:
|
|
# extends: .test:linux:cuda
|
|
# image: nvidia/cuda:9.2-devel-ubuntu18.04
|
|
# needs: [ build:linux:cuda-9.2:clang-10 ]
|
|
# variables:
|
|
# EIGEN_CI_CXX_COMPILER: clang++-10
|
|
# EIGEN_CI_CC_COMPILER: clang-10
|
|
|
|
# # GCC-8, CUDA-10.2
|
|
# test:linux:cuda-10.2:gcc-8:
|
|
# extends: .test:linux:cuda
|
|
# image: nvidia/cuda:10.2-devel-ubuntu18.04
|
|
# needs: [ build:linux:cuda-10.2:gcc-8 ]
|
|
# variables:
|
|
# EIGEN_CI_CXX_COMPILER: g++-8
|
|
# EIGEN_CI_CC_COMPILER: gcc-8
|
|
|
|
# # Clang-10, CUDA-10.2
|
|
# test:linux:cuda-10.2:clang-10:
|
|
# extends: .test:linux:cuda
|
|
# image: nvidia/cuda:10.2-devel-ubuntu18.04
|
|
# needs: [ build:linux:cuda-10.2:clang-10 ]
|
|
# variables:
|
|
# EIGEN_CI_CXX_COMPILER: clang++-10
|
|
# EIGEN_CI_CC_COMPILER: clang-10
|
|
|
|
# GCC-10, CUDA-11.4
|
|
test:linux:cuda-11.4:gcc-10:
|
|
extends: .test:linux:cuda
|
|
image: nvidia/cuda:11.4.3-devel-ubuntu20.04
|
|
needs: [ build:linux:cuda-11.4:gcc-10 ]
|
|
variables:
|
|
EIGEN_CI_CXX_COMPILER: g++-10
|
|
EIGEN_CI_CC_COMPILER: gcc-10
|
|
|
|
# Clang-12, CUDA-11.4
|
|
test:linux:cuda-11.4:clang-12:
|
|
extends: .test:linux:cuda
|
|
image: nvidia/cuda:11.4.3-devel-ubuntu20.04
|
|
needs: [ build:linux:cuda-11.4:clang-12 ]
|
|
variables:
|
|
EIGEN_CI_CXX_COMPILER: clang++-12
|
|
EIGEN_CI_CC_COMPILER: clang-12
|
|
|
|
# GCC-10, CUDA-12.2
|
|
test:linux:cuda-12.2:gcc-10:
|
|
extends: .test:linux:cuda
|
|
image: nvidia/cuda:12.2.0-devel-ubuntu20.04
|
|
needs: [ build:linux:cuda-12.2:gcc-10 ]
|
|
variables:
|
|
EIGEN_CI_CXX_COMPILER: g++-10
|
|
EIGEN_CI_CC_COMPILER: gcc-10
|
|
|
|
# Clang-12, CUDA-12.2
|
|
test:linux:cuda-12.2:clang-12:
|
|
extends: .test:linux:cuda
|
|
image: nvidia/cuda:12.2.0-devel-ubuntu20.04
|
|
needs: [ build:linux:cuda-12.2:clang-12 ]
|
|
variables:
|
|
EIGEN_CI_CXX_COMPILER: clang++-12
|
|
EIGEN_CI_CC_COMPILER: clang-12
|
|
|
|
##### arm ######################################################################
|
|
|
|
.test:linux:arm:
|
|
extends: .test:linux
|
|
variables:
|
|
EIGEN_CI_TARGET_ARCH: arm
|
|
EIGEN_CI_CROSS_TARGET_TRIPLE: arm-linux-gnueabihf
|
|
# Enable cross-compiled arm binary to run on aarch64.
|
|
EIGEN_CI_BEFORE_SCRIPT: "ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib/ && export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/"
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- aarch64
|
|
|
|
.test:linux:arm:gcc-10:default:
|
|
extends: .test:linux:arm
|
|
needs: [ build:linux:cross:arm:gcc-10:default ]
|
|
variables:
|
|
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf
|
|
|
|
test:linux:arm:gcc-10:default:official:
|
|
extends: .test:linux:arm:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:arm:gcc-10:default:unsupported:
|
|
extends: .test:linux:arm:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:arm:clang-12:default:
|
|
extends: .test:linux:arm
|
|
needs: [ build:linux:cross:arm:clang-12:default ]
|
|
variables:
|
|
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf clang-12
|
|
|
|
test:linux:arm:clang-12:default:official:
|
|
extends: .test:linux:arm:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:arm:clang-12:default:unsupported:
|
|
extends: .test:linux:arm:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
##### aarch64 ##################################################################
|
|
|
|
.test:linux:aarch64:
|
|
extends: .test:linux
|
|
variables:
|
|
EIGEN_CI_TARGET_ARCH: aarch64
|
|
EIGEN_CI_CROSS_TARGET_TRIPLE: aarch64-linux-gnu
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- aarch64
|
|
|
|
.test:linux:aarch64:gcc-10:default:
|
|
extends: .test:linux:aarch64
|
|
needs: [ build:linux:cross:aarch64:gcc-10:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
|
|
test:linux:aarch64:gcc-10:default:official:
|
|
extends: .test:linux:aarch64:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:aarch64:gcc-10:default:unsupported:
|
|
extends: .test:linux:aarch64:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:aarch64:clang-12:default:
|
|
extends: .test:linux:aarch64
|
|
needs: [ build:linux:cross:aarch64:clang-12:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: clang-12
|
|
|
|
test:linux:aarch64:clang-12:default:official:
|
|
extends: .test:linux:aarch64:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:aarch64:clang-12:default:unsupported:
|
|
extends: .test:linux:aarch64:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
##### ppc64le ##################################################################
|
|
|
|
.test:linux:ppc64le:
|
|
extends: .test:linux
|
|
variables:
|
|
EIGEN_CI_TARGET_ARCH: ppc64le
|
|
EIGEN_CI_CROSS_TARGET_TRIPLE: powerpc64le-linux-gnu
|
|
tags:
|
|
- eigen-runner
|
|
- linux
|
|
- ppc64le
|
|
|
|
.test:linux:ppc64le:gcc-10:default:
|
|
extends: .test:linux:ppc64le
|
|
needs: [ build:linux:cross:ppc64le:gcc-10:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: g++-10
|
|
|
|
test:linux:ppc64le:gcc-10:default:official:
|
|
extends: .test:linux:ppc64le:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:ppc64le:gcc-10:default:unsupported:
|
|
extends: .test:linux:ppc64le:gcc-10:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
.test:linux:ppc64le:clang-12:default:
|
|
extends: .test:linux:ppc64le
|
|
needs: [ build:linux:cross:ppc64le:clang-12:default ]
|
|
variables:
|
|
EIGEN_CI_INSTALL: clang-12
|
|
|
|
test:linux:ppc64le:clang-12:default:official:
|
|
extends: .test:linux:ppc64le:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:ppc64le:clang-12:default:unsupported:
|
|
extends: .test:linux:ppc64le:clang-12:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
##### loongarch64 ###################################################################
|
|
.test:linux:loongarch64:
|
|
extends: .test:linux
|
|
image: ubuntu:24.04
|
|
variables:
|
|
EIGEN_CI_TARGET_ARCH: loongarch64
|
|
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
|
|
- cross-compiler
|
|
|
|
# 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:
|
|
extends: .test:linux:loongarch64:gcc-14:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Official
|
|
|
|
test:linux:loongarch64:gcc-14:default:unsupported:
|
|
extends: .test:linux:loongarch64:gcc-14:default
|
|
variables:
|
|
EIGEN_CI_CTEST_LABEL: Unsupported
|
|
|
|
##### MR Smoke Tests ###########################################################
|
|
|
|
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_CTEST_LABEL: smoketest
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
|
|
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_CTEST_LABEL: smoketest
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|