autofoam 0.3.7

autofoam and related tools
Documentation
default:
    @just --list

[group('ci')]
[parallel]
ci: lint test doctest doc

[group('ci')]
[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

[group('ci')]
test:
    cargo test --all-features --all-targets --workspace

[group('ci')]
doctest:
    cargo test --doc

[group('ci')]
doc:
    cargo doc --no-deps --document-private-items --all-features --workspace --examples

[group('build')]
build:
    nix build

[group('release')]
pre-release:
    release-plz update

[group('release')]
release: build
    #!/usr/bin/env bash
    set -euo pipefail
    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"
    git push
    release-plz release --git-token="$(gh auth token)"
    TMPDIR=$(mktemp -d)
    trap "rm -rf '$TMPDIR'" EXIT
    tar -czf "$TMPDIR/${ASSET_NAME}.tar.gz" -C ./result/bin .
    (cd "$TMPDIR" && sha256sum "${ASSET_NAME}.tar.gz" > "${ASSET_NAME}.sha256")
    gh release upload "v${PACKAGE_VERSION}" \
        "$TMPDIR/${ASSET_NAME}.tar.gz" \
        "$TMPDIR/${ASSET_NAME}.sha256"