image: dorie/dune-env:2.5.1 variables: DUNE_CONTROL_PATH: /opt/dune:$CI_PROJECT_DIR DUNECONTROL: ./dune-common/bin/dunecontrol CMAKE_FLAGS: -DDUNE_PYTHON_VIRTUALENV_SETUP=True -DDUNE_PYTHON_ALLOW_GET_PIP=True MAKE_FLAGS: -j 2 before_script: - cd /opt/dune stages: - build - test - deploy build:main: stage: build script: - CMAKE_FLAGS="$CMAKE_FLAGS" MAKE_FLAGS="$MAKE_FLAGS" $DUNECONTROL --only=dorie all artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake expire_in: 1 day build:update_dune: stage: build only: - master script: - $DUNECONTROL update - CMAKE_FLAGS="$CMAKE_FLAGS" MAKE_FLAGS="$MAKE_FLAGS" $DUNECONTROL --module=dorie all artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake expire_in: 1 day build:debug: stage: build allow_failure: true script: - CMAKE_FLAGS=" $CMAKE_FLAGS -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS_DEBUG='-Werror'" MAKE_FLAGS="$MAKE_FLAGS" $DUNECONTROL --only=dorie all test:exec_cmds: stage: test dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make test_dorie_exec artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing expire_in: 1 day test:ode: stage: test dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make test_run_ode artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing expire_in: 1 day test:ode-update_dune: stage: test dependencies: - build:update_dune only: - master script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make test_run_ode artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing expire_in: 1 day test:parallel: stage: test dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make test_run_parallel artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing expire_in: 1 day test:reference: stage: test dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make test_run_ref artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/Testing expire_in: 1 day deploy:build_docs: stage: deploy dependencies: - build:main script: - $DUNECONTROL --only=dorie configure - $DUNECONTROL --only=dorie make doc artifacts: name: "$CI_JOB_NAME" paths: - $CI_PROJECT_DIR/build-cmake/doc expire_in: 1 week