1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/usr/bin/env bash set -euo pipefail cache_dir=cache/"$CI_JOB_IMAGE" mkdir -p "$cache_dir" for cmd in "$@"; do cache="$cache_dir/$cmd" if cp "$cache" "$CARGO_HOME"/bin/; then continue; fi cargo install "$cmd" cp -v "$CARGO_HOME/bin/$cmd" "$cache" done