1[config] 2min_version = "0.35.0" 3 4[env] 5CI_CARGO_TEST_FLAGS = { value = "--locked -- --nocapture", condition = { env_true = [ 6 "CARGO_MAKE_CI", 7] } } 8CARGO_MAKE_CARGO_ALL_FEATURES = { source = "${CARGO_MAKE_RUST_CHANNEL}", default_value = "--features=std,serde,num-traits,bytemuck,zerocopy", mapping = { "nightly" = "--all-features" } } 9CARGO_MAKE_CLIPPY_ARGS = { value = "${CARGO_MAKE_CLIPPY_ALL_FEATURES_WARN}", condition = { env_true = [ 10 "CARGO_MAKE_CI", 11] } } 12 13# Override for CI flag additions 14[tasks.test] 15args = [ 16 "test", 17 "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)", 18 "@@split(CARGO_MAKE_CARGO_BUILD_TEST_FLAGS, )", 19 "@@split(CI_CARGO_TEST_FLAGS, )", 20] 21 22# Let clippy run on non-nightly CI 23[tasks.clippy-ci-flow] 24condition = { env_set = ["CARGO_MAKE_RUN_CLIPPY"] } 25 26# Let format check run on non-nightly CI 27[tasks.check-format-ci-flow] 28condition = { env_set = ["CARGO_MAKE_RUN_CHECK_FORMAT"] } 29 30[tasks.check-docs] 31description = "Checks docs for errors." 32category = "Documentation" 33install_crate = false 34env = { RUSTDOCFLAGS = "-D warnings" } 35command = "cargo" 36args = [ 37 "doc", 38 "--workspace", 39 "--no-deps", 40 "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)", 41 "${CARGO_MAKE_CARGO_ALL_FEATURES}", 42] 43 44# Build & Test with no features enabled 45[tasks.post-ci-flow] 46run_task = [{ name = ["check-docs", "build-no-std", "test-no-std"] }] 47 48[tasks.build-no-std] 49description = "Build without any features" 50category = "Build" 51env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" } 52run_task = "build" 53 54[tasks.test-no-std] 55description = "Run tests without any features" 56category = "Test" 57env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" } 58run_task = "test" 59