autofoam 0.3.4

autofoam and related tools
Documentation
[parallel]
ci: audit lint test doctest doc

audit:
    command -v cargo-audit >/dev/null 2>&1 && cargo audit || echo "skipping audit"

[parallel]
lint:
    cargo fmt --all --check
    cargo check --all-targets --all-features --workspace
    cargo clippy --all-targets --all-features --workspace -- -D warnings -D clippy::all

test:
    cargo test --all-features --all-targets --workspace

doctest:
    cargo test --doc

doc:
    cargo doc --no-deps --document-private-items --all-features --workspace --examples

pre-release:
    release-plz update

package_name := `cargo metadata --no-deps --format-version=1 | jq -r '.packages[0].name'`
package_version := `cargo metadata --no-deps --format-version=1 | jq -r '.packages[0].version'`
asset_name := package_name + "-v" + package_version + "-x86_64-unknown-linux-musl"
release: build archive
    git push
    release-plz release --git-token=$(gh auth token)
    gh release create v{{package_version}} --verify-tag {{asset_name}}.tar.gz {{asset_name}}.sha256 --generate-notes
    just clean-assets

build:
    nix build

archive:
    tar -czf {{asset_name}}.tar.gz -C ./result/bin .
    sha256sum {{asset_name}}.tar.gz > {{asset_name}}.sha256

clean-assets:
    rm -f {{asset_name}}.tar.gz {{asset_name}}.sha256
    rm -rf result