#!/bin/bash

set -euo pipefail

if command -v sccache >/dev/null 2>&1; then
    sccache --version
    exit 0
fi

case "$(uname -s)" in
    Darwin)
        HOMEBREW_NO_AUTO_UPDATE=1 brew install sccache
        ;;
    Linux)
        tmpdir="$(mktemp -d)"
        trap 'rm -rf "${tmpdir}"' EXIT

        curl --fail --location --retry 3 \
            --output "${tmpdir}/sccache-v0.10.0-x86_64-unknown-linux-musl.tar.gz" \
            https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-x86_64-unknown-linux-musl.tar.gz
        tar -xzf "${tmpdir}/sccache-v0.10.0-x86_64-unknown-linux-musl.tar.gz" -C "${tmpdir}"
        sudo mv "${tmpdir}/sccache-v0.10.0-x86_64-unknown-linux-musl/sccache" /usr/local/bin/sccache
        sudo chmod +x /usr/local/bin/sccache
        ;;
    *)
        echo "Unsupported runner OS: $(uname -s)"
        exit 1
        ;;
esac

sccache --version
