How do I exit a pipeline early without failure?

@agapanthusblue, I’m joining a bit late but I didn’t see any mentions of manual jobs. Have you considered them?

For example, create the complete pipeline in your gitlab-ci.yml but use rules:when:manual on the conditional jobs. At the end of the job that always runs and decides the conditional, use the jobs API to find the ID of the manual jobs in your pipeline and then start the required ones using a play call.

No, I hadn’t considered manual jobs. That’s interesting.

I don’t like it as well as self cancel for my current application but I can see places where it might be useful. Thanks.

Yes, reading it again I agree the self-cancel approach is a lot simpler.