1*bf2c3715SXin Li## Eigen CI infrastructure 2*bf2c3715SXin Li 3*bf2c3715SXin LiEigen's CI infrastructure uses two stages: A `build` stage to build the unit-test 4*bf2c3715SXin Lisuite and a `test` stage to run the unit-tests. 5*bf2c3715SXin Li 6*bf2c3715SXin Li### Build Stage 7*bf2c3715SXin Li 8*bf2c3715SXin LiThe build stage consists of the following jobs: 9*bf2c3715SXin Li 10*bf2c3715SXin Li| Job Name | Arch | OS | Compiler | C++11 | 11*bf2c3715SXin Li|------------------------------------------|-----------|----------------|------------|---------| 12*bf2c3715SXin Li| `build:x86-64:linux:gcc-4.8:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` | 13*bf2c3715SXin Li| `build:x86-64:linux:gcc-4.8:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` | 14*bf2c3715SXin Li| `build:x86-64:linux:gcc-9:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` | 15*bf2c3715SXin Li| `build:x86-64:linux:gcc-9:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` | 16*bf2c3715SXin Li| `build:x86-64:linux:gcc-10:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` | 17*bf2c3715SXin Li| `build:x86-64:linux:gcc-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` | 18*bf2c3715SXin Li| `build:x86-64:linux:clang-10:cxx11-off` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` | 19*bf2c3715SXin Li| `build:x86-64:linux:clang-10:cxx11-on` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` | 20*bf2c3715SXin Li| `build:aarch64:linux:gcc-10:cxx11-off` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` | 21*bf2c3715SXin Li| `build:aarch64:linux:gcc-10:cxx11-on` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` | 22*bf2c3715SXin Li| `build:aarch64:linux:clang-10:cxx11-off` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` | 23*bf2c3715SXin Li| `build:aarch64:linux:clang-10:cxx11-on` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` | 24*bf2c3715SXin Li 25*bf2c3715SXin Li### Test stage 26*bf2c3715SXin Li 27*bf2c3715SXin LiIn 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: 28*bf2c3715SXin Li 29*bf2c3715SXin Li### Job dependecies 30*bf2c3715SXin Li 31*bf2c3715SXin Li| Job Name | Arch | OS | Compiler | C++11 | Module 32*bf2c3715SXin Li|-----------------------------------------------------|-----------|----------------|------------|---------|-------- 33*bf2c3715SXin Li| `test:x86-64:linux:gcc-4.8:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` | `Official` 34*bf2c3715SXin Li| `test:x86-64:linux:gcc-4.8:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `Off` | `Unsupported` 35*bf2c3715SXin Li| `test:x86-64:linux:gcc-4.8:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` | `Official` 36*bf2c3715SXin Li| `test:x86-64:linux:gcc-4.8:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-4.8` | `On` | `Unsupported` 37*bf2c3715SXin Li| `test:x86-64:linux:gcc-9:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` | `Official` 38*bf2c3715SXin Li| `test:x86-64:linux:gcc-9:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `Off` | `Unsupported` 39*bf2c3715SXin Li| `test:x86-64:linux:gcc-9:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` | `Official` 40*bf2c3715SXin Li| `test:x86-64:linux:gcc-9:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-9` | `On` | `Unsupported` 41*bf2c3715SXin Li| `test:x86-64:linux:gcc-10:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Official` 42*bf2c3715SXin Li| `test:x86-64:linux:gcc-10:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Unsupported` 43*bf2c3715SXin Li| `test:x86-64:linux:gcc-10:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Official` 44*bf2c3715SXin Li| `test:x86-64:linux:gcc-10:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Unsupported` 45*bf2c3715SXin Li| `test:x86-64:linux:clang-10:cxx11-off:official` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Official` 46*bf2c3715SXin Li| `test:x86-64:linux:clang-10:cxx11-off:unsupported` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Unsupported` 47*bf2c3715SXin Li| `test:x86-64:linux:clang-10:cxx11-on:official` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Official` 48*bf2c3715SXin Li| `test:x86-64:linux:clang-10:cxx11-on:unsupported` | `x86-64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Unsupported` 49*bf2c3715SXin Li| `test:aarch64:linux:gcc-10:cxx11-off:official` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Official` 50*bf2c3715SXin Li| `test:aarch64:linux:gcc-10:cxx11-off:unsupported` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `Off` | `Unsupported` 51*bf2c3715SXin Li| `test:aarch64:linux:gcc-10:cxx11-on:official` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Official` 52*bf2c3715SXin Li| `test:aarch64:linux:gcc-10:cxx11-on:unsupported` | `AArch64` | `Ubuntu 18.04` | `GCC-10` | `On` | `Unsupported` 53*bf2c3715SXin Li| `test:aarch64:linux:clang-10:cxx11-off:official` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Official` 54*bf2c3715SXin Li| `test:aarch64:linux:clang-10:cxx11-off:unsupported` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `Off` | `Unsupported` 55*bf2c3715SXin Li| `test:aarch64:linux:clang-10:cxx11-on:official` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Official` 56*bf2c3715SXin Li| `test:aarch64:linux:clang-10:cxx11-on:unsupported` | `AArch64` | `Ubuntu 18.04` | `Clang-10` | `On` | `Unsupported` 57