Debugging CI pipelines is so annoying, why is there no better way than committing a bunch of dumb changes until it works?
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
That's why half of my pipelines are just scripts now, so I can run large chunks of them locally. But yeah, commit, test, commit, test, commit, test drive me insane.
I like the approach of ci pipelines just running a make command or at least a script, so that it's easy to run locally too before pushing the changes up.
Holy shit, does that pipeline take 20 friggin minutes? What in the world?
Do you think that is too slow or too fast? Many of the CICD pipelines I work with take much longer than that. We have integration tests that deploy a fresh Kubernetes instance, install our software stack into it, and run several test suites against it.
If I am working on bug found by a pipeline that takes more than a couple minutes to run, it is generally worth my time to figure out how to run the failing test individually on my dev machine. That approach does not help when I am debugging issues with the pipeline itself.
At least for all the things I've worked on 10 minutes are considered unbearable. 20 means it'll be forgotten because a new task has been started.
What do you while waiting for the CI? Practice fencing?
This one in particular takes around an hour to run. It deploys a bunch of resources to Azure and runs a all of our integration tests. It does a complete wipe and redeploy each time, so it takes a while. Fortunately, this pipeline is only run as a final test before prompting to production, so normally I only run it once a month or so. While it's running I'll work on my pull requests, release notes, closing user stories, etc.
That's amateur numbers. We've hit 45 minutes+!
Do you put the version in each commit? That seems painful
No Azure DevOps automatically increments it every time you run the pipeline.