We’re having an issue using rules with environments / review apps on gitlab.com where the pipeline becomes blocked if we use rules
instead of when
. We expect the pipeline to automatically stop using rules, as documented.
Pipeline blocked. The pipeline for this merge request requires a manual action to proceed
If we manually trigger the stop job, the pipeline is considered complete.
Should this work or must we revert to only/except
?
only/except
syntax:
review:
environment:
name: $CI_COMMIT_REF_SLUG
on_stop: stop:review
script:
- echo "review"
stage: review
stop:review:
environment:
action: stop
name: $CI_COMMIT_REF_SLUG
except:
- master
- tags
script:
- echo "stop"
stage: review
variables:
GIT_STRATEGY: none
when: manual
rules
syntax:
review:
environment:
name: $CI_COMMIT_REF_SLUG
on_stop: stop:review
script:
- echo "review"
stage: review
stop:review:
environment:
action: stop
name: $CI_COMMIT_REF_SLUG
rules:
# Avoid executing on merge request detached pipelines
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME'
when: never
# Execute only on branches (not master)
- if: '$CI_COMMIT_BRANCH != "" && $CI_COMMIT_BRANCH != "master"'
when: manual
script:
- echo "stop"
stage: review
variables:
GIT_STRATEGY: none