fix: various crate/clippy/ci changes (#181)

* crate: Set default binary to gamedig-cli

* crate: Fix bad no-default-features option on gamedig-id dependency

* ci: Run tests when Cargo.toml changes

* id-tests: Clippy fixes
This commit is contained in:
Tom 2024-01-18 13:34:05 +00:00 committed by GitHub
parent 0f9bada4f3
commit 32dd486632
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 12 additions and 11 deletions

View file

@ -6,49 +6,49 @@ repos:
- id: clippy - id: clippy
name: Check clippy name: Check clippy
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-clippy -- --workspace --all-features -- -D warnings entry: rustup run --install nightly-2023-07-09 cargo-clippy -- --workspace --all-features -- -D warnings
- id: build-no-features - id: build-no-features
name: Check crate build with no features name: Check crate build with no features
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: cargo check --workspace --no-default-features entry: cargo check --workspace --no-default-features
- id: build-all-features - id: build-all-features
name: Check crate builds with all features name: Check crate builds with all features
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: cargo check --workspace --all-features --lib --bins --examples entry: cargo check --workspace --all-features --lib --bins --examples
- id: test - id: test
name: Check tests pass name: Check tests pass
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: cargo test --workspace --bins --lib --examples --tests --all-features entry: cargo test --workspace --bins --lib --examples --tests --all-features
- id: format - id: format
name: Check rustfmt name: Check rustfmt
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: rustup run --install nightly-2023-07-09 cargo-fmt --check entry: rustup run --install nightly-2023-07-09 cargo-fmt --check
- id: msrv - id: msrv
name: Check MSRV compiles (lib only) name: Check MSRV compiles (lib only)
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: rustup run --install 1.65 cargo check -p gamedig entry: rustup run --install 1.65 cargo check -p gamedig
- id: docs - id: docs
name: Check rustdoc compiles name: Check rustdoc compiles
language: system language: system
files: '[.]rs$' files: '([.]rs|Cargo\.toml)$'
pass_filenames: false pass_filenames: false
entry: env RUSTDOCFLAGS="-D warnings" cargo doc entry: env RUSTDOCFLAGS="-D warnings" cargo doc

View file

@ -7,6 +7,7 @@ description = "A command line interface for gamedig"
license = "MIT" license = "MIT"
version = "0.4.1" version = "0.4.1"
edition = "2021" edition = "2021"
default-run = "gamedig-cli"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View file

@ -150,8 +150,8 @@ pub fn test_game_name_rule(
let mut game_names_same = other_game_name_words.len() == game.words.len(); let mut game_names_same = other_game_name_words.len() == game.words.len();
// Check all words in game name are the same // Check all words in game name are the same
if game_names_same { if game_names_same {
for i in 0 .. game.words.len() { for (our_word, their_word) in game.words.iter().zip(other_game_name_words.iter()) {
if game.words[i].to_lowercase() != other_game_name_words[i].to_lowercase() { if our_word.to_lowercase() != their_word.to_lowercase() {
game_names_same = false; game_names_same = false;
break; break;
} }

View file

@ -13,7 +13,7 @@ struct Game {
use gamedig_id_tests::test_game_name_rules; use gamedig_id_tests::test_game_name_rules;
fn main() { fn main() {
let games: GamesInput = if let Some(file) = std::env::args_os().skip(1).next() { let games: GamesInput = if let Some(file) = std::env::args_os().nth(1) {
let file = std::fs::OpenOptions::new().read(true).open(file).unwrap(); let file = std::fs::OpenOptions::new().read(true).open(file).unwrap();
serde_json::from_reader(file).unwrap() serde_json::from_reader(file).unwrap()

View file

@ -38,7 +38,7 @@ phf = { version = "0.11", optional = true, features = ["macros"] }
clap = { version = "4.1.11", optional = true, features = ["derive"] } clap = { version = "4.1.11", optional = true, features = ["derive"] }
[dev-dependencies] [dev-dependencies]
gamedig-id-tests = { path = "../id-tests", no-default-features = true } gamedig-id-tests = { path = "../id-tests", default-features = false }
# Examples # Examples
[[example]] [[example]]