209 lines
3.8 KiB
TOML
209 lines
3.8 KiB
TOML
interpreter = ["bash", "-euo", "pipefail", "-c"]
|
|
|
|
[[task]]
|
|
name = "engage"
|
|
group = "versions"
|
|
script = "engage --version"
|
|
|
|
[[task]]
|
|
name = "nix"
|
|
group = "versions"
|
|
script = "nix --version"
|
|
|
|
[[task]]
|
|
name = "direnv"
|
|
group = "versions"
|
|
script = "direnv --version"
|
|
|
|
[[task]]
|
|
name = "rustc"
|
|
group = "versions"
|
|
script = "rustc --version"
|
|
|
|
[[task]]
|
|
name = "cargo"
|
|
group = "versions"
|
|
script = "cargo --version"
|
|
|
|
[[task]]
|
|
name = "cargo-fmt"
|
|
group = "versions"
|
|
script = "cargo fmt --version"
|
|
|
|
[[task]]
|
|
name = "rustdoc"
|
|
group = "versions"
|
|
script = "rustdoc --version"
|
|
|
|
[[task]]
|
|
name = "cargo-clippy"
|
|
group = "versions"
|
|
script = "cargo clippy -- --version"
|
|
|
|
[[task]]
|
|
name = "cargo-audit"
|
|
group = "versions"
|
|
script = "cargo audit --version"
|
|
|
|
[[task]]
|
|
name = "cargo-deb"
|
|
group = "versions"
|
|
script = "cargo deb --version"
|
|
|
|
[[task]]
|
|
name = "lychee"
|
|
group = "versions"
|
|
script = "lychee --version"
|
|
|
|
[[task]]
|
|
name = "markdownlint"
|
|
group = "versions"
|
|
script = "markdownlint --version"
|
|
|
|
[[task]]
|
|
name = "dpkg"
|
|
group = "versions"
|
|
script = "dpkg --version"
|
|
|
|
[[task]]
|
|
name = "cargo-audit"
|
|
group = "security"
|
|
script = "cargo audit -D warnings -D unmaintained -D unsound -D yanked"
|
|
|
|
[[task]]
|
|
name = "cargo-fmt"
|
|
group = "lints"
|
|
script = """
|
|
cargo fmt --check -- --color=always
|
|
"""
|
|
|
|
[[task]]
|
|
name = "cargo-doc"
|
|
group = "lints"
|
|
script = """
|
|
env DIRENV_DEVSHELL=all-features \
|
|
RUSTDOCFLAGS="-D warnings" \
|
|
direnv exec . \
|
|
cargo doc \
|
|
--workspace \
|
|
--profile test \
|
|
--all-features \
|
|
--no-deps \
|
|
--document-private-items \
|
|
--color always
|
|
"""
|
|
|
|
[[task]]
|
|
name = "clippy/default"
|
|
group = "lints"
|
|
script = """
|
|
cargo clippy \
|
|
--workspace \
|
|
--profile test \
|
|
--all-targets \
|
|
--color=always \
|
|
-- \
|
|
-D warnings
|
|
"""
|
|
|
|
[[task]]
|
|
name = "clippy/all"
|
|
group = "lints"
|
|
script = """
|
|
env DIRENV_DEVSHELL=all-features \
|
|
direnv exec . \
|
|
cargo clippy \
|
|
--workspace \
|
|
--profile test \
|
|
--all-targets \
|
|
--all-features \
|
|
--color=always \
|
|
-- \
|
|
-D warnings
|
|
"""
|
|
|
|
[[task]]
|
|
name = "clippy/jemalloc"
|
|
group = "lints"
|
|
script = """
|
|
cargo clippy \
|
|
--workspace \
|
|
--profile test \
|
|
--features jemalloc \
|
|
--all-targets \
|
|
--color=always \
|
|
-- \
|
|
-D warnings
|
|
"""
|
|
|
|
#[[task]]
|
|
#name = "clippy/hardened_malloc"
|
|
#group = "lints"
|
|
#script = """
|
|
#cargo clippy \
|
|
# --workspace \
|
|
# --features hardened_malloc \
|
|
# --all-targets \
|
|
# --color=always \
|
|
# -- \
|
|
# -D warnings
|
|
#"""
|
|
|
|
[[task]]
|
|
name = "lychee"
|
|
group = "lints"
|
|
script = "lychee --verbose --offline docs *.md --exclude development.md"
|
|
|
|
[[task]]
|
|
name = "markdownlint"
|
|
group = "lints"
|
|
script = "markdownlint docs *.md || true" # TODO: fix the ton of markdown lints so we can drop `|| true`
|
|
|
|
[[task]]
|
|
name = "cargo/all"
|
|
group = "tests"
|
|
script = """
|
|
env DIRENV_DEVSHELL=all-features \
|
|
direnv exec . \
|
|
cargo test \
|
|
--workspace \
|
|
--profile test \
|
|
--all-targets \
|
|
--all-features \
|
|
--color=always \
|
|
-- \
|
|
--color=always
|
|
"""
|
|
|
|
[[task]]
|
|
name = "cargo/default"
|
|
group = "tests"
|
|
script = """
|
|
cargo test \
|
|
--workspace \
|
|
--profile test \
|
|
--all-targets \
|
|
--color=always \
|
|
-- \
|
|
--color=always
|
|
"""
|
|
|
|
# Ensure that the flake's default output can build and run without crashing
|
|
#
|
|
# This is a dynamically-linked jemalloc build, which is a case not covered by
|
|
# our other tests. We've had linking problems in the past with dynamic
|
|
# jemalloc builds that usually show up as an immediate segfault or "invalid free"
|
|
[[task]]
|
|
name = "nix-default"
|
|
group = "tests"
|
|
script = """
|
|
env DIRENV_DEVSHELL=dynamic \
|
|
CARGO_PROFILE="test" \
|
|
direnv exec . \
|
|
bin/nix-build-and-cache just .#default-test
|
|
env DIRENV_DEVSHELL=dynamic \
|
|
CARGO_PROFILE="test" \
|
|
direnv exec . \
|
|
nix run -L .#default-test -- --help && nix run -L .#default-test -- --version
|
|
"""
|