aboutsummaryrefslogtreecommitdiff
path: root/bin/via-cargo-install-in-ci
blob: c104ff9901e139cfcdc9d08bd9b900bb54b9c310 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env bash

set -euo pipefail

# Bump this to "clear" the cache.
# Actually, it just causes us to ignore previous cached results.
cache_clear_token=2023-09-11

cache_dir=cache/"$CI_JOB_IMAGE","$cache_clear_token"

mkdir -p "$cache_dir"

for cmd in "$@"; do
    cache="$cache_dir/$cmd"

    if cp "$cache" "$CARGO_HOME"/bin/; then continue; fi

    cargo install --locked "$cmd"
    cp -v "$CARGO_HOME/bin/$cmd" "$cache"
done