This process is common for modern languages with modern tooling and that's a good thing.
The Rust project has a tool called `crater` that can build all crates in crates.io and run their tests, a process that takes a couple of days. It also has a github bot that allows running crater on PRs on demand.
This is super super useful and something that all programming languages should have. It allows you to:
* make sure that a new Rust release doesn't break code that compiled with old releases.
* assess the impact of a PR implementing a breaking change (e.g. due to a bug fix)
* obtain quantitative data about language usage for language evolution.
This last point is probably the most impactful. When I was working on C++, a question like "How much people are doing X?" would often come up.
What did we do? Stakeholders in C++ meetings would travel back home, grep their codebases for the X pattern, and report back 6 months later. And that's it. That's all evidence we were hoping to get. And this was often super biased due to different coding guidelines and styles in the different companies.
In Rust, you open a PR that makes doing X trigger a compilation error, schedule a crater run, and get a list of all places in all crates in crates.io where the error is triggered. This gives you quantitative information about how often is X done in the wild, and you can then go and analyze the code doing X and obtain even more information.
It's hard to convey how important this is. You'll never have to read discussions about "I've never seen X in the wild" vs "I see X in the wild all the time". Those discussions make no sense when you have a tool that can actually tell you the answer. Every programming language being evolved today should have something like this.