Skip to content

Commit 1873289

Browse files
Use cargo-check-all-features in CI #614
2 parents f9dc286 + bfd622d commit 1873289

File tree

3 files changed

+34
-2
lines changed

3 files changed

+34
-2
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ jobs:
4747
with:
4848
prefix-key: ${{ env.RUST_CACHE_KEY }}
4949
- run: sudo apt update && sudo apt-get install pkg-config libx11-dev libasound2-dev libudev-dev
50+
- run: cargo install cargo-all-features
5051
- name: Clippy for bevy_rapier2d
5152
run: cargo clippy --verbose -p bevy_rapier2d
5253
- name: Clippy for bevy_rapier3d
@@ -61,6 +62,8 @@ jobs:
6162
run: cargo test --verbose -p bevy_rapier3d
6263
- name: Test for no conflicting system order ambiguity
6364
run: cargo run --bin ambiguity_detection
65+
- name: Check all features individually
66+
run: cargo check-all-features
6467
test-wasm:
6568
runs-on: ubuntu-latest
6669
env:

bevy_rapier2d/Cargo.toml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ simd-nightly = ["rapier2d/simd-nightly"]
4848
serde-serialize = ["rapier2d/serde-serialize", "bevy/serialize", "serde"]
4949
enhanced-determinism = ["rapier2d/enhanced-determinism"]
5050
headless = []
51-
picking-backend = ["bevy/bevy_picking"]
51+
picking-backend = ["bevy/bevy_picking", "bevy/bevy_render"]
5252
async-collider = [
5353
"bevy/bevy_asset",
5454
"bevy/bevy_scene",
@@ -81,3 +81,17 @@ bevy_mod_debugdump = "0.12"
8181
[package.metadata.docs.rs]
8282
# Enable all the features when building the docs on docs.rs
8383
features = ["debug-render-2d", "serde-serialize"]
84+
85+
[package.metadata.cargo-all-features]
86+
87+
denylist = ["simd-nightly"]
88+
89+
# Features "dim2" and "dim3" are incompatible, so skip permutations including them
90+
skip_feature_sets = [["enhanced-determinism", "simd-stable"]]
91+
92+
always_include_features = ["dim2"]
93+
94+
# The maximum number of features to try at once. Does not count features from `always_include_features`.
95+
# This is useful for reducing the number of combinations run for a crate with a large amount of features,
96+
# since in most cases a bug just needs a small set of 2-3 features to reproduce.
97+
max_combination_size = 1

bevy_rapier3d/Cargo.toml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ simd-nightly = ["rapier3d/simd-nightly"]
4949
serde-serialize = ["rapier3d/serde-serialize", "bevy/serialize", "serde"]
5050
enhanced-determinism = ["rapier3d/enhanced-determinism"]
5151
headless = []
52-
picking-backend = ["bevy/bevy_picking"]
52+
picking-backend = ["bevy/bevy_picking", "bevy/bevy_render"]
5353
async-collider = [
5454
"bevy/bevy_asset",
5555
"bevy/bevy_scene",
@@ -83,6 +83,21 @@ bevy_egui = "0.31"
8383

8484
[package.metadata.docs.rs]
8585
# Enable all the features when building the docs on docs.rs
86+
features = ["debug-render-3d", "serde-serialize"]
87+
88+
[package.metadata.cargo-all-features]
89+
90+
denylist = ["simd-nightly"]
91+
92+
# Features "dim2" and "dim3" are incompatible, so skip permutations including them
93+
skip_feature_sets = [["enhanced-determinism", "simd-stable"]]
94+
95+
always_include_features = ["dim3"]
96+
97+
# The maximum number of features to try at once. Does not count features from `always_include_features`.
98+
# This is useful for reducing the number of combinations run for a crate with a large amount of features,
99+
# since in most cases a bug just needs a small set of 2-3 features to reproduce.
100+
max_combination_size = 1
86101

87102
[[example]]
88103
name = "picking3"

0 commit comments

Comments
 (0)