The action-validator is a standalone tool designed to "lint" the YAML files used to define GitHub Actions and Workflows. It ensures that they are well-formed, by checking them against published JSON schemas, and it makes sure that any globs used in paths / paths-ignore match at least one file in the repo.
The intended use case for action-validator is in Git pre-commit hooks and similar situations.
Funding Development
I am currently experimenting with ways to fund development of new features in action-validator. You can find more details of this approach at the action-validator code fund page.
Installation
We have many ways to install action-validator.
Pre-built binaries
The GitHub releases have some pre-built binaries -- just download and put them in your path. If a binary for your platform isn't available, let me know and I'll see what I can figure out.
Using cargo
If you've got a Rust toolchain installed, running cargo install action-validator should give you the latest release.
Using asdf
If you're a proponent of the asdf tool, then you can use that to install and manage action-validator:
asdf plugin add action-validator
# or
asdf plugin add action-validator https://github.com/mpalmer/action-validator.gitInstall/configure action-validator:
# Show all installable versions
asdf list-all action-validator
# Install specific version
asdf install action-validator latest
# Set a version globally (on your ~/.tool-versions file)
asdf set -u action-validator latest
# Now action-validator commands are available
action-validator --helpUsing mise
If you are a passionate user of mise, then you can use that to install and manage action-validator:
No need to declare the plugin, it's already known by mise.