mise.toml
Rama main · réplica de lectura del repositorio original.
min_version = "2026.9.5"
[tools]
# Keep the Rust version aligned with rust-toolchain.toml.
rust = { version = "1.97.1", profile = "minimal", components = "clippy,rustfmt", targets = "x86_64-unknown-linux-musl,aarch64-unknown-linux-musl" }
# Static Linux builds: zig links musl so the binary needs no system libc.
zig = "0.16.0"
"github:rust-cross/cargo-zigbuild" = "0.23.4"
dagger = "0.21.9"
# Release notes from conventional commits; see cliff.toml.
"aqua:orhun/git-cliff" = "2.14.2"
# Signs release checksums (SHA256SUMS.minisig); Sideporch verifies them before updating itself.
"aqua:jedisct1/minisign" = "0.12"
# The website (website/): a static site generator and its search index.
# Linux x64 uses Zola's static musl build: Vercel builds on Amazon Linux
# 2023, whose glibc (2.34) is older than the gnu build needs (2.35).
"github:getzola/zola" = { version = "0.23.6", platforms = { linux-x64 = { asset_pattern = "zola-v0.23.6-x86_64-unknown-linux-musl.tar.gz" } } }
"github:CloudCannon/pagefind" = "1.5.2"
[tasks.dev]
description = "Run Sideporch locally with its data in ./data"
run = "cargo run -- --data data"
[tasks.fmt]
description = "Format the code"
run = "cargo fmt --all"
[tasks.lint]
description = "Check formatting and run Clippy"
run = [
"cargo fmt --all -- --check",
"cargo clippy --all-targets --locked -- -D warnings",
]
[tasks.test]
description = "Run unit and end-to-end tests"
run = "cargo test --all-targets --locked"
[tasks.check]
description = "Run every check CI would run, on this machine"
depends = ["lint", "test"]
[tasks.clean]
description = "Remove all local build output (target/ and dist/)"
run = ["cargo clean", "rm -rf dist"]
[tasks."clean-debug"]
description = "Remove debug builds and test binaries; keep release builds"
run = "cargo clean --profile dev"
[tasks."clean-ci"]
description = "Empty only Sideporch's Rust build cache in the local Dagger engine"
run = 'dagger call clean --nonce "$(date +%s)"'
[tasks.ci]
description = "Run the Linux CI pipeline in containers through Dagger (needs a container engine)"
run = "dagger call ci"
[tasks.build]
description = "Build the release binary for this machine into target/release/sideporch"
run = "cargo build --release --locked"
[tasks."build-static"]
description = "Build fully static Linux binaries (x86-64 and ARM64) with zig and musl"
run = [
"cargo zigbuild --release --locked --target x86_64-unknown-linux-musl",
"cargo zigbuild --release --locked --target aarch64-unknown-linux-musl",
]
[tasks.image]
description = "Build the container image for this machine's architecture and load it into Docker"
run = "dagger call image export --path target/sideporch-image.tar && docker load --input target/sideporch-image.tar"
[tasks."release-notes"]
description = "Print the release notes for the newest tag, or for unreleased commits: mise run release-notes [-- --unreleased]"
run = "git-cliff --latest --strip header"
[tasks.changelog]
description = "Write the release notes of every version to CHANGELOG.md"
run = "git-cliff --output CHANGELOG.md"
[tasks.package]
description = "Archive a built binary into dist/: mise run package -- VERSION TARGET [BINARY]"
run = "sh scripts/package.sh"
[tasks."nix-check"]
description = "Build and test the package with Nix"
run = "nix flake check --print-build-logs"
[tasks.site]
description = "Preview the website with live reload at http://127.0.0.1:1111"
dir = "website"
run = ["sh vendor.sh", "zola serve"]
[tasks."site-build"]
description = "Build the website into website/public, with its search index (SITE_URL=http://127.0.0.1:8765 to serve it elsewhere)"
dir = "website"
run = "sh build.sh"
[tasks."site-check"]
description = "Build the website and check every internal and external link"
dir = "website"
run = ["zola check", "mise run site-build"]
[tasks.screenshots]
description = "Retake every screenshot from a fresh demo server into website/static/img (needs node, cwebp and Chromium)"
run = "sh scripts/screenshots.sh"