ff5b06d0c2
- Added composite GitHub actions to ensure rust toolchains and cargo helpers. - Added a kata-native build action with variant checks and platform artifact uploads. - Reworked CI matrices to split native cross-platform jobs and gate releases accordingly. - Updated runner bootstrap and image to preinstall pinned build tools for CI consistency.
48 lines
1.7 KiB
YAML
48 lines
1.7 KiB
YAML
name: "ensure sccache"
|
|
description: Ensure a pinned sccache binary is on PATH.
|
|
|
|
inputs:
|
|
version:
|
|
required: false
|
|
default: "0.15.0"
|
|
description: sccache release version without the leading v
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- shell: bash
|
|
env:
|
|
SCCACHE_VERSION: ${{ inputs.version }}
|
|
run: |
|
|
set -euo pipefail
|
|
if command -v sccache >/dev/null 2>&1; then
|
|
current="$(sccache --version | awk '{print $2}')"
|
|
if [ "$current" = "$SCCACHE_VERSION" ]; then
|
|
echo "Using baked sccache $current"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
case "$(uname -s)-$(uname -m)" in
|
|
Linux-x86_64) triple=x86_64-unknown-linux-musl ;;
|
|
Darwin-arm64) triple=aarch64-apple-darwin ;;
|
|
Darwin-x86_64) triple=x86_64-apple-darwin ;;
|
|
*) triple="" ;;
|
|
esac
|
|
|
|
if [ -n "$triple" ]; then
|
|
url="https://github.com/mozilla/sccache/releases/download/v${SCCACHE_VERSION}/sccache-v${SCCACHE_VERSION}-${triple}.tar.gz"
|
|
tmpdir="${RUNNER_TEMP:-/tmp}/sccache-${SCCACHE_VERSION}"
|
|
bindir="${HOME}/.local/bin"
|
|
rm -rf "$tmpdir"
|
|
mkdir -p "$tmpdir" "$bindir"
|
|
curl -fsSL "$url" | tar -xz -C "$tmpdir"
|
|
install -m755 "$tmpdir"/sccache-v${SCCACHE_VERSION}-${triple}/sccache "$bindir/sccache"
|
|
echo "$bindir" >> "$GITHUB_PATH"
|
|
echo "Installed sccache $("$bindir/sccache" --version)"
|
|
exit 0
|
|
fi
|
|
|
|
cargo install --locked sccache --version "$SCCACHE_VERSION"
|
|
echo "Installed sccache $(sccache --version)"
|