Another thing that I think may help us saving some CI time and that affects most of the projects is pyenv build. There was a change made to the zuul jobs that implements usage of stow. So we spend time on building all major python version in images and doing instant select of valid binary in jobs, rather then waiting for pyenv build during in pipelines.
Hmm, I guess I didn't realize most of the projects were spending time on this, but it looks like a good thread to chase. I've been digging through devstack looking for opportunities to make things faster lately. We do a ton of pip invocations, most of which I think are not really necessary, and the ones that are could be batched into a single go at the front to save quite a bit of time. Just a pip install of a requirements file seems to take a while, even when there's nothing that needs installing. We do that in devstack a lot. We also rebuild the tempest venv several times for reasons that I don't understand. So yeah, these are the kinds of things I'd really like to see people spend some time on. It is an investment, but worth it because the multiplier is so large. The CI system is so awesome in that it's just a tool that is there and easy to build on. But just like anything that makes stuff easy initially, there are often gaps entombed around quick work that need to be revisited over time. So, thanks for bringing this up as a potential thread for improvement! --Dan