mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Update CI with testing framework from eigen_ci_cross_testing.
This commit is contained in:
committed by
Rasmus Munk Larsen
parent
b2814d53a7
commit
34fd46a9b4
44
ci/README.md
44
ci/README.md
@@ -1,38 +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-on` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` |
|
||||
| `build:x86-64:linux:gcc-9:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` |
|
||||
| `build:x86-64:linux:gcc-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` |
|
||||
| `build:x86-64:linux:clang-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` |
|
||||
| `build:aarch64:linux:gcc-10:cxx11-on` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` |
|
||||
| `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 dependencies
|
||||
|
||||
| Job Name | Arch | OS | Compiler | C++11 | Module
|
||||
|-----------------------------------------------------|-----------|----------------|------------|---------|--------
|
||||
| `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-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-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-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-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-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.
|
||||
|
||||
Reference in New Issue
Block a user