Normally a pipeline breaks down into stages such that each stage has one or more jobs. In order to stop the pipeline from running conditionally, you simply fail that stage of the pipeline.
For example let's assume I have a pipeline with four stages,
[Build] -> [Test] -> [Version Bump] -> [Publish]
Now, let's assume the Version Bump may or may not bump the version number which means the Publish stage may or may not run. In order to model this in GitLab we would normally fail the Version Bump stage at the point that we know the Publish should not run. But one of my co-workers does not like the term "fail" here.
Given the above circumstance, is it a normal flow to have a stage pass unconditionally, and to have a subsequent stage conditionally execute?
Or, is the pipeline failing just the way in which a pipeline should conditionally terminate?
semantic-release) doesn't support it either. Moreover, even if they did support it semver is clear that build numbers can't determine version precedence. So it's hard to reconcile that theory with the ecosystem we're working with. But the answer is still useful because that text is probably what he read too and it's nice to have an idea of where he got this. Any other things come to mind to solve this? – Evan Carroll Mar 30 '22 at 05:371.0.0+build1and1.0.0+build2and (3) npm allowed us to publish both, then when the client requested version1.0.0there would be no mechanism for deciding which+build1or+build2to provide, they're both equal. – Evan Carroll Mar 30 '22 at 05:45