mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-14 12:46:00 +08:00
Copy CI configuration from master
(minus loongarch)
This commit is contained in:
parent
42d9cc0b1d
commit
0a5abc042e
19
.clang-format
Normal file
19
.clang-format
Normal file
@ -0,0 +1,19 @@
|
||||
---
|
||||
BasedOnStyle: Google
|
||||
ColumnLimit: 120
|
||||
---
|
||||
Language: Cpp
|
||||
BasedOnStyle: Google
|
||||
ColumnLimit: 120
|
||||
StatementMacros:
|
||||
- EIGEN_STATIC_ASSERT
|
||||
- EIGEN_INITIALIZE_COEFFS_IF_THAT_OPTION_IS_ENABLED
|
||||
- EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
|
||||
SortIncludes: false
|
||||
AttributeMacros:
|
||||
- EIGEN_STRONG_INLINE
|
||||
- EIGEN_ALWAYS_INLINE
|
||||
- EIGEN_DEVICE_FUNC
|
||||
- EIGEN_DONT_INLINE
|
||||
- EIGEN_DEPRECATED
|
||||
- EIGEN_UNUSED
|
@ -1,23 +1,34 @@
|
||||
# This file is part of Eigen, a lightweight C++ template library
|
||||
# for linear algebra.
|
||||
#
|
||||
# Copyright (C) 2020 Arm Ltd. and Contributors
|
||||
# Copyright (C) 2023, The Eigen Authors
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla
|
||||
# Public License v. 2.0. If a copy of the MPL was not distributed
|
||||
# with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
stages:
|
||||
- buildsmoketests
|
||||
- smoketests
|
||||
- checkformat
|
||||
- build
|
||||
- test
|
||||
- deploy
|
||||
|
||||
variables:
|
||||
BUILDDIR: builddir
|
||||
EIGEN_CI_CMAKE_GENEATOR: "Ninja"
|
||||
# CMake build directory.
|
||||
EIGEN_CI_BUILDDIR: .build
|
||||
# Specify the CMake build target.
|
||||
EIGEN_CI_BUILD_TARGET: ""
|
||||
# If a test regex is specified, that will be selected.
|
||||
# Otherwise, we will try a label if specified.
|
||||
EIGEN_CI_CTEST_REGEX: ""
|
||||
EIGEN_CI_CTEST_LABEL: ""
|
||||
EIGEN_CI_CTEST_ARGS: ""
|
||||
|
||||
include:
|
||||
- "/ci/smoketests.gitlab-ci.yml"
|
||||
- "/ci/build.gitlab-ci.yml"
|
||||
- "/ci/test.gitlab-ci.yml"
|
||||
- "/ci/checkformat.gitlab-ci.yml"
|
||||
- "/ci/common.gitlab-ci.yml"
|
||||
- "/ci/build.linux.gitlab-ci.yml"
|
||||
- "/ci/build.windows.gitlab-ci.yml"
|
||||
- "/ci/test.linux.gitlab-ci.yml"
|
||||
- "/ci/test.windows.gitlab-ci.yml"
|
||||
- "/ci/deploy.gitlab-ci.yml"
|
||||
|
62
ci/README.md
62
ci/README.md
@ -1,56 +1,12 @@
|
||||
## Eigen CI infrastructure
|
||||
|
||||
Eigen's CI infrastructure uses two stages: A `build` stage to build the unit-test
|
||||
suite and a `test` stage to run the unit-tests.
|
||||
Eigen's CI infrastructure uses three stages:
|
||||
1. A `checkformat` stage to verify MRs satisfy proper formatting style, as
|
||||
defined by `clang-format`.
|
||||
2. A `build` stage to build the unit-tests.
|
||||
3. A `test` stage to run the unit-tests.
|
||||
|
||||
### Build Stage
|
||||
|
||||
The build stage consists of the following jobs:
|
||||
|
||||
| Job Name | Arch | OS | Compiler | C++11 |
|
||||
|------------------------------------------|-----------|----------------|------------|---------|
|
||||
| `build:x86-64:linux:gcc-4.8:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` |
|
||||
| `build:x86-64:linux:gcc-4.8:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` |
|
||||
| `build:x86-64:linux:gcc-9:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` |
|
||||
| `build:x86-64:linux:gcc-9:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` |
|
||||
| `build:x86-64:linux:gcc-10:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` |
|
||||
| `build:x86-64:linux:gcc-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` |
|
||||
| `build:x86-64:linux:clang-10:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` |
|
||||
| `build:x86-64:linux:clang-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` |
|
||||
| `build:aarch64:linux:gcc-10:cxx11-off` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` |
|
||||
| `build:aarch64:linux:gcc-10:cxx11-on` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` |
|
||||
| `build:aarch64:linux:clang-10:cxx11-off` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` |
|
||||
| `build:aarch64:linux:clang-10:cxx11-on` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` |
|
||||
|
||||
### Test stage
|
||||
|
||||
In principle every build-job has a corresponding test-job, however testing supported and unsupported modules is divided into separate jobs. The test jobs in detail:
|
||||
|
||||
### Job dependecies
|
||||
|
||||
| Job Name | Arch | OS | Compiler | C++11 | Module
|
||||
|-----------------------------------------------------|-----------|----------------|------------|---------|--------
|
||||
| `test:x86-64:linux:gcc-4.8:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` | `Official`
|
||||
| `test:x86-64:linux:gcc-4.8:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` | `Unsupported`
|
||||
| `test:x86-64:linux:gcc-4.8:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` | `Official`
|
||||
| `test:x86-64:linux:gcc-4.8:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` | `Unsupported`
|
||||
| `test:x86-64:linux:gcc-9:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` | `Official`
|
||||
| `test:x86-64:linux:gcc-9:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` | `Unsupported`
|
||||
| `test:x86-64:linux:gcc-9:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` | `Official`
|
||||
| `test:x86-64:linux:gcc-9:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` | `Unsupported`
|
||||
| `test:x86-64:linux:gcc-10:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Official`
|
||||
| `test:x86-64:linux:gcc-10:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Unsupported`
|
||||
| `test:x86-64:linux:gcc-10:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Official`
|
||||
| `test:x86-64:linux:gcc-10:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Unsupported`
|
||||
| `test:x86-64:linux:clang-10:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Official`
|
||||
| `test:x86-64:linux:clang-10:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Unsupported`
|
||||
| `test:x86-64:linux:clang-10:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Official`
|
||||
| `test:x86-64:linux:clang-10:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Unsupported`
|
||||
| `test:aarch64:linux:gcc-10:cxx11-off:official` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Official`
|
||||
| `test:aarch64:linux:gcc-10:cxx11-off:unsupported` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Unsupported`
|
||||
| `test:aarch64:linux:gcc-10:cxx11-on:official` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Official`
|
||||
| `test:aarch64:linux:gcc-10:cxx11-on:unsupported` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Unsupported`
|
||||
| `test:aarch64:linux:clang-10:cxx11-off:official` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Official`
|
||||
| `test:aarch64:linux:clang-10:cxx11-off:unsupported` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Unsupported`
|
||||
| `test:aarch64:linux:clang-10:cxx11-on:official` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Official`
|
||||
| `test:aarch64:linux:clang-10:cxx11-on:unsupported` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Unsupported`
|
||||
For merge requests, only a small subset of tests are built/run, and only on a
|
||||
small subset of platforms. This is to reduce our overall testing infrastructure
|
||||
resource usage. In addition, we have nightly jobs that build and run the full
|
||||
suite of tests on most officially supported platforms.
|
||||
|
@ -1,216 +0,0 @@
|
||||
.build:linux:base:
|
||||
stage: build
|
||||
image: ubuntu:18.04
|
||||
before_script:
|
||||
- apt-get update -y
|
||||
- apt-get install -y --no-install-recommends software-properties-common
|
||||
- add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
- apt-get update
|
||||
- apt-get install --no-install-recommends -y ${EIGEN_CI_CXX_COMPILER}
|
||||
${EIGEN_CI_CC_COMPILER} cmake ninja-build
|
||||
script:
|
||||
- mkdir -p ${BUILDDIR} && cd ${BUILDDIR}
|
||||
- CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G
|
||||
${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11}
|
||||
${EIGEN_CI_ADDITIONAL_ARGS} ..
|
||||
- cmake --build . --target buildtests
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- ${BUILDDIR}/
|
||||
expire_in: 5 days
|
||||
only:
|
||||
- schedules
|
||||
|
||||
######## x86-64 ################################################################
|
||||
# GCC-4.8 (the oldest compiler we support)
|
||||
build:x86-64:linux:gcc-4.8:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-4.8"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-4.8"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
build:x86-64:linux:gcc-4.8:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-4.8"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-4.8"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
# GCC-9
|
||||
build:x86-64:linux:gcc-9:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-9"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-9"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
build:x86-64:linux:gcc-9:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-9"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-9"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
# GCC-10
|
||||
build:x86-64:linux:gcc-10:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
build:x86-64:linux:gcc-10:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
# Clang-10
|
||||
build:x86-64:linux:clang-10:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
build:x86-64:linux:clang-10:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
######## AArch64 ###############################################################
|
||||
# GCC-10
|
||||
build:aarch64:linux:gcc-10:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
build:aarch64:linux:gcc-10:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
# Clang-10
|
||||
build:aarch64:linux:clang-10:cxx11-off:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
build:aarch64:linux:clang-10:cxx11-on:
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
######## ppc64le ###############################################################
|
||||
# Currently all ppc64le jobs are allowed to fail
|
||||
|
||||
# GCC-10
|
||||
build:ppc64le:linux:gcc-10:cxx11-off:
|
||||
allow_failure: true
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
build:ppc64le:linux:gcc-10:cxx11-on:
|
||||
allow_failure: true
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "g++-10"
|
||||
EIGEN_CI_CC_COMPILER: "gcc-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
# # Clang-10
|
||||
build:ppc64le:linux:clang-10:cxx11-off:
|
||||
allow_failure: true
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "off"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
build:ppc64le:linux:clang-10:cxx11-on:
|
||||
allow_failure: true
|
||||
extends: .build:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: "clang++-10"
|
||||
EIGEN_CI_CC_COMPILER: "clang-10"
|
||||
EIGEN_TEST_CXX11: "on"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
323
ci/build.linux.gitlab-ci.yml
Normal file
323
ci/build.linux.gitlab-ci.yml
Normal file
@ -0,0 +1,323 @@
|
||||
# Base configuration for linux cross-compilation.
|
||||
.build:linux:cross:
|
||||
extends: .common:linux:cross
|
||||
stage: build
|
||||
variables:
|
||||
EIGEN_CI_BUILD_TARGET: buildtests
|
||||
script:
|
||||
- . ci/scripts/build.linux.script.sh
|
||||
tags:
|
||||
- linux
|
||||
- eigen-runner
|
||||
- cross-compiler
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
- if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
cache:
|
||||
key: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG-BUILD"
|
||||
paths:
|
||||
- ${EIGEN_CI_BUILDDIR}/
|
||||
|
||||
######## x86-64 ################################################################
|
||||
|
||||
.build:linux:cross:x86-64:
|
||||
extends: .build:linux:cross
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: x86_64
|
||||
EIGEN_CI_CROSS_TARGET_TRIPLE: x86_64-linux-gnu
|
||||
|
||||
# GCC-6 (minimum on Ubuntu 18.04)
|
||||
build:linux:cross:x86-64:gcc-6:default:
|
||||
extends: .build:linux:cross:x86-64
|
||||
image: ubuntu:18.04
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-6
|
||||
EIGEN_CI_CXX_COMPILER: g++-6
|
||||
EIGEN_CI_CROSS_INSTALL: g++-6-x86-64-linux-gnu
|
||||
EIGEN_CI_CROSS_C_COMPILER: x86_64-linux-gnu-gcc-6
|
||||
EIGEN_CI_CROSS_CXX_COMPILER: x86_64-linux-gnu-g++-6
|
||||
|
||||
# GCC-10 (stable recent version)
|
||||
build:linux:cross:x86-64:gcc-10:default:
|
||||
extends: .build:linux:cross:x86-64
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CROSS_INSTALL: g++-10-x86-64-linux-gnu
|
||||
EIGEN_CI_CROSS_C_COMPILER: x86_64-linux-gnu-gcc-10
|
||||
EIGEN_CI_CROSS_CXX_COMPILER: x86_64-linux-gnu-g++-10
|
||||
|
||||
build:linux:cross:x86-64:gcc-10:avx:
|
||||
extends: build:linux:cross:x86-64:gcc-10:default
|
||||
variables:
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=on"
|
||||
|
||||
build:linux:cross:x86-64:gcc-10:avx2:
|
||||
extends: build:linux:cross:x86-64:gcc-10:default
|
||||
variables:
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX2=on"
|
||||
|
||||
build:linux:cross:x86-64:gcc-10:avx512dq:
|
||||
extends: build:linux:cross:x86-64:gcc-10:default
|
||||
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:
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
variables:
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on"
|
||||
|
||||
build:linux:doc:
|
||||
extends: .build:linux:cross
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: any
|
||||
EIGEN_CI_BUILD_TARGET: doc
|
||||
EIGEN_CI_INSTALL: ca-certificates clang flex python3 bison graphviz
|
||||
EIGEN_CI_C_COMPILER: clang
|
||||
EIGEN_CI_CXX_COMPILER: clang++
|
||||
EIGEN_CI_BEFORE_SCRIPT: ". ci/scripts/build_and_install_doxygen.sh Release_1_13_2"
|
||||
|
||||
# # Sanitizers (Disabled because ASAN hangs and MSAN requires instrumented libc++)
|
||||
# build:linux:cross:x86-64:clang-12:default:asan:
|
||||
# extends: build:linux:cross:x86-64:clang-12:default
|
||||
# variables:
|
||||
# EIGEN_CI_ADDITIONAL_ARGS:
|
||||
# -DEIGEN_TEST_CUSTOM_CXX_FLAGS=-fsanitize=address,undefined
|
||||
# -DEIGEN_TEST_CUSTOM_LINKER_FLAGS=-fsanitize=address,undefined
|
||||
|
||||
# build:linux:cross:x86-64:clang-12:default:msan:
|
||||
# extends: build:linux:cross:x86-64:clang-12:default
|
||||
# variables:
|
||||
# EIGEN_CI_ADDITIONAL_ARGS:
|
||||
# -DEIGEN_TEST_CUSTOM_CXX_FLAGS=-fsanitize=memory
|
||||
# -DEIGEN_TEST_CUSTOM_LINKER_FLAGS=-fsanitize=memory
|
||||
|
||||
######## CUDA ##################################################################
|
||||
|
||||
.build:linux:cuda:
|
||||
extends: .build:linux:cross:x86-64
|
||||
variables:
|
||||
# Additional flags passed to the cuda compiler.
|
||||
EIGEN_CI_CUDA_CXX_FLAGS: ""
|
||||
# Compute architectures present in the GitLab CI runners.
|
||||
EIGEN_CI_CUDA_COMPUTE_ARCH: "50;75"
|
||||
EIGEN_CI_BUILD_TARGET: buildtests_gpu
|
||||
EIGEN_CI_TEST_CUDA_CLANG: "off"
|
||||
EIGEN_CI_ADDITIONAL_ARGS:
|
||||
-DEIGEN_TEST_CUDA=on
|
||||
-DEIGEN_CUDA_CXX_FLAGS=${EIGEN_CI_CUDA_CXX_FLAGS}
|
||||
-DEIGEN_CUDA_COMPUTE_ARCH=${EIGEN_CI_CUDA_COMPUTE_ARCH}
|
||||
-DEIGEN_TEST_CUDA_CLANG=${EIGEN_CI_TEST_CUDA_CLANG}
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
# Requires intel runner for cuda docker image support.
|
||||
- x86-64
|
||||
|
||||
# NVidia no longer provides docker images < CUDA 11.0.3.
|
||||
# # GCC-7, CUDA-9.2
|
||||
# build:linux:cuda-9.2:gcc-7:
|
||||
# extends: .build:linux:cuda
|
||||
# image: nvidia/cuda:9.2-devel-ubuntu18.04
|
||||
# variables:
|
||||
# # cuda 9.2 doesn't support sm_75, so lower to 70.
|
||||
# EIGEN_CI_CUDA_COMPUTE_ARCH: "50;70"
|
||||
# EIGEN_CI_C_COMPILER: gcc-7
|
||||
# EIGEN_CI_CXX_COMPILER: g++-7
|
||||
|
||||
# # Clang-10, CUDA-9.2
|
||||
# build:linux:cuda-9.2:clang-10:
|
||||
# extends: build:linux:cuda-9.2:gcc-7
|
||||
# variables:
|
||||
# EIGEN_CI_C_COMPILER: clang-10
|
||||
# EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
# EIGEN_CI_TEST_CUDA_CLANG: "on"
|
||||
|
||||
# # GCC-8, CUDA-10.2
|
||||
# build:linux:cuda-10.2:gcc-8:
|
||||
# extends: .build:linux:cuda
|
||||
# image: nvidia/cuda:10.2-devel-ubuntu18.04
|
||||
# variables:
|
||||
# EIGEN_CI_C_COMPILER: gcc-8
|
||||
# EIGEN_CI_CXX_COMPILER: g++-8
|
||||
|
||||
# # Clang-10, CUDA-10.2
|
||||
# build:linux:cuda-10.2:clang-10:
|
||||
# extends: build:linux:cuda-10.2:gcc-8
|
||||
# variables:
|
||||
# EIGEN_CI_C_COMPILER: clang-10
|
||||
# EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
# EIGEN_CI_TEST_CUDA_CLANG: "on"
|
||||
|
||||
# GCC-10, CUDA-11.4
|
||||
build:linux:cuda-11.4:gcc-10:
|
||||
extends: .build:linux:cuda
|
||||
image: nvidia/cuda:11.4.3-devel-ubuntu20.04
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
|
||||
# Clang-12, CUDA-11.4
|
||||
build:linux:cuda-11.4:clang-12:
|
||||
extends: build:linux:cuda-11.4:gcc-10
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: clang-12
|
||||
EIGEN_CI_CXX_COMPILER: clang++-12
|
||||
EIGEN_CI_TEST_CUDA_CLANG: "on"
|
||||
|
||||
# GCC-10, CUDA-12.2
|
||||
build:linux:cuda-12.2:gcc-10:
|
||||
extends: .build:linux:cuda
|
||||
image: nvidia/cuda:12.2.0-devel-ubuntu20.04
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
|
||||
# Clang-12, CUDA-12.2
|
||||
build:linux:cuda-12.2:clang-12:
|
||||
extends: build:linux:cuda-12.2:gcc-10
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: clang-12
|
||||
EIGEN_CI_CXX_COMPILER: clang++-12
|
||||
EIGEN_CI_TEST_CUDA_CLANG: "on"
|
||||
|
||||
# ######## HIP ###################################################################
|
||||
# Note: these are currently build-only, until we get an AMD-supported runner.
|
||||
|
||||
# ROCm HIP
|
||||
build:linux:rocm-latest:gcc-10:
|
||||
extends: .build:linux:cross
|
||||
image: rocm/dev-ubuntu-24.04:latest
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_BUILD_TARGET: buildtests_gpu
|
||||
EIGEN_CI_ADDITIONAL_ARGS: -DEIGEN_TEST_HIP=on
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
######## Arm ###################################################################
|
||||
|
||||
.build:linux:cross:arm:
|
||||
extends: .build:linux:cross
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: arm
|
||||
EIGEN_CI_CROSS_TARGET_TRIPLE: arm-linux-gnueabihf
|
||||
EIGEN_CI_ADDITIONAL_ARGS: >
|
||||
-DEIGEN_TEST_CUSTOM_CXX_FLAGS=-march=armv7-a;-mfpu=neon-vfpv4
|
||||
|
||||
build:linux:cross:arm:gcc-10:default:
|
||||
extends: .build:linux:cross:arm
|
||||
variables:
|
||||
EIGEN_CI_CROSS_INSTALL: g++-10-arm-linux-gnueabihf
|
||||
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:
|
||||
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
|
||||
|
||||
######## aarch64 ###############################################################
|
||||
|
||||
.build:linux:cross:aarch64:
|
||||
extends: .build:linux:cross
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: aarch64
|
||||
EIGEN_CI_CROSS_TARGET_TRIPLE: aarch64-linux-gnu
|
||||
EIGEN_CI_ADDITIONAL_ARGS: -DEIGEN_TEST_CUSTOM_CXX_FLAGS=-march=armv8.2-a+fp16
|
||||
|
||||
build:linux:cross:aarch64:gcc-10:default:
|
||||
extends: .build:linux:cross:aarch64
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CROSS_INSTALL: g++-10-aarch64-linux-gnu
|
||||
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:
|
||||
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
|
||||
|
||||
######## ppc64le ###############################################################
|
||||
|
||||
.build:linux:cross:ppc64le:
|
||||
extends: .build:linux:cross
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: ppc64le
|
||||
EIGEN_CI_CROSS_TARGET_TRIPLE: powerpc64le-linux-gnu
|
||||
|
||||
build:linux:cross:ppc64le:gcc-10:default:
|
||||
extends: .build:linux:cross:ppc64le
|
||||
variables:
|
||||
EIGEN_CI_C_COMPILER: gcc-10
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CROSS_INSTALL: g++-10-powerpc64le-linux-gnu
|
||||
EIGEN_CI_CROSS_C_COMPILER: powerpc64le-linux-gnu-gcc-10
|
||||
EIGEN_CI_CROSS_CXX_COMPILER: powerpc64le-linux-gnu-g++-10
|
||||
# Temporarily disable MMA until #2457 is resolved.
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_ALTIVEC_DISABLE_MMA=1"
|
||||
|
||||
build:linux:cross:ppc64le:clang-12:default:
|
||||
extends: .build:linux:cross:ppc64le
|
||||
variables:
|
||||
EIGEN_CI_INSTALL: clang-12
|
||||
EIGEN_CI_C_COMPILER: clang-12
|
||||
EIGEN_CI_CXX_COMPILER: clang++-12
|
||||
EIGEN_CI_CROSS_INSTALL: g++-10-powerpc64le-linux-gnu clang-12
|
||||
|
||||
######## MR Smoke Tests ########################################################
|
||||
|
||||
build:linux:cross:x86-64:gcc-10:default:smoketest:
|
||||
extends: build:linux:cross:x86-64:gcc-10:default
|
||||
variables:
|
||||
EIGEN_CI_BUILD_TARGET: buildsmoketests
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
|
||||
build:linux:cross:x86-64:clang-12:default:smoketest:
|
||||
extends: build:linux:cross:x86-64:clang-12:default
|
||||
variables:
|
||||
EIGEN_CI_BUILD_TARGET: buildsmoketests
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
108
ci/build.windows.gitlab-ci.yml
Normal file
108
ci/build.windows.gitlab-ci.yml
Normal file
@ -0,0 +1,108 @@
|
||||
# Base configuration for windows builds.
|
||||
.build:windows:
|
||||
extends: .common:windows
|
||||
stage: build
|
||||
variables:
|
||||
EIGEN_CI_BUILD_TARGET: buildtests
|
||||
# Reduce overall build size and compile time.
|
||||
# Note: /d2ReducedOptimizeHugeFunctions is only available in VS 2019.
|
||||
EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/d2ReducedOptimizeHugeFunctions;/DEIGEN_STRONG_INLINE=inline;/Os"
|
||||
script:
|
||||
- ./ci/scripts/build.windows.script.ps1
|
||||
tags:
|
||||
- eigen-runner
|
||||
- windows
|
||||
- x86-64
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
- if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
cache:
|
||||
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG-BUILD"
|
||||
paths:
|
||||
- ${EIGEN_CI_BUILDDIR}/
|
||||
|
||||
######### MSVC #################################################################
|
||||
|
||||
# MSVC 14.16 (VS 2017)
|
||||
build:windows:x86-64:msvc-14.16:default:
|
||||
extends: .build:windows
|
||||
variables:
|
||||
EIGEN_CI_MSVC_VER: "14.16"
|
||||
# Override to remove unsupported /d2ReducedOptimizeHugeFunctions.
|
||||
EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/DEIGEN_STRONG_INLINE=inline;/Os"
|
||||
|
||||
# MSVC 14.29 (VS 2019)
|
||||
build:windows:x86-64:msvc-14.29:default:
|
||||
extends: .build:windows
|
||||
variables:
|
||||
EIGEN_CI_MSVC_VER: "14.29"
|
||||
|
||||
build:windows:x86-64:msvc-14.29:avx2:
|
||||
extends: build:windows:x86-64:msvc-14.29:default
|
||||
variables:
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX2=on"
|
||||
|
||||
build:windows:x86-64:msvc-14.29:avx512dq:
|
||||
extends: build:windows:x86-64:msvc-14.29:default
|
||||
variables:
|
||||
EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on"
|
||||
|
||||
######### MSVC + CUDA ##########################################################
|
||||
.build:windows:cuda:
|
||||
extends: .build:windows
|
||||
variables:
|
||||
# Compute architectures present in the GitLab CI runners.
|
||||
EIGEN_CI_CUDA_COMPUTE_ARCH: "50;75"
|
||||
EIGEN_CI_BUILD_TARGET: buildtests_gpu
|
||||
EIGEN_CI_ADDITIONAL_ARGS:
|
||||
-DEIGEN_TEST_CUDA=on
|
||||
-DEIGEN_CUDA_COMPUTE_ARCH=${EIGEN_CI_CUDA_COMPUTE_ARCH}
|
||||
tags:
|
||||
- eigen-runner
|
||||
- windows
|
||||
- x86-64
|
||||
- cuda
|
||||
|
||||
# The CUDA 9.2 compiler crashes with an internal error.
|
||||
# # MSVC 14.16 + CUDA 9.2
|
||||
# build:windows:x86-64:cuda-9.2:msvc-14.16:
|
||||
# extends: .build:windows:cuda
|
||||
# variables:
|
||||
# # CUDA 9.2 doesn't support sm_75.
|
||||
# EIGEN_CI_CUDA_COMPUTE_ARCH: "50;70"
|
||||
# # CUDA 9.2 only supports up to VS 2017.
|
||||
# EIGEN_CI_MSVC_VER: "14.16"
|
||||
# EIGEN_CI_TEST_CUSTOM_CXX_FLAGS: "/DEIGEN_STRONG_INLINE=inline;/Os"
|
||||
# EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V9_2
|
||||
|
||||
# MSVC 14.29 + CUDA 10.2
|
||||
build:windows:x86-64:cuda-10.2:msvc-14.29:
|
||||
extends: .build:windows:cuda
|
||||
variables:
|
||||
EIGEN_CI_MSVC_VER: "14.29"
|
||||
EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V10_2
|
||||
|
||||
# MSVC 14.29 + CUDA 11.4
|
||||
build:windows:x86-64:cuda-11.4:msvc-14.29:
|
||||
extends: .build:windows:cuda
|
||||
variables:
|
||||
EIGEN_CI_MSVC_VER: "14.29"
|
||||
EIGEN_CI_BEFORE_SCRIPT: $$env:CUDA_PATH=$$env:CUDA_PATH_V11_4
|
||||
|
||||
######## MR Smoke Tests ########################################################
|
||||
|
||||
# MSVC 14.29 64-bit (VS 2019)
|
||||
build:windows:x86-64:msvc-14.29:avx512dq:smoketest:
|
||||
extends: build:windows:x86-64:msvc-14.29:avx512dq
|
||||
variables:
|
||||
EIGEN_CI_BUILD_TARGET: buildsmoketests
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
|
||||
# MSVC 14.29 32-bit (VS 2019)
|
||||
build:windows:x86:msvc-14.29:avx512dq:smoketest:
|
||||
extends: build:windows:x86-64:msvc-14.29:avx512dq:smoketest
|
||||
variables:
|
||||
EIGEN_CI_MSVC_ARCH: "x86"
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
10
ci/checkformat.gitlab-ci.yml
Normal file
10
ci/checkformat.gitlab-ci.yml
Normal file
@ -0,0 +1,10 @@
|
||||
checkformat:clangformat:
|
||||
stage: checkformat
|
||||
image: alpine:3.19
|
||||
only:
|
||||
- merge_requests
|
||||
allow_failure: true
|
||||
before_script:
|
||||
- apk add --no-cache git clang17-extra-tools python3
|
||||
script:
|
||||
- git clang-format --diff --commit ${CI_MERGE_REQUEST_DIFF_BASE_SHA}
|
40
ci/common.gitlab-ci.yml
Normal file
40
ci/common.gitlab-ci.yml
Normal file
@ -0,0 +1,40 @@
|
||||
# Base configuration for linux builds and tests.
|
||||
.common:linux:cross:
|
||||
image: ubuntu:20.04
|
||||
variables:
|
||||
EIGEN_CI_TARGET_ARCH: ""
|
||||
EIGEN_CI_ADDITIONAL_ARGS: ""
|
||||
# If host matches target, use the following:
|
||||
EIGEN_CI_C_COMPILER: ""
|
||||
EIGEN_CI_CXX_COMPILER: ""
|
||||
EIGEN_CI_INSTALL: "${EIGEN_CI_C_COMPILER} ${EIGEN_CI_CXX_COMPILER}"
|
||||
# If host does not match the target, use the following:
|
||||
EIGEN_CI_CROSS_TARGET_TRIPLE: ""
|
||||
EIGEN_CI_CROSS_C_COMPILER: ${EIGEN_CI_C_COMPILER}
|
||||
EIGEN_CI_CROSS_CXX_COMPILER: ${EIGEN_CI_CXX_COMPILER}
|
||||
EIGEN_CI_CROSS_INSTALL: "${EIGEN_CI_CROSS_C_COMPILER} ${EIGEN_CI_CROSS_CXX_COMPILER}"
|
||||
before_script:
|
||||
# Call script in current shell - it sets up some environment variables.
|
||||
- . ci/scripts/common.linux.before_script.sh
|
||||
artifacts:
|
||||
when: always
|
||||
name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG"
|
||||
paths:
|
||||
- ${EIGEN_CI_BUILDDIR}/
|
||||
expire_in: 5 days
|
||||
|
||||
# Base configuration for Windows builds and tests.
|
||||
.common:windows:
|
||||
variables:
|
||||
EIGEN_CI_MSVC_ARCH: x64
|
||||
EIGEN_CI_MSVC_VER: "14.29"
|
||||
EIGEN_CI_ADDITIONAL_ARGS: ""
|
||||
EIGEN_CI_BEFORE_SCRIPT: ""
|
||||
before_script:
|
||||
- . ci/scripts/common.windows.before_script.ps1
|
||||
artifacts:
|
||||
when: always
|
||||
name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_NAME"
|
||||
paths:
|
||||
- ${EIGEN_CI_BUILDDIR}/
|
||||
expire_in: 5 days
|
39
ci/deploy.gitlab-ci.yml
Normal file
39
ci/deploy.gitlab-ci.yml
Normal file
@ -0,0 +1,39 @@
|
||||
# Push a nightly tag if the pipeline succeeded.
|
||||
deploy:tag:nightly:
|
||||
stage: deploy
|
||||
image: alpine:edge
|
||||
dependencies: []
|
||||
before_script:
|
||||
- apk add git
|
||||
script:
|
||||
- git tag -f nightly $CI_COMMIT_SHORT_SHA
|
||||
- git push -f $EIGEN_CI_GIT_PUSH_URL tag nightly
|
||||
tags:
|
||||
- linux
|
||||
- eigen-runner
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
- if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
|
||||
# Upload docs if pipeline succeeded.
|
||||
deploy:doc:nightly:
|
||||
stage: deploy
|
||||
image: busybox
|
||||
dependencies: [ build:linux:doc ]
|
||||
variables:
|
||||
PAGES_PREFIX: docs-nightly
|
||||
script:
|
||||
- echo "Deploying site to $CI_PAGES_URL"
|
||||
- mv ${EIGEN_CI_BUILDDIR}/doc/html public
|
||||
pages:
|
||||
path_prefix: $PAGES_PREFIX
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG"
|
||||
paths:
|
||||
- public
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen"
|
||||
- if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen"
|
46
ci/scripts/common.linux.before_script.sh
Normal file
46
ci/scripts/common.linux.before_script.sh
Normal file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
echo "Running ${CI_JOB_NAME}"
|
||||
|
||||
# Get architecture and display CI configuration.
|
||||
export ARCH=`uname -m`
|
||||
export NPROC=`nproc`
|
||||
echo "arch=$ARCH, target=${EIGEN_CI_TARGET_ARCH}"
|
||||
echo "Processors: ${NPROC}"
|
||||
echo "CI Variables:"
|
||||
export | grep EIGEN
|
||||
|
||||
# Set noninteractive, otherwise tzdata may be installed and prompt for a
|
||||
# geographical region.
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -y > /dev/null
|
||||
apt-get install -y --no-install-recommends ninja-build cmake git > /dev/null
|
||||
|
||||
# Install required dependencies and set up compilers.
|
||||
# These are required even for testing to ensure that dynamic runtime libraries
|
||||
# are available.
|
||||
if [[ "$ARCH" == "${EIGEN_CI_TARGET_ARCH}" || "${EIGEN_CI_TARGET_ARCH}" == "any" ]]; then
|
||||
apt-get install -y --no-install-recommends ${EIGEN_CI_INSTALL} > /dev/null;
|
||||
export EIGEN_CI_CXX_IMPLICIT_INCLUDE_DIRECTORIES="";
|
||||
export EIGEN_CI_CXX_COMPILER_TARGET="";
|
||||
else
|
||||
apt-get install -y --no-install-recommends ${EIGEN_CI_CROSS_INSTALL} > /dev/null;
|
||||
export EIGEN_CI_C_COMPILER=${EIGEN_CI_CROSS_C_COMPILER};
|
||||
export EIGEN_CI_CXX_COMPILER=${EIGEN_CI_CROSS_CXX_COMPILER};
|
||||
export EIGEN_CI_CXX_COMPILER_TARGET=${EIGEN_CI_CROSS_TARGET_TRIPLE};
|
||||
# Tell the compiler where to find headers and libraries if using clang.
|
||||
# NOTE: this breaks GCC since it messes with include path order
|
||||
# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129)
|
||||
if [[ "${EIGEN_CI_CROSS_CXX_COMPILER}" == *"clang"* ]]; then
|
||||
export CPLUS_INCLUDE_PATH="/usr/${EIGEN_CI_CROSS_TARGET_TRIPLE}/include";
|
||||
export LIBRARY_PATH="/usr/${EIGEN_CI_CROSS_TARGET_TRIPLE}/lib64";
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Compilers: ${EIGEN_CI_C_COMPILER} ${EIGEN_CI_CXX_COMPILER}"
|
||||
|
||||
if [ -n "$EIGEN_CI_BEFORE_SCRIPT" ]; then eval "$EIGEN_CI_BEFORE_SCRIPT"; fi
|
||||
|
||||
set +x
|
8
ci/scripts/common.windows.before_script.ps1
Normal file
8
ci/scripts/common.windows.before_script.ps1
Normal file
@ -0,0 +1,8 @@
|
||||
echo "Running ${CI_JOB_NAME}"
|
||||
|
||||
# Print configuration variables.
|
||||
Get-Variable EIGEN* | Format-Table -Wrap
|
||||
Get-Variable CMAKE* | Format-Table -Wrap
|
||||
|
||||
# Run a custom before-script command.
|
||||
if ("${EIGEN_CI_BEFORE_SCRIPT}") { Invoke-Expression -Command "${EIGEN_CI_BEFORE_SCRIPT}" }
|
19
ci/scripts/test.linux.after_script.sh
Normal file
19
ci/scripts/test.linux.after_script.sh
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
# Enter build directory.
|
||||
rootdir=`pwd`
|
||||
cd ${EIGEN_CI_BUILDDIR}
|
||||
|
||||
# Install xml processor.
|
||||
apt-get update -y
|
||||
apt-get install --no-install-recommends -y xsltproc
|
||||
|
||||
# Generate test results.
|
||||
xsltproc ${rootdir}/ci/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > "JUnitTestResults_$CI_JOB_ID.xml"
|
||||
|
||||
# Return to root directory.
|
||||
cd ${rootdir}
|
||||
|
||||
set +x
|
31
ci/scripts/test.linux.script.sh
Normal file
31
ci/scripts/test.linux.script.sh
Normal file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
# Enter build directory.
|
||||
rootdir=`pwd`
|
||||
cd ${EIGEN_CI_BUILDDIR}
|
||||
|
||||
target=""
|
||||
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 ${EIGEN_CI_CTEST_ARGS} --parallel ${NPROC} \
|
||||
--output-on-failure --no-compress-output \
|
||||
--build-no-clean -T test ${target} || \
|
||||
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}
|
||||
|
||||
set +x
|
17
ci/scripts/test.windows.after_script.ps1
Normal file
17
ci/scripts/test.windows.after_script.ps1
Normal file
@ -0,0 +1,17 @@
|
||||
# Change to build directory.
|
||||
$rootdir = Get-Location
|
||||
cd ${EIGEN_CI_BUILDDIR}
|
||||
|
||||
# Determine the appropriate test tag and results file.
|
||||
$TEST_TAG = Get-Content Testing\TAG | select -first 1
|
||||
|
||||
# PowerShell equivalent to xsltproc:
|
||||
$XSL_FILE = Resolve-Path "..\ci\CTest2JUnit.xsl"
|
||||
$INPUT_FILE = Resolve-Path Testing\$TEST_TAG\Test.xml
|
||||
$OUTPUT_FILE = Join-Path -Path $pwd -ChildPath JUnitTestResults_$CI_JOB_ID.xml
|
||||
$xslt = New-Object System.Xml.Xsl.XslCompiledTransform;
|
||||
$xslt.Load($XSL_FILE)
|
||||
$xslt.Transform($INPUT_FILE,$OUTPUT_FILE)
|
||||
|
||||
# Return to root directory.
|
||||
cd ${rootdir}
|
30
ci/scripts/test.windows.script.ps1
Normal file
30
ci/scripts/test.windows.script.ps1
Normal file
@ -0,0 +1,30 @@
|
||||
# Change to build directory.
|
||||
$rootdir = Get-Location
|
||||
cd $EIGEN_CI_BUILDDIR
|
||||
|
||||
# Determine number of processors for parallel tests.
|
||||
$NPROC=${Env:NUMBER_OF_PROCESSORS}
|
||||
|
||||
# Set target based on regex or label.
|
||||
$target = ""
|
||||
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 $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
|
||||
|
||||
# Return to root directory.
|
||||
cd ${rootdir}
|
||||
|
||||
# Explicitly propagate exit code to indicate pass/failure of test command.
|
||||
if($success -ne 0) { Exit $success }
|
14
ci/scripts/vars.linux.sh
Normal file
14
ci/scripts/vars.linux.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Initialize default variables used by the CI.
|
||||
export EIGEN_CI_ADDITIONAL_ARGS=""
|
||||
export EIGEN_CI_BEFORE_SCRIPT=""
|
||||
export EIGEN_CI_BUILD_TARGET="buildtests"
|
||||
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_CTEST_LABEL="Official"
|
||||
export EIGEN_CI_CTEST_REGEX=""
|
||||
export EIGEN_CI_CTEST_ARGS=""
|
||||
|
11
ci/scripts/vars.windows.ps1
Normal file
11
ci/scripts/vars.windows.ps1
Normal file
@ -0,0 +1,11 @@
|
||||
# Initialize default variables used by the CI.
|
||||
$EIGEN_CI_ADDITIONAL_ARGS = ""
|
||||
$EIGEN_CI_BEFORE_SCRIPT = ""
|
||||
$EIGEN_CI_BUILD_TARGET = "buildtests"
|
||||
$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_CTEST_LABEL = "Official"
|
||||
$EIGEN_CI_CTEST_REGEX = ""
|
||||
$EIGEN_CI_CTEST_ARGS = ""
|
@ -1,388 +0,0 @@
|
||||
.test:linux:base:
|
||||
stage: test
|
||||
image: ubuntu:18.04
|
||||
retry: 2
|
||||
before_script:
|
||||
- apt-get update -y
|
||||
- apt-get install -y --no-install-recommends software-properties-common
|
||||
- add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
- apt-get update
|
||||
- apt-get install --no-install-recommends -y ${EIGEN_CI_CXX_COMPILER}
|
||||
${EIGEN_CI_CC_COMPILER} cmake ninja-build xsltproc
|
||||
script:
|
||||
- export CXX=${EIGEN_CI_CXX_COMPILER}
|
||||
- export CC=${EIGEN_CI_CC_COMPILER}
|
||||
- cd ${BUILDDIR} && ctest --output-on-failure --no-compress-output
|
||||
--build-no-clean -T test -L ${EIGEN_CI_TEST_LABEL}
|
||||
after_script:
|
||||
- apt-get update -y
|
||||
- apt-get install --no-install-recommends -y xsltproc
|
||||
- cd ${BUILDDIR}
|
||||
- xsltproc ../ci/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > "JUnitTestResults_$CI_JOB_ID.xml"
|
||||
artifacts:
|
||||
reports:
|
||||
junit:
|
||||
- ${BUILDDIR}/JUnitTestResults_$CI_JOB_ID.xml
|
||||
expire_in: 5 days
|
||||
only:
|
||||
- schedules
|
||||
|
||||
##### x86-64 ###################################################################
|
||||
# GCC-4.8
|
||||
.test:x86-64:linux:gcc-4.8:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-4.8
|
||||
EIGEN_CI_CC_COMPILER: gcc-4.8
|
||||
needs: [ "build:x86-64:linux:gcc-4.8:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-4.8:cxx11-off:official:
|
||||
extends: .test:x86-64:linux:gcc-4.8:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-4.8:cxx11-off:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-4.8:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:x86-64:linux:gcc-4.8:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-4.8
|
||||
EIGEN_CI_CC_COMPILER: gcc-4.8
|
||||
needs: [ "build:x86-64:linux:gcc-4.8:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-4.8:cxx11-on:official:
|
||||
extends: .test:x86-64:linux:gcc-4.8:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-4.8:cxx11-on:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-4.8:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
# GCC-9
|
||||
.test:x86-64:linux:gcc-9:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-9
|
||||
EIGEN_CI_CC_COMPILER: gcc-9
|
||||
needs: [ "build:x86-64:linux:gcc-9:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-9:cxx11-off:official:
|
||||
extends: .test:x86-64:linux:gcc-9:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-9:cxx11-off:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-9:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:x86-64:linux:gcc-9:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-9
|
||||
EIGEN_CI_CC_COMPILER: gcc-9
|
||||
needs: [ "build:x86-64:linux:gcc-9:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-9:cxx11-on:official:
|
||||
extends: .test:x86-64:linux:gcc-9:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-9:cxx11-on:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-9:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
# GCC-10
|
||||
.test:x86-64:linux:gcc-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:x86-64:linux:gcc-10:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-10:cxx11-off:official:
|
||||
extends: .test:x86-64:linux:gcc-10:cxx11-off
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-10:cxx11-off:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:x86-64:linux:gcc-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:x86-64:linux:gcc-10:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:gcc-10:cxx11-on:official:
|
||||
extends: .test:x86-64:linux:gcc-10:cxx11-on
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:gcc-10:cxx11-on:unsupported:
|
||||
extends: .test:x86-64:linux:gcc-10:cxx11-on
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
# Clang 10
|
||||
.test:x86-64:linux:clang-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:x86-64:linux:clang-10:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:clang-10:cxx11-off:official:
|
||||
extends: .test:x86-64:linux:clang-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:clang-10:cxx11-off:unsupported:
|
||||
extends: .test:x86-64:linux:clang-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:x86-64:linux:clang-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:x86-64:linux:clang-10:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- x86-64
|
||||
|
||||
test:x86-64:linux:clang-10:cxx11-on:official:
|
||||
extends: .test:x86-64:linux:clang-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:x86-64:linux:clang-10:cxx11-on:unsupported:
|
||||
extends: .test:x86-64:linux:clang-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
##### AArch64 ##################################################################
|
||||
# GCC-10
|
||||
.test:aarch64:linux:gcc-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:aarch64:linux:gcc-10:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
test:aarch64:linux:gcc-10:cxx11-off:official:
|
||||
extends: .test:aarch64:linux:gcc-10:cxx11-off
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:aarch64:linux:gcc-10:cxx11-off:unsupported:
|
||||
extends: .test:aarch64:linux:gcc-10:cxx11-off
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:aarch64:linux:gcc-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:aarch64:linux:gcc-10:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
test:aarch64:linux:gcc-10:cxx11-on:official:
|
||||
extends: .test:aarch64:linux:gcc-10:cxx11-on
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:aarch64:linux:gcc-10:cxx11-on:unsupported:
|
||||
extends: .test:aarch64:linux:gcc-10:cxx11-on
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
# Clang 10
|
||||
.test:aarch64:linux:clang-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:aarch64:linux:clang-10:cxx11-off" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
test:aarch64:linux:clang-10:cxx11-off:official:
|
||||
extends: .test:aarch64:linux:clang-10:cxx11-off
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:aarch64:linux:clang-10:cxx11-off:unsupported:
|
||||
extends: .test:aarch64:linux:clang-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:aarch64:linux:clang-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:aarch64:linux:clang-10:cxx11-on" ]
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- aarch64
|
||||
|
||||
test:aarch64:linux:clang-10:cxx11-on:official:
|
||||
extends: .test:aarch64:linux:clang-10:cxx11-on
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:aarch64:linux:clang-10:cxx11-on:unsupported:
|
||||
extends: .test:aarch64:linux:clang-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
##### ppc64le ##################################################################
|
||||
# GCC-10
|
||||
.test:ppc64le:linux:gcc-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:ppc64le:linux:gcc-10:cxx11-off" ]
|
||||
allow_failure: true
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
test:ppc64le:linux:gcc-10:cxx11-off:official:
|
||||
extends: .test:ppc64le:linux:gcc-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:ppc64le:linux:gcc-10:cxx11-off:unsupported:
|
||||
extends: .test:ppc64le:linux:gcc-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:ppc64le:linux:gcc-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: g++-10
|
||||
EIGEN_CI_CC_COMPILER: gcc-10
|
||||
needs: [ "build:ppc64le:linux:gcc-10:cxx11-on" ]
|
||||
allow_failure: true
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
test:ppc64le:linux:gcc-10:cxx11-on:official:
|
||||
extends: .test:ppc64le:linux:gcc-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:ppc64le:linux:gcc-10:cxx11-on:unsupported:
|
||||
extends: .test:ppc64le:linux:gcc-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
# # Clang 10
|
||||
.test:ppc64le:linux:clang-10:cxx11-off:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:ppc64le:linux:clang-10:cxx11-off" ]
|
||||
allow_failure: true
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
test:ppc64le:linux:clang-10:cxx11-off:official:
|
||||
extends: .test:ppc64le:linux:clang-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:ppc64le:linux:clang-10:cxx11-off:unsupported:
|
||||
extends: .test:ppc64le:linux:clang-10:cxx11-off
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
||||
|
||||
.test:ppc64le:linux:clang-10:cxx11-on:
|
||||
extends: .test:linux:base
|
||||
variables:
|
||||
EIGEN_CI_CXX_COMPILER: clang++-10
|
||||
EIGEN_CI_CC_COMPILER: clang-10
|
||||
needs: [ "build:ppc64le:linux:clang-10:cxx11-on" ]
|
||||
allow_failure: true
|
||||
tags:
|
||||
- eigen-runner
|
||||
- linux
|
||||
- ppc64le
|
||||
|
||||
test:ppc64le:linux:clang-10:cxx11-on:official:
|
||||
extends: .test:ppc64le:linux:clang-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Official"
|
||||
|
||||
test:ppc64le:linux:clang-10:cxx11-on:unsupported:
|
||||
extends: .test:ppc64le:linux:clang-10:cxx11-on
|
||||
variables:
|
||||
EIGEN_CI_TEST_LABEL: "Unsupported"
|
434
ci/test.linux.gitlab-ci.yml
Normal file
434
ci/test.linux.gitlab-ci.yml
Normal file
@ -0,0 +1,434 @@
|
||||
.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
|
||||
|
||||
##### 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"
|
107
ci/test.windows.gitlab-ci.yml
Normal file
107
ci/test.windows.gitlab-ci.yml
Normal file
@ -0,0 +1,107 @@
|
||||
.test:windows:
|
||||
extends: .common:windows
|
||||
stage: test
|
||||
script:
|
||||
- ./ci/scripts/test.windows.script.ps1
|
||||
after_script:
|
||||
- ./ci/scripts/test.windows.after_script.ps1
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule"
|
||||
- if: $CI_PIPELINE_SOURCE == "web"
|
||||
tags:
|
||||
- eigen-runner
|
||||
- windows
|
||||
- x86-64
|
||||
|
||||
##### MSVC #####################################################################
|
||||
|
||||
# MSVC 14.16 (VS 2017)
|
||||
.test:windows:x86-64:msvc-14.16:default:
|
||||
extends: .test:windows
|
||||
needs: [ build:windows:x86-64:msvc-14.16:default ]
|
||||
|
||||
test:windows:x86-64:msvc-14.16:default:official:
|
||||
extends: .test:windows:x86-64:msvc-14.16:default
|
||||
variables:
|
||||
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_CTEST_LABEL: Unsupported
|
||||
|
||||
# MSVC 14.29 (VS 2019)
|
||||
.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 + CUDA ##############################################################
|
||||
.test:windows:cuda:
|
||||
extends: .test:windows
|
||||
allow_failure: true
|
||||
variables:
|
||||
EIGEN_CI_CTEST_LABEL: gpu
|
||||
tags:
|
||||
- eigen-runner
|
||||
- windows
|
||||
- x86-64
|
||||
- cuda
|
||||
|
||||
# The CUDA 9.2 compiler crashes with an internal error.
|
||||
# # MSVC 14.16 + CUDA 9.2
|
||||
# test:windows:x86-64:cuda-9.2:msvc-14.16:
|
||||
# extends: .test:windows:cuda
|
||||
# needs: [ build:windows:x86-64:cuda-9.2:msvc-14.16 ]
|
||||
|
||||
# MSVC 14.29 + CUDA 10.2
|
||||
test:windows:x86-64:cuda-10.2:msvc-14.29:
|
||||
extends: .test:windows:cuda
|
||||
needs: [ build:windows:x86-64:cuda-10.2:msvc-14.29 ]
|
||||
|
||||
# MSVC 14.29 + CUDA 11.4
|
||||
test:windows:x86-64:cuda-11.4:msvc-14.29:
|
||||
extends: .test:windows:cuda
|
||||
needs: [ build:windows:x86-64:cuda-11.4:msvc-14.29 ]
|
Loading…
x
Reference in New Issue
Block a user