No, Really, Bash Is Not Enough: Why Large-Scale CI Needs an Orchestrator
iankduncan.comI'm one of the people who posted about using scripts/make in the HN comment thread on the previous blogpost, and I really appreciate the nuance in this followup.
I think what I and others are tripping on in the argument is that the articles seem to be trying to encapsulate everything a CI system can do into one global digraph that includes all build steps for creating artifacts and then all test steps (including unit and integration test).
I would argue that in the quite excellent Build Systems à la Carte paper referenced, the focus is on the first build part, not one all encompassing katamari. Separating build from test has some great advantages, such as being able to reuse build artifacts. Local tools like scripts/make are great for this as they're self contained. That's really the entirety of the past comment, and seems to concur with this article.
Much of the later part is on shared resource issues. If you need an orchestrator because tools are badly behaved and try to grab and hold finite resources, is that the right decision? Or is it the tools that should be fixed or avoided?