File extension (.yml vs .yaml)

I know this is minutae, but I’m wondering if anyone could shed some light on the reasoning for picking and only supporting .yml over .yaml?

I see this happening in various projects, but it runs counter to yaml’s own recommendation:

In Ghost, we chose .yaml for that reason. It would be great if we (makers of yaml config files) could standardise around one or the other. 

It’s a silly thing, but I noticed this because I automatically used .yaml, and ended up with errors :grimacing:


The difference is just a matter of preference. Some people like to stick to 3 letter extensions as it was back in the old days when file systems were still limited to short names (a little bit of computer history if you want to do some further reading). On modern systems, you can easily use longer file name extensions without any setbacks (unless you have to work with extremely legacy systems/applications that cannot handle it).

As for GitHub actions, it should support both .yml and .yaml just fine (see step 2). What kind of errors are you getting when using .yaml that you do not get when using .yml ?


I know my computer history - I hoped github didn’t choose .yml for such archaic reasons when the language they’re using clearly states to use .yaml. All modern tools use .json, never .jsn and so the persistence of .yml seems to be without basis.

I tried to use actions.yaml and the file wasn’t detected:

Changing the extension to .yml got me past that error:

Ah, you’re including a custom action. I was thinking of workflow files.

Yes, in that case it seems that it is required to call your metadata file actions.yml and only that. Would be nice if .yaml was supported as well, but I guess that would be a feature request for GitHub to consider.

1 Like

Thanks, that seems like a good suggestion.  I’ll open an issue for that internally.