# allow_failure: true makes these pipelines manual and "non-blocking" which changed with except -> rule syntax
.optional-release:
  stage: check
  rules:
    - if: $CI_PIPELINE_SOURCE != "merge_request_event" || $CI_PIPELINE_SOURCE == "schedule" || ( $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $TAG_REGEX )
      when: never
    - when: manual
      allow_failure: true

# Template to only run if pushes to master, schedule or a version tag
.release:
  stage: build
  rules:
    - if: $CI_PIPELINE_SOURCE != "merge_request_event" && ( $CI_PIPELINE_SOURCE == "schedule" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || ( $CI_COMMIT_TAG != null && $CI_COMMIT_TAG =~ $TAG_REGEX ) )
      when: on_success
    - when: never
  retry:
    max: 1