[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",
]