Type system for Github actions

George Shuklin
OpsOps
Published in
1 min readAug 28, 2021

When someone write a lot in JS, JS starts to consume that person. Github is a good example of such. (When you spoke to JS-digested people about inconsistencies and type systems, they usually can’t even see the issue).

When Github designed their type system, they have a chance to make it good. Or, at least, a sound one.

But they got Object instead of Object which is Object because of NaN.

They do implicit and crazy type casting:

  • Null is casted to empty string.
  • Bools are casted to strings and numbers.
  • String can be parsed as a number if deemed.
  • Case insensitive (Turkish İ, i and I, ı , is i == I ?).
  • Values may be casted to strings if deemed by context.
  • Lists and objects are not allowed as arguments for actions and workflows.
  • Official recommendation is to use fromJSON and toJSON.

I have no enough facepalms to express my angst.

--

--

George Shuklin
OpsOps

I work at Servers.com, most of my stories are about Ansible, Ceph, Python, Openstack and Linux. My hobby is Rust.