Earlier quoted context omitted.
There are various things that can be a reasonable candidate for the "top level" build entrypoint, including Nix, bazel, docker bake, and probably more I'm not thinking of. They all have an entrypoint that doesn't have a ton of flags or nonsense, and operate in a pretty self contained environment that they set up and manage themselves. Overall I'm not a fan of wrapping things; if there are flags or options on the top-…
Fortunately most CI/CD systems expose an environment variable during the build so you can detect most of those situations and still write a script that runs locally on a developer box. Our wrapping is 'minimal', in that you can still run bazel build //... or cmake ... and get the same build artefacts as running: build.bash release My current company is fanatical about read-only for just about every system we have (a…
I expect this is largely a concession to the reality that most autotools projects still expect an in-source build, not to mention Python wanting to spray pyc files and build/dist directories all over the place.