<div dir="ltr"><div dir="ltr">On Wed, 10 Nov 2021 at 14:10, Simon Moll <<a href="mailto:Simon.Moll@emea.nec.com">Simon.Moll@emea.nec.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We should be able to bring that down. clang-ve-ninja currently builds<br>
everything from scratch (and it's all static - i'd love to have working<br>
shared component libraries for faster/incremental builds).<br>
<br>
We are also considering a second, faster builder that only builds and<br>
tests LLVM+Clang. That would be the canary for any issues with the VE<br>
backend.<br></blockquote><div> </div><div>IIUC, your builder is an x86_64 machine cross testing on a VE target. </div><div><br></div><div>If the canary builder doesn't run anything on VE hardware, then after VE is official, it won't be different than any other x86_64 builder building/testing VE.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Once D113093 is in, clang-ve-ninja is expected to be green.<br>
We can call that the stable state - everything that's tested is<br>
supposed to work and any red-ness implies breakage.<br></blockquote><div><br></div><div>Excellent! Make sure once green that the bot be moved to the production server. Check with Galina to make sure you're on the right place.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This may be a good moment to mention that the compiler-rt patch<br>
disables tests that will never work on VE - there is no fp denormal<br>
support, for example.<br></blockquote><div><br></div><div>Ah, right, so then permanently disabled is the right thing to do, no need for bugzilla entries.</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">We add a new staging buildbot that builds everything clang-ve-ninja<br>
does plus the yet-unsupported features that we are currently working<br>
on.<br></blockquote><div><br></div><div>If you do that, make sure you add it to the staging server (or a private one). This bot cannot notify people of breakages (email, IRC, nothing).</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Initially, that bot will be 'red' while the official one has to be kept<br>
'green'. Once we are confident about the feature/runtime - both bots<br>
are 'green' - we will make the official bot test that feature, thereby<br>
declaring the feature official. The staging bot will turn to new<br>
experimental features.<br></blockquote><div><br></div><div>Once it's official, and green, move the bot to the production (noisy) server and create a new one for new features in the staging one.</div><div><br></div><div>Once the target is out of experimental, every buildbot that doesn't restrict the targets it builds (most bots) will build VE and run its LIT tests.<br></div><div><br></div><div>Because you're the VE code owner, if your target breaks other people's bots, developers will (hopefully) notify you, too.</div><div><br></div><div>So your strategy would have at the very least three (classes of) bots:</div><div><br></div><div>1. Fast "canary" bot, building only Clang and LLVM and running LIT tests (maybe you'll want to add some cross-VE testing here, too)</div><div><br></div><div>2. Slow complete bot, building everything that is supposed to be supported. This can be multiple bots with different configurations or one huge build.</div><div><br></div><div>3. A staging (silent) build with new stuff that the team is working on. This can also be different bots, totally up to the team, and doesn't even need to be public.</div><div><br></div><div>I did a similar division for Arm and we've been doing it since for Arm 32 and 64. Even if we use the same server for multiple bots, it's easier to debug breakages when we build less stuff.</div><div><br></div><div>cheers,</div><div>--renato</div></div></div>