<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 20, 2021 at 9:56 AM Louis Dionne <<a href="mailto:ldionne.2@gmail.com">ldionne.2@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 19, 2021 at 1:39 PM Mehdi AMINI <<a href="mailto:joker.eph@gmail.com" target="_blank">joker.eph@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 19, 2021 at 9:37 AM Louis Dionne via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 19, 2021 at 12:45 AM Michael Kruse <<a href="mailto:llvmdev@meinersbur.de" target="_blank">llvmdev@meinersbur.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Am Mo., 18. Okt. 2021 um 15:19 Uhr schrieb Louis Dionne <<a href="mailto:ldionne.2@gmail.com" target="_blank">ldionne.2@gmail.com</a>>:<br>
> Nowadays, we handle all libc++'s own build bots through BuildKite at <a href="https://buildkite.com/llvm-project/libcxx-ci" rel="noreferrer" target="_blank">https://buildkite.com/llvm-project/libcxx-ci</a>.<br>
<br>
I didn't know. Good that there is systematic testing, but I am a bit<br>
concerned about the fracturing of the CI infrastructure (Buildbot,<br>
Green dragon, GitHub actions, Buildkite, ...)<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif">For libc++/libc++abi/libunwind, it's actually quite simple. There's exactly one place to look, and it's BuildKite. And it runs systematically on all changes.</div></div></div></div></blockquote><div><br></div><div>Did you find a solution for having blamelist and blame emails on BuildKite? </div></div></div></blockquote><div> </div><div><div style="font-family:arial,helvetica,sans-serif">No, but I haven't tried. My experience so far has been that I've never had the need for a blamelist. Since we test everything pre-commit, you always know when one of your patch fails because you see it before it's been committed, in Phabricator. Actual breakage on main is incredibly rare nowadays and it pretty much only happens when someone (usually myself) is too keen on checking something in before CI is finished (oops!). There's never a lot of suspicious commits on main since the last build, so this isn't a problem we've encountered.</div><div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">I guess your experience can vary based on the commit traffic to the project and how diligent people are at testing everything pre-commit, of course.</div></div></div></div></blockquote><div><br></div><div>There are other aspects:</div><div>- as the commit traffic increases, you can't necessarily test everything in sequence (Rust does, but their maintainers also have to manually bundle pull-request together: they are limited to ~7 merges per day), so concurrent merges can interact with each other and break master.</div><div>- as the matrix of configurations increase, it does not seems possible to just test everything (HW: PPC, SystemZ, X86, Arm, Arm64, Risc  <i>TIMES</i> the OSes Mac, Windows, Linux, FreeBSD <i>TIMES</i> the host compilers gcc 5/6/7/..., clang, MSVC, ... <i>TIMES</i> sanitizers build), plus some things like the multi-stages bootstrap and such.</div><div><br></div><div>So in practice yeah I believe blamelist and notification are a must for LLVM and the monorepo, libc++ may be "too small" to be representative of the scale there.</div></div></div>