On Tue, Mar 08, 2022 at 04:17:00PM +0100, Tim Düsterhus wrote: > William > > On 3/8/22 16:06, William Lallemand wrote: > > Also, I'm wondering if we could also cache the build of HAProxy, you > > could think that weird, but in fact it will help relaunch the tests when > > one is failing, without rebuilding the whole thing. > > Please don't. You always want to run a clean build, otherwise you're > going to get super-hard-to-debug failures if some object file is > accidentally taken from the cache instead of a clean build. >
The cache is supposed to be done once the build is valid, if the build are not reproducible I think we have a bigger problem here, we are not supposed to trigger random behavior of the compiler. > I've heard that redoing a single failed build instead of the full matrix > is already on GitHub's roadmap, so the problem will solve itself. > Maybe but that will still build HAProxy for nothing, if you have an example of an unreproduicible build case with HAProxy I'm fine with this statement but honestly nothing come to my mind. Even if one of the distribution component is broken during a lapse of time, the problem will reappear without the cache. > > Let me know if we can improve the attached patch, otherwise I'll merge > > it. > > > > I don't like it. As you say: It's ugly and introduces complexity for a > mere 8 second gain. Sure, we should avoid burning the planet by wasting > CPU cycles in CI, but there's a point we're the additional complexity > results in a maintenance nightmare. I don't really see where there is complexity, it's just a curl to get an ID, and I don't have the impression that the github cache is not working corretly since we are using it with the ssl libraries. The build is conditioned by a unique if statement and a simple sh oneliner. It's not really 8s, it's 8s per job, and someting not everything is run in parallel, without mentionning private repositories where the time is accounted. Also that was also a way that could be used for quictls which still takes a lot of time. -- William Lallemand