> different steps can run on different machines
This maybe applicable for Javascript projects? We have heavy C++ codebase where the work files are easily tens to hundreds of gigabytes. Not to mention that some build systems care about things like file ctimes, so you cannot even transfer them to a different machine without partial invalidation.
No "machine agnostic" runtime is going to work here, as the act of moving data from one machine to another will be slow enough to negate any advantages.
I want something besides that for the next CI system
Here is a basis I wrote you can start from, I've stepped back from the edge of building a CI system on it for now...
https://github.com/hofstadter-io/hof/tree/_next/examples/env