# configuration for https://github.com/sagiegurari/cargo-make [config] skip_core_tasks = true [tasks.default] alias = "ci" [tasks.ci] description = "Run continuous integration tasks" dependencies = ["lint-style", "check", "clippy", "test", "build", "changelog"] [tasks.lint-style] description = "Lint code style (formatting, typos, docs)" dependencies = ["lint-format", "lint-typos", "lint-docs"] [tasks.lint-format] description = "Lint code formatting" toolchain = "nightly" command = "cargo" args = ["fmt", "--all"] [tasks.lint-typos] description = "Run typo checks" install_crate = { crate_name = "typos-cli", binary = "typos", test_arg = "--version" } command = "typos" [tasks.lint-docs] description = "Check documentation for errors and warnings" toolchain = "nightly" command = "cargo" args = ["rustdoc", "--lib", "--", "-Zunstable-options", "--check", "-Dwarnings"] [tasks.lint-dependencies] description = "Lint crate dependencies" toolchain = "nightly" command = "cargo" args = ["deny", "check", "all"] [tasks.check] description = "Check code for errors and warnings" command = "cargo" args = ["check"] [tasks.build] description = "Compile the project" command = "cargo" args = ["build"] [tasks.clippy] description = "Run Clippy for linting" command = "cargo" args = [ "clippy", "--all-targets", "--tests", "--benches", "--", "-D", "warnings", ] [tasks.install-nextest] description = "Install cargo-nextest" install_crate = { crate_name = "cargo-nextest", binary = "cargo-nextest", test_arg = "--help" } [tasks.test] description = "Run tests" run_task = { name = ["test-lib", "test-doc"] } [tasks.test-lib] description = "Run default tests" dependencies = ["install-nextest"] command = "cargo" args = ["nextest", "run", "--all-targets", "--all-features"] [tasks.test-doc] description = "Run documentation tests" command = "cargo" args = ["test", "--doc"] [tasks.changelog] description = "Generate changelog" install_crate = { crate_name = "git-cliff", binary = "git-cliff", test_arg = "--help" } command = "git" args = [ "cliff", "-o", "CHANGELOG.md", ]