Remix.run Logo
recursivedoubts 2 days ago

Programming in YAML has always seemed crazy to me. Actions seem like a great place to create a simple mixed imperative/declarative scripting language (js extension or whatever) with a solid instrumented/observable/debuggable runtime and an OO API that can be run locally against mock infrastructure.

bastardoperator 2 days ago | parent | next [-]

No thanks, Jenkins has three DSL languages and none of it is good. You dont have to inline code in yaml, you can call a script and call it day, write that script in any language you want.

cenamus 2 days ago | parent | next [-]

You can do the same in jenkins, but a bit of scripting is probably more readable in Groovy than whatever Yaml dsl.

But I totally agree that the Jenkins langs are terrible, the errors even worse, somehow they managed to make jvm backtraces even more unreadable.

LelouBil 2 days ago | parent [-]

I don't know why they don't pivot to Kotlin.

Gradle did it successfully and it's great now.

cenamus a day ago | parent [-]

Don't they have a major thing going on with CSP (as with Scheme) that sort ot persists pipeline state automatically? That would allow you to kill Jenkins and afterwards restart the pipeline from exactly where you left off?

But I never tried it personally

lstodd 2 days ago | parent | prev [-]

idk I always just wrote shell to be called by jenkins. none of this idiocy of programming with html comboboxes. DSL for the domain is shell, no need to invent hyperwheels here.

fuzzy2 2 days ago | parent | prev | next [-]

YAML isn't the problem. It's that every single action is basically curl-to-sudo-bash. Even disregarding the security implications, the ergonomics are truly horrendous. They were with Azure DevOps and they certainly are with GitHub Actions. Bad interfaces, surprising behavior, it's got it all.

CI must only consist of shell commands. No abstractions, no surprises. (Except maybe with PowerShell, where the principle of most surprise rules.)

dnnddidiej 2 days ago | parent | prev | next [-]

Having tried Pulumi for IaC I am not a fan. Pulumi is excellent but the concept is what I am not keen on. It is a rabbit hole for devs and it allows complexity where in Yaml you are forced to KISS.

pydry 2 days ago | parent | prev [-]

The YAML is way less concerning than the lack of any decent tooling to test and debug the code.

renegade-otter 2 days ago | parent [-]

When GHA were dead simple, there were projects simulating it locally. It's not possible anymore, and one had to burn a tens of hours just to develop the pipeline.

LelouBil 2 days ago | parent [-]

There is this : https://github.com/nektos/act