diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f966b503..5d09cfee 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -46,6 +46,7 @@ jobs: with: prefix-key: ${{ env.RUST_CACHE_KEY }} - run: sudo apt update && sudo apt-get install pkg-config libx11-dev libasound2-dev libudev-dev + - run: cargo install cargo-all-features - name: Clippy for bevy_rapier2d run: cargo clippy --verbose -p bevy_rapier2d - name: Clippy for bevy_rapier3d @@ -58,6 +59,8 @@ jobs: run: cargo test --verbose -p bevy_rapier2d - name: Test for bevy_rapier3d run: cargo test --verbose -p bevy_rapier3d + - name: Check all features individually + run: cargo check-all-features test-wasm: runs-on: ubuntu-latest env: diff --git a/bevy_rapier2d/Cargo.toml b/bevy_rapier2d/Cargo.toml index 4a626709..87d9c1da 100644 --- a/bevy_rapier2d/Cargo.toml +++ b/bevy_rapier2d/Cargo.toml @@ -76,3 +76,17 @@ bevy_mod_debugdump = "0.12" [package.metadata.docs.rs] # Enable all the features when building the docs on docs.rs features = ["debug-render-2d", "serde-serialize"] + +[package.metadata.cargo-all-features] + +denylist = ["simd-nightly"] + +# Features "dim2" and "dim3" are incompatible, so skip permutations including them +skip_feature_sets = [["enhanced-determinism", "simd-stable"]] + +always_include_features = ["dim2"] + +# The maximum number of features to try at once. Does not count features from `always_include_features`. +# This is useful for reducing the number of combinations run for a crate with a large amount of features, +# since in most cases a bug just needs a small set of 2-3 features to reproduce. +max_combination_size = 1 diff --git a/bevy_rapier3d/Cargo.toml b/bevy_rapier3d/Cargo.toml index b5d18c47..5693a69a 100644 --- a/bevy_rapier3d/Cargo.toml +++ b/bevy_rapier3d/Cargo.toml @@ -76,3 +76,17 @@ bevy_egui = "0.31" [package.metadata.docs.rs] # Enable all the features when building the docs on docs.rs features = ["debug-render-3d", "serde-serialize"] + +[package.metadata.cargo-all-features] + +denylist = ["simd-nightly"] + +# Features "dim2" and "dim3" are incompatible, so skip permutations including them +skip_feature_sets = [["enhanced-determinism", "simd-stable"]] + +always_include_features = ["dim3"] + +# The maximum number of features to try at once. Does not count features from `always_include_features`. +# This is useful for reducing the number of combinations run for a crate with a large amount of features, +# since in most cases a bug just needs a small set of 2-3 features to reproduce. +max_combination_size = 1