[llvm-dev] Pre-commit CI with libc++

Tom Stellard via llvm-dev llvm-dev at lists.llvm.org
Tue Nov 24 11:17:34 PST 2020


On 11/24/20 10:29 AM, Louis Dionne via llvm-dev wrote:
> Folks,
> 
> 
> 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: 
> https://buildkite.com/llvm-project/libcxx-ci.
> 
> 
> 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.
> 
> 
> 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):
> 
> 
>      libcxx-libcxxabi-x86_64-linux-debian
> 
>      libcxx-libcxxabi-x86_64-linux-debian-noexceptions
> 
>      libcxx-libcxxabi-libunwind-x86_64-linux-debian
> 
>      libcxx-libcxxabi-singlethreaded-x86_64-linux-debian
> 
> 
>      libcxx-libcxxabi-libunwind-armv7-linux
> 
>      libcxx-libcxxabi-libunwind-armv8-linux
> 
>      libcxx-libcxxabi-libunwind-armv7-linux-noexceptions
> 
>      libcxx-libcxxabi-libunwind-armv8-linux-noexceptions
> 
>      libcxx-libcxxabi-libunwind-aarch64-linux
> 
>      libcxx-libcxxabi-libunwind-aarch64-linux-noexceptions
> 
> 
> The process of moving these bots over to Buildkite is really easy. 
> Please take a look at the documentation at 
> https://libcxx.llvm.org/docs/AddingNewCIJobs.html#addingnewcijobs and 
> contact me if you need additional help.
> 
> 
> 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 
> http://lab.llvm.org:8011/builders. I would propose that after January 
> 1st 2021 (approx. 1 month from now), the libc++ specific build bots at 
> lab.llvm.org <http://lab.llvm.org>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.
> 

Does this mean there will no longer be post-commit CI for libcxx?

-Tom

> 
> Furthermore, with the ease of creating new CI jobs with this 
> infrastructure, we will consider any libc++ configuration not covered by 
> a pre-commit bot as not explicitly supported. 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!
> 
> 
> 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.
> 
> 
> Thanks,
> 
> Louis
> 
> 
> 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 :-).
> 
> 
> 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.
> 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 



More information about the llvm-dev mailing list