You can mitigate it a bit by simulating many rides in virtual reality--which Waymo is absolutely doing already--but add enough cities and that would get really expensive really quickly, even by Google standards. And you probably couldn't run that world suite of tests for every code submission, or even on a nightly candidate.
You have a neural network which inspects the code change, and predicts which tests/scenarios might be affected (a change in the vision system is unlikely to affect the handbrake tests for example). You run only the most likely to fail tests. A test which hasn't been run for a long time is more likely to fail, since more code changes were done since it was last tested, so all tests end up being run on a semi-random schedule.
When any test fails, you then run back through time, bisecting every revision till you find the code commit which caused the failure.
At that point, depending on your engineering workflow, you either create a ticket to an engineer to fix this commit to pass the test before the next release, or you auto-revert that commit.
An autonomous car is inherently a system, and you need a deep suite of integration tests, regularly run and covering all possible cases, to believe you're even approaching vehicle safety. The wider you space out when any given integration test is run, the harder it becomes to fix. And if a given test only runs once per week, sooner or later (sooner with a sufficiently large test suite) you're going to hit a place where auto-reverting the commit breaks additional tests.
And when that happens, unless you put a global lock on new code entering the system, it might be impossible to fix the regression. And putting a global lock on new code submission will make new feature development extremely slow and expensive.
By the way, that's 20k from Jaguar. Don't forget the thousands of Chrysler minivans that they ordered.