screwdriver
screwdriver copied to clipboard
Allow a stage to be declared as an upstream for another stage
What happened:
A stage can be configured as an upstream to another stage by including the teardown job of upstream stage in the requires of downstream stage.
Ex:
stages:
integration:
jobs: [ci-deploy, ci-test, ci-certify]
requires: [ publish ]
production:
jobs: [ prod-blue-deploy, prod-blue-test, prod-blue-certify ]
requires: [ stage@integration:teardown ]
When teardown is not explicitly configured for upstream stage in the screwdriver.yaml, but expecting its teardown job to be listed in the requires for downstream stage could be confusing.
What you expected to happen:
Allow a stage (Ex: stage@integration) to be included in the requires of downstream stage.
Ex:
stages:
integration:
jobs: [ci-deploy, ci-test, ci-certify]
requires: [ publish ]
production:
jobs: [ prod-blue-deploy, prod-blue-test, prod-blue-certify ]
requires: [ stage@integration ]
Trigger stage@integration should get converted to stage@integration:teardown when the configuration is parsed.