Skip to content
Snippets Groups Projects
engage.toml 3.84 KiB
Newer Older
Charles Hall's avatar
Charles Hall committed
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"

🥺's avatar
🥺 committed
[[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"
🥺's avatar
🥺 committed
script = "cargo audit -D warnings -D unmaintained -D unsound -D yanked"
Charles Hall's avatar
Charles Hall committed
[[task]]
name = "cargo-fmt"
group = "lints"
script = """
cargo fmt --check -- --color=always
"""
Charles Hall's avatar
Charles Hall committed

[[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
Charles Hall's avatar
Charles Hall committed
"""

[[task]]
name = "clippy/default"
group = "lints"
script = """
cargo clippy \
    --workspace \
    --profile test \
    --all-targets \
    --color=always \
    -- \
    -D warnings
"""

[[task]]
name = "clippy/all"
Charles Hall's avatar
Charles Hall committed
group = "lints"
Charles Hall's avatar
Charles Hall committed
script = """
env DIRENV_DEVSHELL=all-features \
    direnv exec . \
    cargo clippy \
        --workspace \
        --profile test \
        --all-targets \
        --all-features \
        --color=always \
        -- \
        -D warnings
Charles Hall's avatar
Charles Hall committed

[[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 --exclude contributing.md --exclude testing.md"
[[task]]
name = "markdownlint"
group = "lints"
🥺's avatar
🥺 committed
script = "markdownlint docs *.md || true" # TODO: fix the ton of markdown lints so we can drop `|| true`
Charles Hall's avatar
Charles Hall committed
[[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"
Charles Hall's avatar
Charles Hall committed
group = "tests"
script = """
cargo test \
    --workspace \
    --profile test \
Charles Hall's avatar
Charles Hall committed
    --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" \
    bin/nix-build-and-cache just .#default-test
env DIRENV_DEVSHELL=dynamic \
    CARGO_PROFILE="test" \
    nix run -L .#default-test -- --help && nix run -L .#default-test -- --version