# https://taskfile.dev version: "3" tasks: release: desc: build and publish release cmds: - test {{.CLI_ARGS}} - grep -F '"{{.CLI_ARGS}}"' Cargo.toml - cargo publish - git tag {{.CLI_ARGS}} - git push - git push --tags - gh release create --generate-notes {{.CLI_ARGS}} format: desc: run code formatters cmds: - cargo fmt test: desc: run tests cmds: - cargo test test-cov: desc: run tests with coverage report, requires llvm-cov cmds: # https://github.com/taiki-e/cargo-llvm-cov - cargo llvm-cov test - cargo llvm-cov report --cobertura --output-path coverage.xml - cargo llvm-cov report --fail-under-lines 85 lint: desc: run linters cmds: - cargo clippy all: cmds: - task: format - task: lint - task: test default: - task: all