* [CI] Improve checks
- Adds .actrc so CI actions can be tested locally
- Adds testing for variants of features so changes that break feature
sets like disabling games can be caught
- Adds more of the CI tests to pre-commit
* [CI] Add more feature sets to test
* [CI] Check github actions before comitting
Requires act: https://github.com/nektos/act
* [CI] Add caching between builds
* [CI] Add caching everywhere
* [CI] Add more feature tests
* [CI] Add YAML schemas
* [CI] Disable audit when running locally
This is needed because the audit action requires a GITHUB_TOKEN which we
don't have when running locally.
* [CI] Move clippy to own job and use action that annotates PRs
Using actions-rs/clippy-check means that PRs will problems will
automatically have the relevant lines annotated
* [CI] Don't unnecessarily cache targets for fmt
VERSIONS.md tells you what the current versions for things like MSRV is
and which files you need to update if you change it.
Also fixes the incorrect:
- MSRV in README.md
- nightly version in .pre-commit-config.yaml
These hooks can be installed using [pre-commit], with:
"pre-commit install". Once installed they will prevent you from
committing if the staged code has clippy warnings or hasn't been
formatted. You can skip the pre-commit checks by adding the "-n" flag to
your git commit command.
The hooks also require rustup as the nightly versions of rustfmt and
clippy are used.
[pre-commit]: https://pre-commit.com/