Hey Folks,
We’ve been working away on the new LLVM Premerge Infrastructure, and are going to start Beta testing it soon. As we’ve been developing the system it currently only runs on commits, not on PRs. The plan for the Beta test is to keep the current infrastructure in production while enabling PRs to also be tested on the new infrastructure. During beta testing, PRs will have a new Github Actions check labelled LLVM Premerge. Initially we will have these set to pass regardless of whether or not the build/test passes or fails, purely to test the infrastructure.
During Beta we plan to stabilize the infrastructure under the increased load, determine appropriate scaling, and gain confidence in its quality. Once we’re satisfied with the latency and reliability of the new system, we’ll plan a production “launch,” which will mean we’ll deprecate the legacy system and rely on the new one as the “authoritative” system (in as much as the legacy one is) going forward. At that point, we will allow the new checks to fail if the build/tests fail. If you notice any issues with job failures when you do not expect it to be failing, please file an issue on Github.
We’ve set up a public dashboard with analytics tracking the performance of the system here: Grafana
We’re building some documentation in the llvm-zorg repository, you can find it here: llvm-zorg/premerge/README.md at main · llvm/llvm-zorg · GitHub
Lastly, we’ve gathered a few other volunteers within Google and are establishing an on-call rotation with alerting, so you’re likely to see some new names from people working on the new infrastructure. For now we’re only testing the alerting and rotation mechanisms, so there’s no SLA offering, we don’t have complete timezone coverage, and have no coverage outside of business hours.
As always we welcome your feedback, feel free to reach out to @boomanaiden154-1, @Keenuts, or me directly.
Cheers!
Lucile