# 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