Comment by hamandcheese
2 days ago
I was pleased to see that this has CI pipeline support, but am saddened to see that it looks roughly GitHub-actions shaped.
I don't see the point in writing a sequence of serial steps in YAML. A bash script can already do that. YAML configuration for pipelines should be focused on expressing the dependencies of a DAG, not the serial execution of a program.
Buildkite got this right.
The point of doing it declaratively is that you can easily expose all that information in the UI, and process it to set up the pipeline in the first place (multiple runners, which OS they run, dependencies between steps).
I agree most of your `run` steps should just be one or two lines to call out to another script though, and you shouldn't split things into multiple steps unless necessary.
How does Buildkite do it? Their website doesn't seem clear but it looks like it also uses YAML, you can just use a script to generate it. Gitlab supports that somewhat awkwardly, and I've definitely had one project where that would have been useful (though I couldn't convince my colleagues to do it).
I don't think it would be difficult to add support for it anyway.