https://gitlab.com/tezos/tezos
Raw File
Tip revision: a82007688d8b9072e6eeed189939ac2d60044da7 authored by Julien Coolen on 18 August 2022, 14:28:20 UTC
try
Tip revision: a820076
.gitlab-ci.yml
---

# General setup
default:
  interruptible: true

# Basic configuration to guard against double-pipelines
workflow:
  rules:
    # This workflow entry allows pipelines for schedules events in which case it checks the
    # TZ_SCHEDULE_KIND which must be set in the pipeline scheduling interface
    # In either case it sets the TZ_PIPELINE_KIND variable to allow jobs to
    # selectively run on some pipelines but not all.
    # See https://docs.gitlab.com/ee/ci/yaml/README.html#workflow for additional
    # details.
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $TZ_SCHEDULE_KIND == "EXTENDED_TESTS"'
      variables:
        TZ_PIPELINE_KIND: "SCHEDULE"
      when: always
    # Switch between branch pipelines and merge request pipelines.
    # https://docs.gitlab.com/13.12/ee/ci/yaml/README.html#switch-between-branch-pipelines-and-merge-request-pipelines
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS'
      when: never
    # This workflow entry allows pipelines for push events (including force-push, push of fixup commits, rebase, etc.)
    - if: '$CI_PIPELINE_SOURCE == "push"'
      when: always
    - when: never # default

# The "manual" stage exists to fix a UI problem that occurs when mixing
# manual and non-manual jobs.
stages:
  - trigger
  - sanity
  - build
  - test
  - test_coverage
  - packaging
  - doc
  - build_release
  - publish_release
  - manual

# All the jobs belonging to a stage X should be in
# .gitlab/ci/X.yml. The stage "manual" is an exception to this rule,
# as jobs of that stage are not logically related.

# If the configuration for stage X is long, it can be broken up in
# subfiles .gitlab/ci/X/a.yml, .gitlab/ci/X/b.yml, etc (see e.g. the
# stage test).

# Finally, templates shall not be defined in one stage file and used
# in another. That is, a template defined in test.yml shall not be
# used in doc.yml (but it's fine to use it in a subfile test/X.yml).

include:
  - .gitlab/ci/templates.yml

  # Actual jobs are defined in these included files

  - .gitlab/ci/trigger.yml
  - .gitlab/ci/packaging.yml
  - .gitlab/ci/opam-ci.yml
  - .gitlab/ci/sanity.yml
  - .gitlab/ci/build.yml
  - .gitlab/ci/test/templates.yml
  - .gitlab/ci/test/lints.yml
  - .gitlab/ci/test/unit.yml
  - .gitlab/ci/test/integration.yml
  - .gitlab/ci/test/liquidity-baking-scripts-integrity.yml
  - .gitlab/ci/test/tezt.yml
  - .gitlab/ci/doc.yml
  - .gitlab/ci/doc/test-scripts.yml
  - .gitlab/ci/build_release.yml
  - .gitlab/ci/publish_release.yml

  # The job `unified_coverage` must have the same name on merge requests and the default branch
  # /!\ Limitations of using rules with include:
  # https://docs.gitlab.com/ee/ci/yaml/includes.html#use-variables-with-include
  # Only run on merge requests that do not have the label `ci--no-coverage`
  - local: .gitlab/ci/test_coverage.yml
    rules:
      - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_LABELS !~ /(?:^|[,])ci--no-coverage(?:$|[,])/'
  # Only run on default branch
  - local: .gitlab/ci/test_coverage_default.yml
    rules:
      # Cannot use TEZOS_DEFAULT_NAMESPACE here, see limitations above
      - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
back to top