New CI infrastructure, including AArch64 runners
This commit is contained in:
		
							parent
							
								
									5328c9be43
								
							
						
					
					
						commit
						adc861cabd
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -35,4 +35,4 @@ lapack/reference | ||||
| .*project | ||||
| .settings | ||||
| Makefile | ||||
| !ci/build-tests.gitlab-ci.yml | ||||
| !ci/build.gitlab-ci.yml | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| # This file is part of Eigen, a lightweight C++ template library | ||||
| # for linear algebra. | ||||
| # | ||||
| # Copyright (c) 2020, Arm Limited and Contributors | ||||
| # Copyright (C) 2020 Arm Ltd. and Contributors | ||||
| # | ||||
| # 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 | ||||
| @ -10,13 +10,11 @@ | ||||
| stages: | ||||
|   - build | ||||
|   - test | ||||
|   - doc | ||||
| 
 | ||||
| variables: | ||||
|   BUILDDIR: builddir | ||||
|   EIGEN_CI_CMAKE_GENEATOR: "Ninja" | ||||
|   EIGEN_CI_TESTSUITE_SIZE: 15 | ||||
| 
 | ||||
| include: | ||||
|   - "/ci/build-tests.gitlab-ci.yml" | ||||
|   - "/ci/run-tests.gitlab-ci.yml" | ||||
|   - "/ci/build.gitlab-ci.yml" | ||||
|   - "/ci/test.gitlab-ci.yml" | ||||
|  | ||||
							
								
								
									
										56
									
								
								ci/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								ci/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| ## 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. | ||||
| 
 | ||||
| ### 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` | ||||
| @ -1,131 +0,0 @@ | ||||
| .build-tests-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} | ||||
|     - echo "CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_SPLIT_TESTSUITE=${EIGEN_CI_TESTSUITE_SIZE} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11} ${EIGEN_CI_ADDITIONAL_ARGS} .." | ||||
|     - CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_SPLIT_TESTSUITE=${EIGEN_CI_TESTSUITE_SIZE} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11} ${EIGEN_CI_ADDITIONAL_ARGS} .. | ||||
|     - echo "cmake --build . --target buildtestspart${EIGEN_CI_TESTSUITE_PART}" | ||||
|     - cmake --build . --target buildtestspart${EIGEN_CI_TESTSUITE_PART} | ||||
|   artifacts: | ||||
|     name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" | ||||
|     paths: | ||||
|       - ${BUILDDIR}/ | ||||
|     expire_in: 5 days | ||||
| 
 | ||||
| # Base for all build jobs building the whole testsuite in one job. Note that | ||||
| # this cannot be run on GitLab's shared runners due to their timeout. | ||||
| .build-tests-single-base: | ||||
|   extends: .build-tests-base | ||||
|   script: | ||||
|     - mkdir -p ${BUILDDIR} && cd ${BUILDDIR} | ||||
|     - echo "CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11} ${EIGEN_CI_CXX_FLAGS} ${EIGEN_CI_ADDITIONAL_ARGS} .." | ||||
|     - 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} .. | ||||
|     - echo "cmake --build . --target buildtests" | ||||
|     - cmake --build . --target buildtests | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
|   only: | ||||
|     - schedules | ||||
| 
 | ||||
| # Base for all build jobs using a splitted testsuite such that the job can be | ||||
| # run on GitLab's own shared runners | ||||
| .build-tests-split-base: | ||||
|   extends: .build-tests-base | ||||
|   script: | ||||
|     - mkdir -p ${BUILDDIR} && cd ${BUILDDIR} | ||||
|     - echo "CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_SPLIT_TESTSUITE=${EIGEN_CI_TESTSUITE_SIZE} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11} ${EIGEN_CI_CXX_FLAGS} -DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On .." | ||||
|     - CXX=${EIGEN_CI_CXX_COMPILER} CC=${EIGEN_CI_CC_COMPILER} cmake -G ${EIGEN_CI_CMAKE_GENEATOR} -DEIGEN_SPLIT_TESTSUITE=${EIGEN_CI_TESTSUITE_SIZE} -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11} -DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On .. | ||||
|     - echo "cmake --build . --target buildtestspart${EIGEN_CI_TESTSUITE_PART}" | ||||
|     - cmake --build . --target buildtestspart${EIGEN_CI_TESTSUITE_PART} | ||||
|   only: | ||||
|     - merge_requests | ||||
| 
 | ||||
| ########################## Nightly running jobs ################################ | ||||
| 
 | ||||
| # GCC 4.8 | ||||
| # This is the oldest GCC version we support | ||||
| build-tests-g++-4.8-cxx11-on: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-4.8" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-4.8" | ||||
|     EIGEN_TEST_CXX11: "on" | ||||
| 
 | ||||
| build-tests-g++-4.8-cxx11-off: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-4.8" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-4.8" | ||||
|     EIGEN_TEST_CXX11: "off" | ||||
| 
 | ||||
| # Clang 10 | ||||
| build-tests-clang++-10-cxx11-on: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "clang++-10" | ||||
|     EIGEN_CI_CC_COMPILER: "clang-10" | ||||
|     EIGEN_TEST_CXX11: "on" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
| 
 | ||||
| build-tests-clang++-10-cxx11-off: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "clang++-10" | ||||
|     EIGEN_CI_CC_COMPILER: "clang-10" | ||||
|     EIGEN_TEST_CXX11: "off" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
| 
 | ||||
| # GCC 10 | ||||
| build-tests-g++-10-cxx11-off: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-10" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-10" | ||||
|     EIGEN_TEST_CXX11: "off" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
| 
 | ||||
| build-tests-g++-10-cxx11-on: | ||||
|   extends: .build-tests-single-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-10" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-10" | ||||
|     EIGEN_TEST_CXX11: "on" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
| 
 | ||||
| ########################### Merge request jobs ################################# | ||||
| 
 | ||||
| # GCC 10 | ||||
| build-tests-g++-9-cxx11-on-mr: | ||||
|   only: | ||||
|     - merge_requests | ||||
|   extends: .build-tests-split-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-9" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-9" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
|   parallel: | ||||
|     matrix: | ||||
|       - EIGEN_CI_TESTSUITE_PART: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] | ||||
|         EIGEN_TEST_CXX11: "on" | ||||
| 
 | ||||
| build-tests-g++-9-cxx11-off-mr: | ||||
|   only: | ||||
|     - merge_requests | ||||
|   extends: .build-tests-split-base | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: "g++-9" | ||||
|     EIGEN_CI_CC_COMPILER: "gcc-9" | ||||
|     EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX=On -DEIGEN_TEST_AVX2=On" | ||||
|   parallel: | ||||
|     matrix: | ||||
|       - EIGEN_CI_TESTSUITE_PART: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] | ||||
|         EIGEN_TEST_CXX11: "off" | ||||
							
								
								
									
										163
									
								
								ci/build.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								ci/build.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,163 @@ | ||||
| .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 | ||||
| @ -1,128 +0,0 @@ | ||||
| .run_tests: | ||||
|   allow_failure: true | ||||
|   stage: test | ||||
|   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 xsltproc | ||||
|   script: | ||||
|     - echo "cd ${BUILDDIR} && ctest --output-on-failure --no-compress-output --build-no-clean -T test" | ||||
|     - cd ${BUILDDIR} && ctest --output-on-failure --no-compress-output --build-no-clean -T test | ||||
|   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 | ||||
| 
 | ||||
| ########################## Nightly running jobs ################################ | ||||
| # GCC 4.8 | ||||
| run-tests-g++-4.8-cxx11-on: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-4.8 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-4.8 | ||||
|   needs: [ "build-tests-g++-4.8-cxx11-on" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| run-tests-g++-4.8-cxx11-off: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-4.8 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-4.8 | ||||
|   needs: [ "build-tests-g++-4.8-cxx11-off" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| # Clang 10 | ||||
| run-tests-clang++-10-cxx11-on: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: clang++-10 | ||||
|     EIGEN_CI_CC_COMPILER: clang-10 | ||||
|   needs: [ "build-tests-clang++-10-cxx11-on" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| run-tests-clang++-10-cxx11-off: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: clang++-10 | ||||
|     EIGEN_CI_CC_COMPILER: clang-10 | ||||
|   needs: [ "build-tests-clang++-10-cxx11-off" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| # GCC 10 | ||||
| run-tests-g++-10-cxx11-on: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-10 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-10 | ||||
|   needs: [ "build-tests-g++-10-cxx11-on" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| run-tests-g++-10-cxx11-off: | ||||
|   only: | ||||
|     - schedules | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-10 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-10 | ||||
|   needs: [ "build-tests-g++-10-cxx11-off" ] | ||||
|   tags: | ||||
|     - eigen-runner | ||||
|     - x86 | ||||
|     - linux | ||||
| 
 | ||||
| ########################### Merge request jobs ################################# | ||||
| 
 | ||||
| # GCC 10 | ||||
| run-tests-g++-9-cxx11-on-mr: | ||||
|   only: | ||||
|     - merge_requests | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-9 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-9 | ||||
|   dependencies: | ||||
|     - build-tests-g++-9-cxx11-on-mr | ||||
| 
 | ||||
| run-tests-g++-9-cxx11-off-mr: | ||||
|   only: | ||||
|     - merge_requests | ||||
|   extends: .run_tests | ||||
|   variables: | ||||
|     EIGEN_CI_CXX_COMPILER: g++-9 | ||||
|     EIGEN_CI_CC_COMPILER: gcc-9 | ||||
|   dependencies: | ||||
|     - build-tests-g++-9-cxx11-off-mr | ||||
							
								
								
									
										289
									
								
								ci/test.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								ci/test.gitlab-ci.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,289 @@ | ||||
| .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 | ||||
|   allow_failure: true | ||||
|   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 | ||||
|   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 | ||||
|   variables: | ||||
|     EIGEN_CI_TEST_LABEL: "Official" | ||||
| 
 | ||||
| test:x86-64:linux:gcc-10:cxx11-on:unsupported: | ||||
|   extends: .test:x86-64:linux:gcc-10:cxx11-on | ||||
|   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 | ||||
|   variables: | ||||
|     EIGEN_CI_TEST_LABEL: "Official" | ||||
| 
 | ||||
| test:aarch64:linux:gcc-10:cxx11-off:unsupported: | ||||
|   extends: .test:aarch64:linux:gcc-10:cxx11-off | ||||
|   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 | ||||
|   variables: | ||||
|     EIGEN_CI_TEST_LABEL: "Official" | ||||
| 
 | ||||
| test:aarch64:linux:gcc-10:cxx11-on:unsupported: | ||||
|   extends: .test:aarch64:linux:gcc-10:cxx11-on | ||||
|   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 | ||||
|   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 | ||||
|   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" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 David Tellenbach
						David Tellenbach