screwdriver icon indicating copy to clipboard operation
screwdriver copied to clipboard

Allow a stage to be declared as an upstream for another stage

Open sagar1312 opened this issue 1 year ago • 0 comments

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.

sagar1312 avatar Feb 27 '24 21:02 sagar1312