Retry sccache release downloads
This commit is contained in:
@@ -79,8 +79,16 @@ runs:
|
|||||||
base_url="https://github.com/mozilla/sccache/releases/download/${version}"
|
base_url="https://github.com/mozilla/sccache/releases/download/${version}"
|
||||||
tmp="$(mktemp -d)"
|
tmp="$(mktemp -d)"
|
||||||
trap 'rm -rf "$tmp"' EXIT
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
curl -fsSLo "$tmp/$asset" "$base_url/$asset"
|
curl_retry() {
|
||||||
curl -fsSLo "$tmp/$asset.sha256" "$base_url/$asset.sha256"
|
curl --http1.1 --retry 5 --retry-all-errors --retry-delay 3 --connect-timeout 20 -fsSLo "$1" "$2"
|
||||||
|
}
|
||||||
|
if ! curl_retry "$tmp/$asset" "$base_url/$asset" || ! curl_retry "$tmp/$asset.sha256" "$base_url/$asset.sha256"; then
|
||||||
|
echo "sccache release download failed; falling back to cargo install" >&2
|
||||||
|
crate_version="${version#v}"
|
||||||
|
cargo install sccache --locked --version "$crate_version" --features s3
|
||||||
|
sccache --version
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
expected="$(tr -d '[:space:]' < "$tmp/$asset.sha256")"
|
expected="$(tr -d '[:space:]' < "$tmp/$asset.sha256")"
|
||||||
if command -v sha256sum >/dev/null 2>&1; then
|
if command -v sha256sum >/dev/null 2>&1; then
|
||||||
actual="$(sha256sum "$tmp/$asset" | cut -d ' ' -f 1)"
|
actual="$(sha256sum "$tmp/$asset" | cut -d ' ' -f 1)"
|
||||||
|
|||||||
Reference in New Issue
Block a user