by DrSarez on 4/29/21, 8:47 PM with 95 comments
by zmmmmm on 4/29/21, 11:24 PM
It's not an accident that we are in a deep cycle of constrained configuration languages (yaml/json/etc etc). People chose to go there because before that we had a cycle of using programming languages and people hated it, for all sorts of good reasons.
Now I see we are on the way back into adding wrappers around the static config files, to turn them back into programming languages. This is happening all over the place - because guess what, it turns out, people hate static config files too, for all sorts of good reasons.
I am not sure if we will ever reach a compromise here or if we are just going to have to put up with endless change and churn because nobody is ever happy or at least willing to just settle for things that are "ok" but not "perfect".
by kmstout on 4/29/21, 10:50 PM
This would represent a quantum leap in software quality assurance.
by octopoc on 4/29/21, 9:47 PM
Nuke [1] gets close but there are still a lot of tasks that don't have C# bindings, such as publishing build artifacts and uploading test results.
While I'm dreaming about my perfect CI, I'd also like the ability to download benchmark results from previous commits so that I can generate trend graphs and publish them in the build results.
To do this right the CI system would have to have an API using REST, GraphQL, gRPC or some such API format that generates clients in many languages. That way they don't have to maintain bindings in every language.
by LennyWhiteJr on 4/30/21, 3:42 AM
by freetime2 on 4/30/21, 7:45 AM
Is this typical? All of our Gitlab CI files are well under 100 lines. What sorts of things are these pipelines doing that require so much configuration?
Our CI steps are basically:
* Build
* Run some static analysis
* Test
* Publish build artifacts
With each step taking only a few lines. Most of the “heavy lifting” is managed by other tools like npm, or some scripts we have checked into the project, and our CI process just kicks off those steps.
by remram on 4/29/21, 11:51 PM
by kissgyorgy on 4/30/21, 8:08 AM
I never understood these project where somebody makes a very easy declarative thing and makes it imperative.
Programming in Python is order of magnitude "harder" and error prone than writing a simple YAML file.
by CSDude on 4/30/21, 10:35 AM
by zie on 4/29/21, 10:29 PM
CI systems will either grow into general purpose code runners or they will wither and die.
by nhoughto on 4/29/21, 9:23 PM
Now we’ve got a pipeline being defined by a declarative file being generated by code.
by nerdbaggy on 4/29/21, 10:01 PM
by aiisjustanif on 4/30/21, 3:58 AM
> “What I have done is generate the yaml programmatically and this gets returned from the web server. Less than ideal but it at least allows dynamic creation”
They amount of polarization in this comment section is making me dizzy.