<div dir="ltr">Hi,<div><br></div><div>during LLVM conf we had a roundtable discussing the state of buildbot. Here are the notes of what we discussed.</div><div><br></div><div>The summary is that there's lots of appetite for improving the state of LLVM's infra, with lots of good shorter and longer term ideas (see below).</div><div><br></div><div>Several people were interested in starting an (open for all who are interested) "LLVM infra team", with possibly a dedicated mailing list, and with possibly the powers to make infra changes with just consensus from people on that infra team.</div><div><br></div><div>(Sorry for the delayed email, I wrote this up right after the meeting but forgot to hit "Send".)</div><div><br></div><div>The actual notes:</div><div><br></div><div>Problems with buildbot</div><div>- console view loads slowly</div><div>- many bots take a long time to cycle</div><div>- many bots are perma-red</div><div>- test output on some bots is huge due to the bots printing all tests, not just failing ones, making it difficult to see failing tests</div><div>- it's sometimes difficult to reproduce failures on the bots locally</div><div><br></div><div>Possible improvements</div><div>- display better machine info on all builders (OS, host compiler with detailed version, binutils version, cmake version, ninja version, kernel/userspace bitness)</div><div>- require bots to use a cmake cache file, for easy local matching execution?</div><div>- remove perma-red bots</div><div>- remove slow bots</div><div>-- or put on faster hw, llvm foundation has funds</div><div>--- what about slow boards?</div><div>---- decouple build and test phases?</div><div>---- shard tests over multiple devices?</div><div>- make fast bots trigger slow bots, only when fast builds are successful, for fewer emails</div><div>- have support tier lists?</div><div>-- e.g. tier 0 pledges bots that cycle in < 15 min, in return are on tier 0 waterfall and can revert breakages after ~ 15 min</div><div>-- tier 1 pledges bots that cyclle in < 1 day, can revert breakages after 1 day</div><div>- update buildbot to current version?</div><div>-- lots of api changes</div><div>- have pre-commit tests</div><div>-- kuhnel has prototype for this on linux, will send separate announcement, positive reception</div><div>--- several requests to have the same for win</div><div>- move build off buildbot to github actions?</div><div>-- jyknight has prototype, works great, except that custom hardware isn't (yet?) supported, so cycle times are prohibitively long</div><div>- have a dedicated llvm infra team</div><div>-- dedicated llvm-infra mailing list</div><div>-- and group of deciders with llvm foundation's blessing?</div><div>- have a buildbot view that shows only red bots?</div><div>- have an in-tree script for setting up a build + prereqs (eg. new-enough host gcc, gnuwin tools on win, new enough cmake, etc)?</div><div>- current bots don't cover multi-config cmake generators (ie Xcode, msvc before 2019)</div><div>-- explicitly say we don't support those? would allow some cleanups</div><div>--- msvc 2019 cmake support generates ninja builds for both debug and release and calls ninja for the actual build</div><div>--- maybe do something similar for xcode?</div></div>