| .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" |