|  | .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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:gcc-6:default:unsupported: | 
|  | extends: .test:linux:x86-64:gcc-6:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:gcc-10:default:unsupported: | 
|  | extends: .test:linux:x86-64:gcc-10:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:gcc-10:avx2:unsupported: | 
|  | extends: .test:linux:x86-64:gcc-10:avx2 | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:gcc-10:avx512dq:unsupported: | 
|  | extends: .test:linux:x86-64:gcc-10:avx512dq | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:clang-6:default:unsupported: | 
|  | extends: .test:linux:x86-64:clang-6:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:clang-12:default:unsupported: | 
|  | extends: .test:linux:x86-64:clang-12:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:clang-12:avx2:unsupported: | 
|  | extends: .test:linux:x86-64:clang-12:avx2 | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:x86-64:clang-12:avx512dq:unsupported: | 
|  | extends: .test:linux:x86-64:clang-12:avx512dq | 
|  | variables: | 
|  | EIGEN_CI_TEST_LABEL: Unsupported | 
|  |  | 
|  | ##### CUDA ##################################################################### | 
|  | .test:linux:cuda: | 
|  | extends: .test:linux | 
|  | allow_failure: true | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:arm:gcc-10:default:unsupported: | 
|  | extends: .test:linux:arm:gcc-10:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:arm:clang-12:default:unsupported: | 
|  | extends: .test:linux:arm:clang-12:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:aarch64:gcc-10:default:unsupported: | 
|  | extends: .test:linux:aarch64:gcc-10:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:aarch64:clang-12:default:unsupported: | 
|  | extends: .test:linux:aarch64:clang-12:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:ppc64le:gcc-10:default:unsupported: | 
|  | extends: .test:linux:ppc64le:gcc-10:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_LABEL: Official | 
|  |  | 
|  | test:linux:ppc64le:clang-12:default:unsupported: | 
|  | extends: .test:linux:ppc64le:clang-12:default | 
|  | variables: | 
|  | EIGEN_CI_TEST_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_TEST_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_TEST_LABEL: smoketest | 
|  | rules: | 
|  | - if: $CI_PIPELINE_SOURCE == "merge_request_event" |