[config] min_version = "0.35.0" [env] CI_CARGO_TEST_FLAGS = { value = "--locked -- --nocapture", condition = { env_true = [ "CARGO_MAKE_CI", ] } } CARGO_MAKE_CARGO_ALL_FEATURES = { source = "${CARGO_MAKE_RUST_CHANNEL}", default_value = "--features=std,serde,num-traits,bytemuck,zerocopy", mapping = { "nightly" = "--all-features" } } CARGO_MAKE_CLIPPY_ARGS = { value = "${CARGO_MAKE_CLIPPY_ALL_FEATURES_WARN}", condition = { env_true = [ "CARGO_MAKE_CI", ] } } # Override for CI flag additions [tasks.test] args = [ "test", "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)", "@@split(CARGO_MAKE_CARGO_BUILD_TEST_FLAGS, )", "@@split(CI_CARGO_TEST_FLAGS, )", ] # Let clippy run on non-nightly CI [tasks.clippy-ci-flow] condition = { env_set = ["CARGO_MAKE_RUN_CLIPPY"] } # Let format check run on non-nightly CI [tasks.check-format-ci-flow] condition = { env_set = ["CARGO_MAKE_RUN_CHECK_FORMAT"] } [tasks.check-docs] description = "Checks docs for errors." category = "Documentation" install_crate = false env = { RUSTDOCFLAGS = "-D warnings" } command = "cargo" args = [ "doc", "--workspace", "--no-deps", "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)", "${CARGO_MAKE_CARGO_ALL_FEATURES}", ] # Build & Test with no features enabled [tasks.post-ci-flow] run_task = [{ name = ["check-docs", "build-no-std", "test-no-std"] }] [tasks.build-no-std] description = "Build without any features" category = "Build" env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" } run_task = "build" [tasks.test-no-std] description = "Run tests without any features" category = "Test" env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" } run_task = "test"