I recently asked on the fediverse:
If you're a programmer and use a continuous integration system to build, test, and maybe deliver or deploy the software, what's your biggest annoyance or gripe? (Whatever CI system you use.)
I got a bunch of answers. Follow the link above for all of them, here is a biased summary:
- it's too hard to write the specification for how a project should be
built, tested, delivered, and deployed ("the pipeline")
- it's easy to make mistakes
- when something breaks, debugging is hard, partly because it is done remotely
- it's easy to make mistakes, even catastrophic ones
- even everything goes well, it takes too long for a pipeline to run
successfully
- concurrency is hard to exploit, especially correctly
- it's hard to only build/test what is affected by changes, so many pipelines spend a lot of resources on building and testing everything
- some people really don't like YAML, especially large amounts of YAML
The summary is biased, as that's what I was expecting to hear, based on personal experience.
I have been thinking about some solutions to annoyances like these, but I'm not yet ready to speak about them publicly. I hope to at least make a proof of concept prototype example demonstration of what I have in mind before I open up. (Which might mean I never do.)
Those willing to pay me my consulting rates to work on this please get in touch privately.