Many have mentioned just, but I'm a much bigger fan of Earthly [0].
It allows you to write something similar to a Makefile, but everything runs in Docker. This gets you isolated builds with parallelism and caching built-in.
I've found it to be great especially for small to medium projects. For some examples, I use it to publish my personal site/blog [1] and to build a C/C++/Fortran/Rust cross-compiler targeting macOS [2].
It allows you to write something similar to a Makefile, but everything runs in Docker. This gets you isolated builds with parallelism and caching built-in.
I've found it to be great especially for small to medium projects. For some examples, I use it to publish my personal site/blog [1] and to build a C/C++/Fortran/Rust cross-compiler targeting macOS [2].
[0]: https://earthly.dev/
[1]: https://github.com/shepherdjerred/sjer.red/blob/main/Earthfi...
[2]: https://github.com/shepherdjerred/macos-cross-compiler/blob/...