git-attest 1.6.0

Sign and verify attestations that a test suite already passed on a tree, so CI can skip it: the library and its command line
Documentation
# <gate> <path>...   Literal paths and directories only. git ls-tree does not
# glob: tests/*.sh would match NOTHING and silently fingerprint nothing, so a
# wildcard makes the whole file invalid. The one exception is a LEADING `?`,
# which is not a wildcard: `?clippy.toml` names a path that may be absent and
# whose appearance must re-run the gate. The sign step lists the absent ones
# on one line of its log; a typo shows up there. This file is ASCII-only and
# is itself an input of every gate; editing it re-runs everything once.
#
# The workflow is in every line on purpose: a gate name is only worth the
# command behind it, and that command is defined there.
#
# The cargo gates name `tests` (cargo discovers tests/*.rs by itself, and
# --all-targets / fmt --all read them) and the paths cargo, rustfmt and clippy
# would pick up if they appeared: build.rs, examples, benches, .cargo, the
# tool config files.
ci-fmt              .github/workflows/ci.yaml Cargo.toml rust-toolchain.toml src tests ?examples ?benches ?build.rs ?.cargo ?rustfmt.toml ?.rustfmt.toml
ci-clippy           .github/workflows/ci.yaml Cargo.toml Cargo.lock rust-toolchain.toml src tests ?examples ?benches ?build.rs ?.cargo ?clippy.toml ?.clippy.toml
ci-shellcheck       .github/workflows/ci.yaml verify.sh sign/sign.sh tests scripts ?.shellcheckrc
pre-push-cargo-test .github/workflows/ci.yaml Cargo.toml Cargo.lock rust-toolchain.toml src tests ?examples ?benches ?build.rs ?.cargo
ci-conformance      .github/workflows/ci.yaml Cargo.toml Cargo.lock rust-toolchain.toml src Makefile verify.sh sign/sign.sh tests scripts ?build.rs ?.cargo
ci-sign-test        .github/workflows/ci.yaml Cargo.toml Cargo.lock rust-toolchain.toml src Makefile verify.sh sign/sign.sh tests scripts ?build.rs ?.cargo