<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span id="m_8192852635994605707gmail-docs-internal-guid-952f7661-7fff-a650-81f8-04c04b495952" style="color:rgb(0,0,0)"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-family:Arial;font-size:11pt;white-space:pre-wrap">Folks,</span><br></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">I am pleased to announce the move of libc++ to pre-commit CI. Over the past few months, we have set up Buildkite jobs on top of the Phabricator integration built by Mikhail and Christian, and we now run almost all of the libc++ build bots whenever a Phabricator review is created. The bots also run when a commit is pushed to the master branch, similarly to the existing Buildbot setup. You can see the libc++ pipeline in action here: <a href="https://buildkite.com/llvm-project/libcxx-ci" target="_blank">https://buildkite.com/llvm-project/libcxx-ci</a>.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">This is great -- we’ve been waiting to set up pre-commit CI for a long time, and we’ve seen a giant productivity gain since it’s up. I think everyone who contributes to libc++ greatly benefits, seeing how reviews are now used to trigger CI and improve our confidence in changes.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">This change does have an impact on existing build bots that are not owned by one of the libc++ maintainers. While I transferred the build bots that we owned (which Eric had set up) to Buildkite, the remaining build bots will have to be moved to Buildkite by their respective owners. These builds bots are (owners in CC):</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-x86_64-linux-debian</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-x86_64-linux-debian-noexceptions</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-x86_64-linux-debian</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-singlethreaded-x86_64-linux-debian</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-armv7-linux</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-armv8-linux</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-armv7-linux-noexceptions</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-armv8-linux-noexceptions</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-aarch64-linux</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">    libcxx-libcxxabi-libunwind-aarch64-linux-noexceptions</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">The process of moving these bots over to Buildkite is really easy. Please take a look at the documentation at <a href="https://libcxx.llvm.org/docs/AddingNewCIJobs.html#addingnewcijobs" target="_blank">https://libcxx.llvm.org/docs/AddingNewCIJobs.html#addingnewcijobs</a> and contact me if you need additional help.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">To make sure we get the full benefits of pre-commit CI soon, I would like to put a cutoff date on supporting the old libc++ builders at <a href="http://lab.llvm.org:8011/builders" target="_blank">http://lab.llvm.org:8011/builders</a>. I would propose that after </span><span style="font-size:11pt;font-family:Arial;font-weight:700;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">January 1st 2021 (approx. 1 month from now)</span><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">, the libc++ specific build bots at <a href="http://lab.llvm.org">lab.llvm.org</a></span><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap"> be removed in favor of the Buildkite ones. If you currently own a bot, please make sure to add an equivalent Buildkite bot by that cutoff date to make sure your configuration is still supported, or let me know if you need an extension.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">Furthermore, with the ease of creating new CI jobs with this infrastructure, </span><span style="font-size:11pt;font-family:Arial;font-weight:700;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">we will consider any libc++ configuration not covered by a pre-commit bot as not explicitly supported</span><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">. It doesn’t mean that such configurations won’t work -- it just means that we won’t be making bold claims about supporting configurations we’re unable to actually test. So if you care about a configuration, please open a discussion and let’s see how we can make sure it's tested properly!</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">I am thrilled to be moving into the pre-commit CI era. The benefits we see so far are huge, and we're loving it.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">Thanks,</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">Louis</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">PS: This has nothing to do with a potential move or non-move to GitHub. The current pre-commit CI works with Phabricator, and would work with GitHub if we decided to switch. Let’s try to keep those discussions separate :-).</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:11pt;font-family:Arial;font-variant-ligatures:normal;font-variant-east-asian:normal;vertical-align:baseline;white-space:pre-wrap">PPS: We’re still aiming to support non libc++ specific Buildbots. For example, if something in libc++ breaks a Clang bot, we’ll still be monitoring that. I’m just trying to move the libc++-specific configurations to pre-commit.</span></p><br></span></div></div></div>