3 ms·
I find YAML distressingly hard to work with. Just one example- because it’s white space delimited, copying and pasting a block of code will often blow up betwee
by topkai22 7y ago
I find YAML distressingly hard to work with. Just one example- because it’s white space delimited, copying and pasting a block of code will often blow up between docs based on nesting levels. This is intensely frustrating when the setting is tied to a CI pipeline that takes 5 minutes to get to the error.
The human unreadability if JSON is greatly exaggerated. While you can get horrible looking JSON, you can also then pretty print it into something much better. If we could just all agree to allow comments into a spec it’d be fine.
- morelisp 7y ago> This is intensely frustrating when the setting is tied to a CI pipeline that takes 5 minutes to get to the error. I also detest this, but it's not really about YAML - it's ridiculous that so many of our tools no longer allow any validation / linting of files before attempting to use them; some that do require the "full service" running to provide sufficient context; even those that don't don't always give good (i.e. consistent, structured) errors. This problem would remain if the format was JSON, TOML, or even XML when working without schemas for every namespace. The worst is the tools that layer Jinja on top of the YAML (Salt/Ansible/Puppet) which is basically impossible to validate statically. At least with GitLab, Docker Compose, and Kubernetes I have some hope - but integration into other tools is awful.
- williamdclt 7y agoCircleCI has a CLI, you can `circleci config validate` (or something like that) and it will check that what you wrote is valid YAML and that it's a valid CircleCI config (so syntaxical and semantic validation). Very useful, one of the many thing that make me prefer Circle over the other solutions I tried (Travis, Jenkins and a couple other I forget)