Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • Lars Bilke's avatar
    Lars Bilke committed
    stages:
    
      - preparation
    
    Lars Bilke's avatar
    Lars Bilke committed
      - build
    
      - check
    
    Lars Bilke's avatar
    Lars Bilke committed
      - release
    
    Lars Bilke's avatar
    Lars Bilke committed
      - package
    
    variables:
    
      # Docker image names
    
    Lars Bilke's avatar
    Lars Bilke committed
      CONTAINER_GCC_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/gcc
      CONTAINER_GCC_GUI_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/gcc-gui
      CONTAINER_CLANG_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/clang
    
      XUNIT_TO_JUNIT_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/xunit-to-junit
      PRECOMMIT_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/pre-commit
    
      WEB_IMAGE: $CI_REGISTRY/ogs/$CI_PROJECT_NAME/web
    
      # Build config
      BUILD_TYPE: Release
      BUILD_PROCESSES: "" # Empty string: builds all processes
    
      BUILD_TESTS: "true"
      BUILD_CTEST: "true"
    
    workflow:
      rules:
        # Disable CI for non-MR user-scoped pipelines
        - if: '$CI_MERGE_REQUEST_IID == null && $CI_PROJECT_NAMESPACE != "ogs"'
          when: never
    
        - if: '$CI_MERGE_REQUEST_LABELS =~ /.*workflow:paused.*/'
          when: never
    
        - if: $CI_MERGE_REQUEST_IID                         # merge requests
        - if: $CI_COMMIT_TAG                                # tags, ogs/ogs repo only
        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH       # master, ogs/ogs repo only
        - if: $CI_COMMIT_BRANCH =~ /^v[0-9]\.[0-9]\.[0-9]/  # release branches, e.g. v6.x.x
    
    Lars Bilke's avatar
    Lars Bilke committed
    include:
    
    Lars Bilke's avatar
    Lars Bilke committed
      # extends
    
      - local: '/scripts/ci/extends/defaults.yml'
    
      - local: '/scripts/ci/extends/rules.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/extends/template-build-linux.yml'
      - local: '/scripts/ci/extends/template-build-win.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/extends/container-maker-setup.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/extends/vs2019-environment.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/extends/test-artifacts.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/meta.yml'
    
      - local: '/scripts/ci/jobs/pre-commit.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      # jobs, can be indiviually disabled for testing
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build_image.yml'
    
      - local: '/scripts/ci/jobs/build-linux.yml'
    
      - local: '/scripts/ci/jobs/build-linux-petsc.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-linux-frontend.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-linux-conan.yml'
    
      - local: '/scripts/ci/jobs/build-docs.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-win.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-mac.yml'
    
      # - template: 'Code-Quality.gitlab-ci.yml' # see !3053
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/code-quality.yml'
    
      - local: '/scripts/ci/jobs/code-coverage.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-gui-linux.yml'
      - local: '/scripts/ci/jobs/build-gui-win.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/build-gui-mac.yml'
    
      - local: '/scripts/ci/jobs/check-header.yml'
    
      - local: '/scripts/ci/jobs/clang-sanitizer.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/clang-tidy.yml'
    
    Lars Bilke's avatar
    Lars Bilke committed
      - local: '/scripts/ci/jobs/web.yml'
      - local: '/scripts/ci/jobs/container.yml'
    
      - local: '/scripts/ci/jobs/release.yml'