News for hackers. Stuff that matters.
Re:Cicada – A FOSS, Cross-Platform Version of GitHub Actions... by dosisod on Monday November 06, 2023 @05:43PM (#38170195)
Creator of Cicada here. Thank you for the feedback! I've mentioned this in a few threads already, but the reason for making a new DSL for writing the workflows is that YAML makes it hard/cumbersome to express more complex workflows. Using a programming language though gives you more control over how your workflows execute. While there are already plenty of tools that use existing programming languages (ie, Python/TypeScript) to configure workflows, having a custom DSL allows you to make some of the more abstract terms like caching, conditional execution, permissions, etc. more explicit.

To your last point, I have experience with using CD in production, but not to the scale where I have builds stepping over each other and causing issues. I agree that serial builds are important in this case, and is something that I will need to look into (conceptually it sounds pretty simple).

Re:Cicada – A FOSS, Cross-Platform Version of GitHub Actions... by danpalmer on Tuesday November 07, 2023 @04:41AM (#38174944)
Awesome! I think serial builds should be fairly simple to implement if you can tie it back to a transaction in a data store.

I get the DSL desire, and I feel I've already lost the "YAML is fine" battle elsewhere so that's not a problem. I think a language like jsonnet or cue would have been a better choice simply because they don't involve users learning a new language or you from implementing a new language. Both would have allowed plugging in your own standard library of functions and abstractions.

Re:Cicada – A FOSS, Cross-Platform Version of GitHub Actions... by melezhik on Sunday November 12, 2023 @03:03PM (#38243603)
You might want to check out the SparrowCI - it has combination of yaml AND standard programming languages ( Python/Ruby/GoLang/Powershell/Bash/Raku) giving you the best of two worlds - declarative style and extremely flexible flows when required