Do we want statically typed CI workflows? #1512
-
There is a Kotlin DSL for writing GitHub Actions workflows in a fully statically type-checked manner. It compiles to YAML and there are also automated mechanisms for checking that the compiled workflow is current with edits to the Kotlin file. What would be even nicer, in a Rust project like this one, would be a Rust DSL, which I expect may be possible to create, but as far as I have been able to find, there is not one. Should we use github-workflows-kt? This would address some of the headaches of writing workflows in YAML. It should also allow pieces of workflows to be written once and reused, even without writing a composite action or reusable workflow. Rust programmers are likely to value the benefits of being statically typed. But Rust programmers are also more likely to know YAML than Kotlin. I'm not sure how much that matters, because the DSL seems rather intuitive--here's an example of it in use--and the subtleties of YAML syntax, especially with respect to strings, are substantial enough that merely knowing YAML is not always sufficient to protect one from them. I say this as someone who does not know Kotlin. I think the biggest reasons why maybe this should not be done, which are inapplicable for projects that are otherwise making significant use of Kotlin but applicable here, are:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Beta Was this translation helpful? Give feedback.
Yes, indeed I'd still prefer to focus on leveraging the existing IDE support to the fullest to make the YAML experience better.