# 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 =~ /^v[0-9]+\.[0-9]+\.[0-9]+/ || $CI_COMMIT_REF_NAME =~ /^r[0-9]+\.[0-9]+/ when: never - when: manual allow_failure: true # Template to only run if pushes to master, a version tag, or release branch happened .release: stage: build rules: - if: $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_PIPELINE_SOURCE != "schedule" && ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+/ || $CI_COMMIT_REF_NAME =~ /^r[0-9]+\.[0-9]+/) when: on_success - when: never retry: max: 1 # Template to only run if pushes to master or a tag happened for scheduled builds # This is a temporary fix until Airshipper can use a different mechanism of identifying jobs it should take # artifacts from. Once this is done the air-* jobs can be removed. .release-scheduled: stage: build-nightly rules: - if: $CI_PIPELINE_SOURCE == "schedule" && ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+/ || $CI_COMMIT_REF_NAME =~ /^r[0-9]+\.[0-9]+/) when: on_success - when: never retry: max: 1