This avoids building the compiler by default I think.
Hmm, "by default" is a tricky metric -
x.py setup library sets the default stage to 0, so
x.py build library/std no longer builds the compiler by default, but
x.py build will still build the compiler and all tools. At some point I want to add different entry points for x.py, so it can change the default behavior or give hard errors if you try to do something that doesn't make sense in context: Add different entry points for x.py · Issue #396 · rust-lang/compiler-team · GitHub
Apart from these things there isn't much more compile times that can be saved with something like Gitpod. If you change the compiler for example, you may also need to compile the compiler from scratch using itself.
Yup I agree with this - the only way I can see pre-built images being useful is having a pre-built incremental cache or something? That's a lot of CI time though, since currently we don't use incremental for CI artifacts, and it also doesn't help with full builds (which I know at least @Mark_Simulacrum says he uses almost exclusively). It would also be a truly enormous image, I think incremental caches use about 25-30 GB of disk space right now.