▲ | wiether 8 hours ago | |
Basically what we ended up doing at work is creating some kind of YAML generator. We write Bash or Python, and our tool will produce the YAML pipeline reflecting it. So we dont need to maintain YAML with over-complicated format. The resulting YAML is not meant to be read by an actual human since its absolute garbage, but the code we want to run is running when we want, without having to maintain the YAML. And we can easily test it locally. | ||
▲ | easterncalculus 6 hours ago | parent [-] | |
I work on a monorepo that does this using Typescript, for type checking. It's a mess. Huge learning curve for some type checking that very often will build perfectly fine but fail a type-check in CI. Honestly, just having a linter should be enough. Ideally, anything complicated in your build should just be put into a script anyways - it minimizes the amount of lines in that massive YAML file and the potential for merge conflicts when making small changes. |