Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • Ansgar Burchardt's avatar
    Ansgar Burchardt committed
    ---
    
      - project: 'core/ci-config'
    
    René Heß's avatar
    René Heß committed
        ref: master
    
        file: 'config/common/master.yml'
      - project: 'core/ci-config'
    
    René Heß's avatar
    René Heß committed
        ref: master
    
        file: 'jobs/common/master.yml'
    
    before_script:
      - . /duneci/bin/duneci-init-job
    
    
    variables:
      DUNECI_TEST_LABELS: quick
    
      DUNE_TEST_EXPECTED_VC_IMPLEMENTATION: SSE2
    
    debian:10 gcc-7-17--expensive:
    
      # This image has Vc
    
      image: registry.dune-project.org/docker/ci/debian:10
    
      script: duneci-standard-test
    
      stage: test
    
      # allow expensive tests
    
      variables:
    
        DUNECI_CXXFLAGS: -mavx
    
        DUNECI_TEST_LABELS: ""
    
        DUNECI_TOOLCHAIN: gcc-7-17
    
        DUNE_TEST_EXPECTED_VC_IMPLEMENTATION: AVX
    
      # require AVX to properly test Vc
      tags: [duneci, "iset:avx"]
      # allowed to fail to e.g. do no hold up a merge when a runner supporting avx
      # is unavailable
      allow_failure: true
    
    Andreas Dedner's avatar
    Andreas Dedner committed
    
    
    debian-11-gcc-9-17-python:
    
      image: registry.dune-project.org/docker/ci/debian:11
    
    Andreas Dedner's avatar
    Andreas Dedner committed
      script: duneci-standard-test
    
      stage: test
    
    Andreas Dedner's avatar
    Andreas Dedner committed
      variables:
        DUNECI_TOOLCHAIN:  gcc-9-17
        # so we need some variables to build the dune-py module during execution of the first python test:
        # we need to find the dune mdoule
        DUNE_CONTROL_PATH:  /duneci/modules:$CI_PROJECT_DIR
        # the position for the dune-py module
        DUNE_PY_DIR:       /duneci/modules/dune-py
        # during dune-py build this variable is used - do know a way to access
        # the CMAKE_FLAGS used to build the modules...
    
        DUNE_CMAKE_FLAGS:   "CC=gcc-9 CXX=g++-9 -DCMAKE_CXX_FLAGS='-std=c++17 -O2 -g -Wall -fdiagnostics-color=always' -DDUNE_ENABLE_PYTHONBINDINGS=ON -DDUNE_MAX_TEST_CORES=4 -DBUILD_SHARED_LIBS=TRUE -DDUNE_PYTHON_INSTALL_LOCATION=none -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_LATEX=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Alberta=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Vc=TRUE -DCMAKE_DISABLE_DOCUMENTATION=TRUE"
    
    Andreas Dedner's avatar
    Andreas Dedner committed
        # cmake flags we use for all dune moudle - important is that build shared libs is set (need some better way of doing this)
        DUNECI_CMAKE_FLAGS: $DUNE_CMAKE_FLAGS
        # finally set the python path to all modules
        PYTHONPATH:        $CI_PROJECT_DIR/build-cmake/python
      tags: [duneci]
    
    
    system-test:
      stage: downstream
      variables:
        CI_BUILD_REF_NAME: $CI_COMMIT_REF_NAME
        DUNECI_TEST_LABELS: ""
      trigger:
        project: infrastructure/dune-nightly-test
        branch: core
        strategy: depend
      allow_failure: true