No notice when pyflakes/shellcheck not available
I just installed actionlint and ran it in my local repo. It produced no output, indicating that everything was fine. However, I was curious, so I ran it with the -verbose flag, which revealed that it was not actually running shellcheck at all, as it could not find it in $PATH.
This strikes me as undesirable behavior; had I not checked the verbose output, I would never have known that shellcheck hadn't been run, meaning that problems could have been missed, causing false negatives. Especially as I thought shellcheck was available. (It turns out the shellcheck binary had been bundled with an editor extension, which allowed me to see errors from it in my editor, but didn't make it available to the system in general.)
Worse, no message appears when the -pyflakes or -shellcheck flags are present, but don't point to a valid location, meaning that even a user who is specifically trying to check for problems of those types doesn't receive notice that no checking is happening.
Ideally, I'd like to see a warning appear when actionlint isn't able to find a dependency in $PATH (possibly with a -silent flag or some such, for those who know they don't care about those checks) and an outright error if -pyflakes or -shellcheck are provided, but point to an invalid location. I certainly feel that learning a command-line flag is being ignored — and with it, requested checks — shouldn't be locked behind the -verbose flag.
Does this seem like a reasonable change?
This was using actionlint 1.6.15 ("installed by downloading from release page", "built with go1.18.3 compiler for linux/amd64") on Ubuntu 22.04.