Releases: mpalmer/action-validator
Support+test negative globs
action-validator
will now fail if a negative glob doesn't match any file paths in the repository.
Thanks to Kurtis Rainbolt-Greene (@krainboltgreene) for the initial implementation.
Loosen the requirements on runs-on
GitHub have finally admitted defeat in their attempts to keep any sort of structure to the runs-on
directive, so we're following suit.
Thanks to Victor Sollerhed (@MPV) for the PR.
Updated schemas
Nothing big for this release, just an updated version of the schemas for workflows and actions that we use to validate whether the document is well-formed.
Binary releases for the correct architecture!
It turns out that if you don't tell Rust to build for a particular target, it... doesn't build for that target.
That meant that all those arm64 binaries we were building were actually x86_64 binaries.
Well now, hopefully, they're not.
Executable executables are good
This release is intended to fix a deficiency in the pre-commit
support, so that the script referred to by the .pre-commit-hooks.yaml
file is actually executable.
Remove wee_alloc from WASM builds
Turns out that wee_alloc
is deprecated (or at least unsupported, per #33), and so it's better if we don't offer it as an option for WASM builds.
Apologies to the many, many people who no doubt have started using the WASM builds with wee_alloc
already. 😁
Thanks to Ben Heidemann (@bcheidemann) for the PR (#37).
This release is also an attempt to provide something for pre-commit
to grab a hold of, per #35.
wasm builds, multiple filenames, and binaries that support older distros
Three nice features in this release:
-
The pre-built binaries now run on Linux distros that aren't at the bleeding edge of glibc, by linking against musl rather than glibc itself.
Thanks to Matthieu Bizien (@MatthieuBizien) for the PR (#30). -
The CLI now accepts multiple files in one invocation.
Thanks again to Matthieu Bizien (@MatthieuBizien) for the PR (#31). -
NPM packages containing a WASM build of action-validator, both an embeddable library and a CLI, are now available under the
@action-validator
NPM org.
This support is a bit incomplete and I wouldn't go relying on it for critical purposes just yet, but having it in the tree is a good start towards to making it stable and full-featured.
Great thanks to Ben Heidemann (@bcheidemann) for the fairly hefty PR (#26) and sticking to the roundabout of getting it to this point.
Look for future improvements in this area.
The features, keep rolling, along
The flagship of this release is a great new feature from Simon Herbert (@simonherbert), which makes sure that dependencies between jobs in a workflow are valid.
Other improvements:
- Added examples of how to use action-validator in a pre-commit hook and a GitHub workflow, thanks to Mathew Fleisch (@mathewfleisch).
- Fixes for asdf installs on macOS.
- Provide a
--version
option. - All the various installation methods are now documented in the README.
Picky software is picky!
This release only modifies the licence identifier in the Cargo.toml
file, so that upload to crates.io will work.
The "New Years Resolution" release
Starting the new year with a big "tidy up" release.
The biggest change is a bump to the JSON schemas that are the core of this tool.
This means that it's possible that things that were previously (erroneously) allowed will now be caught, and vice versa.
Several bug reports (#14 by @brainstorm and #20 by @airtonix) and PRs (#16, thanks @satanabe1) appear to have been resolved just by this bump.
I've changed the way that the schemas are included, so future "bumps" should be minimally painful.
Two changes to releases:
-
There are now pre-built binaries for Linux and macOS arm64 systems, and the
asdf
integration should correctly install them when asked (in theory; I don't have an arm64 machine to hand to test this). -
action-validator
is now available on crates.io; this means thatcargo install action-validator
should work, if you've got a suitable Rust toolchain laying around.
The unmaintained ansi_term
library has been removed as a transitive dependency (#17), which avoids any chance of problems in the future.
I've included an e2e test suite in the repo, which gets run on every push to GitHub.
It should provide early warning of problems that may crop up in the future, and provides a neat and simple way for people to provide PRs with examples of problems they find.