[CI] Improve checks (#71)

* [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
This commit is contained in:
Tom 2023-07-12 20:40:10 +00:00 committed by GitHub
parent fb9d15f0cc
commit a8342296d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 110 additions and 14 deletions

View file

@ -9,9 +9,33 @@ repos:
files: '[.]rs$'
pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-clippy -- -- -D warnings
- id: build-no-features
name: Check crate build with no features
language: system
files: '[.]rs$'
pass_filenames: false
entry: cargo build --no-default-features
- id: build-all-features
name: Check crate builds with all features
language: system
files: '[.]rs$'
pass_filenames: false
entry: cargo build --all-features --lib --bins --examples
- id: format
name: Check rustfmt
language: system
files: '[.]rs$'
pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-fmt --check
- id: msrv
name: Check MSRV compiles
language: system
files: '[.]rs$'
pass_filenames: false
entry: rustup run --install 1.60 cargo build
- id: actions
name: Check actions work
language: system
files: '^[.]github/workflows/'
pass_filenames: false
entry: act -q