arti/maint/check_all_lockfiles

20 lines
610 B
Bash
Executable File

#!/usr/bin/env bash
#
# Everywhere we have a Cargo.lock checked into git, check that it's usable.
#
# This avoids doing a full `cargo check` which actually compiles the crates.
# Our needs are closer to `cargo verify-project`, but we do want to check
# the entire dependency tree without compiling anything.
#
# The approach we use now is to run `cargo tree --locked`, which catches
# missing dependencies relatively quickly.
#
set -eu
for subdir in $(git ls-files | sed -n 's/^/.\//;s/Cargo.lock$//p'); do
echo
echo "---- Checking $subdir"
(cd "$subdir" && cargo tree --locked > /dev/null)
done