Working on a polyglot (Java/Go/JavaScript) at work, it really seems like build and CI systems are two halves of the same thing, which should be built together. I built my dependency graph once for make, and now I have to do it again for Gitlab CI… and keep them in sync forever.