Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.24 KiB
# SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
# SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception

---
include:
  - project: 'core/ci-config'
    ref: master
    file: 'config/common/master.yml'
  - project: 'core/ci-config'
    ref: master
    file: 'jobs/common/master.yml'

# See https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
      when: never
    - if: $CI_COMMIT_BRANCH

before_script:
  - . /duneci/bin/duneci-init-job

variables:
  DUNECI_TEST_LABELS: quick
  DUNE_TEST_EXPECTED_VC_IMPLEMENTATION: SSE2
  PIP_DEFAULT_TIMEOUT: 0
  # Note: DUNE_RUNNING_IN_CI only needed unti ci image updating fixed on gitlab
  DUNECI_CMAKE_FLAGS: '-DDUNE_RUNNING_IN_CI=TRUE'
  DUNE_LOG_LEVEL:     DEBUG

ubuntu:20.04 gcc-9-17-expensive:
  extends: .common
  # This image has Vc
  image: registry.dune-project.org/docker/ci/ubuntu:20.04
  # allow expensive tests
  variables:
    DUNECI_CXXFLAGS: -mavx
    DUNECI_TEST_LABELS: ""
    DUNECI_TOOLCHAIN: gcc-9-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

ubuntu:20.04 gcc-9-17-nopython:
  extends: .common
  image: registry.dune-project.org/docker/ci/ubuntu:20.04
  variables:
    DUNECI_TOOLCHAIN:  gcc-9-17
    DUNECI_CMAKE_FLAGS: '-DCMAKE_DISABLE_FIND_PACKAGE_Python3=TRUE'

debian:11 clang-11-20-nobindings:
  extends: .common
  image: registry.dune-project.org/docker/ci/debian:11
  variables:
    DUNECI_TOOLCHAIN: clang-11-20
    DUNECI_CMAKE_FLAGS: '-DDUNE_ENABLE_PYTHONBINDINGS=OFF'

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