▲ | DrBazza 5 days ago | |
> use a Makefile instead I was making a general comment that your build should be a single 'command'. Personally, I don't care what the command is, only that it should be a) one command, and b) 100% runnable on a dev box or a server. If you use make, you'll soon end up writing... shell scripts, so just use a shell script. In an ideal world your topmost command would be a build tool:
Unfortunately, the second you do that ^^^, someone edits your CI/CD to add a step before the build starts. It's what people do :(All the cruft that ends up *in CI config*, should be under version control, and inside your single command, so you can debug locally. | ||
▲ | chubot 5 days ago | parent [-] | |
That's exactly why the "main" should be shell, not make (see my sibling reply). So when someone needs to add that step, it becomes:
This is better so you can run the whole thing locally, and on different CI providersIn general, a CI is not a DAG, and not completely parallel -- but it often contains DAGs |