Hello!
I have a job that is created as such:
Deploy Test:
# ...
environment:
name: $CI_COMMIT_REF_SLUG-$PLATFORM-$CI_PROJECT_NAME
url: https://$CI_COMMIT_REF_SLUG-$PLATFORM-$CI_PROJECT_NAME.dev.domain.tld
deployment_tier: testing
on_stop: Stop Deploy Test
auto_stop_in: 1 day
script:
- do_something
rules:
- if: '($DEPLOY_STAGE == null || $DEPLOY_STAGE != "") && $CI_MERGE_REQUEST_ID == null'
when: manual
parallel:
matrix:
- PLATFORM: [ chrome, firefox, ios, android ]
I want Stop Deploy Test
to run for each value of PLATFORM
.
This solution is not approved by the linter because Deploy Test: [chrome] job: on_stop job Stop Deploy Test [$PLATFORM] is not defined
:
Stop Deploy Test:
# ...
stage: dev
variables:
GIT_STRATEGY: none
environment:
name: $CI_COMMIT_REF_SLUG-$PLATFORM-$CI_PROJECT_NAME
deployment_tier: testing
action: stop
script:
- tear_down_everything
rules:
- if: '($DEPLOY_STAGE == null || $DEPLOY_STAGE != "") && $CI_MERGE_REQUEST_ID == null'
when: manual
allow_failure: true
parallel:
matrix:
- PLATFORM: [ chrome, firefox, ios, android ]
As pointed out here, I can’t define on_stop: Stop Deploy Test [$PLATFORM]
.
This solution doesn’t work either because the value of $PLATFORM
is missing:
Stop Deploy Test:
# ...
stage: dev
variables:
GIT_STRATEGY: none
environment:
name: $CI_COMMIT_REF_SLUG-$PLATFORM-$CI_PROJECT_NAME
deployment_tier: testing
action: stop
script:
- tear_down_everything
rules:
- if: '($DEPLOY_STAGE == null || $DEPLOY_STAGE != "") && $CI_MERGE_REQUEST_ID == null'
when: manual
allow_failure: true
I really don’t want to create 4 duplicated jobs (yes, I know I can use templates).
Any lead?