As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
A 10 minute read covering some YAML edge-cases that you should have in mind when writing complex YAML files
If you write your own tooling then it’s great. The vast majority of us are using other people’s tooling and have to deal with their imposed complexity. I for one hate GitHub actions with a passion.
None of the complexity of GitHub actions would be solved with any other configuration language. It needs to be a full scripting language at minimum. The problems with GHA have nothing to do with yaml.
You shouldn’t write complex yaml files. Keep it simple and yaml is great. Do complex stuff and you’ll hate your life.
If you write your own tooling then it’s great. The vast majority of us are using other people’s tooling and have to deal with their imposed complexity. I for one hate GitHub actions with a passion.
None of the complexity of GitHub actions would be solved with any other configuration language. It needs to be a full scripting language at minimum. The problems with GHA have nothing to do with yaml.
I’m convinced everybody who told me that “GitHub actions are great!” were just part of one big prank.
I have the same feeling about kubernetes.
Kubernetes seems closer to the top of the tower of Babel than to the basement. Part of it anyway.
If you keep it simple, then probably JSON is easier. In other cases too.
JSON is not easier for most strings. Anything multiline for example.
But yaml is a superset of JSON so you literally can use JSON and it’s still valid YAML.
I wouldn’t call those examples complex
The description of the post said “complex yaml files”.
I think that proves the author’s point. I also think you’re right in regards to the comment you replied to.