I’ve run into this with overly complicated Jenkins pipeline files as well. I think the root cause is just that a single entry point pipeline is boring— everyone wants a CI config that sets statuses and posts results and does things in parallel and interacts with plugins, and every one of those steps is something that is at least semi unique to the CI execution environment.
I think the method you describe is still absolutely how it should be, but this types of interactions are why there’s gravity in the other direction.
>every one of those steps is something that is at least semi unique to the CI execution environment.
Apart from triggers and environment set up none of those things have to be unique.
I often push complex CI logic in YAML into code where it is more easily debugged and I dont have to scratch my head to figure out how to use conditionals. Sending slack messages should always be in code IMHO.
I think the method you describe is still absolutely how it should be, but this types of interactions are why there’s gravity in the other direction.