* protocols: Fix building without the "games" feature
* crate/lib: Add required features for examples
This prevents cargo from running the examples if the required features
aren't enabled.
* ci: Run if ANY Cargo.toml files are changed
* ci: Make sure to run unit tests
* ci: Separate checks for library and CLI
* ci: Add slightly better comments
* ci: Only run deeper tests for CLI or LIB when their files were changed
* ci: Improve act arguments for testing actions locally
* ci: Fix pre-commit not running tests
* ci: Only update shared cache after the initial build
* ci: Make sure that rustup downloads get cached
* tidy: Clean up file formatting
* ci: Fix issue with audit
* [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