Independent jobs would cause accidents by allowing users to run releasing builds without passing tests.
It would be better that users can choose to enable independent jobs or not.
relates to: https://github.com/screwdriver-cd/screwdriver/issues/1497
We can reduce accidents caused by independent jobs by adding setting (e.g.
screwdriver.cd/restrictJobStart) which controls independent jobs under pipeline-level annotation.
I assume specifications of the setting as below:
annotations:
screwdriver.cd/restrictJobStart: true
jobs:
test:
requires: [~pr ~commit]
deploy:
requires: [ test ]
true or not specified (by default), all independent jobs in the pipeline are disabledfalse, all independent jobs in the pipeline are enabled@jithin1987 What do you think of this feature? Please tell me if you have any concerns.
I'm worried we're adding too many settings at the pipeline-level. Can we put the setting under a pipeline-level annotation? Something like:
annotations:
screwdriver.cd/restrictJobStart: true
jobs:
test:
requires: [~pr, ~commit]
deploy:
requires: [test]
@tkyi Thank you for your comment.
I agree with the idea that we should not add too many settings at the pipeline-level. It seems to be better to put the setting under a pipeline-level annotation.
The key name restrictJobStart also nicer 馃槃
If not any other concerns, we would like to start to implement this feature.
@yokawara I am good with this proposal and like the syntax proposed by @tkyi .
Most helpful comment
I'm worried we're adding too many settings at the pipeline-level. Can we put the setting under a pipeline-level annotation? Something like: