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