Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[profile.default]
retries = { backoff = "fixed", count = 2, delay = "500ms" }
11 changes: 11 additions & 0 deletions .github/cross/Dockerfile.aarch64-unknown-linux-musl-sccache
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ghcr.io/cross-rs/aarch64-unknown-linux-musl:0.2.5
ARG DEBIAN_FRONTEND=noninteractive

COPY .github/cross/sccache-prebuilt.sh /sccache.sh
RUN /sccache.sh x86_64-unknown-linux-musl

COPY .github/cross/cargo-with-stats.sh /usr/local/bin/cargo
RUN chmod +x /usr/local/bin/cargo

ENV RUSTC_WRAPPER=/usr/bin/sccache
ENV PATH=/usr/local/bin:/usr/local/cargo/bin:/rust/bin:/usr/bin:/bin
11 changes: 11 additions & 0 deletions .github/cross/Dockerfile.arm-unknown-linux-musleabihf-sccache
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ghcr.io/cross-rs/arm-unknown-linux-musleabihf:0.2.5
ARG DEBIAN_FRONTEND=noninteractive

COPY .github/cross/sccache-prebuilt.sh /sccache.sh
RUN /sccache.sh x86_64-unknown-linux-musl

COPY .github/cross/cargo-with-stats.sh /usr/local/bin/cargo
RUN chmod +x /usr/local/bin/cargo

ENV RUSTC_WRAPPER=/usr/bin/sccache
ENV PATH=/usr/local/bin:/usr/local/cargo/bin:/rust/bin:/usr/bin:/bin
11 changes: 11 additions & 0 deletions .github/cross/Dockerfile.armv7-unknown-linux-musleabihf-sccache
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ghcr.io/cross-rs/armv7-unknown-linux-musleabihf:0.2.5
ARG DEBIAN_FRONTEND=noninteractive

COPY .github/cross/sccache-prebuilt.sh /sccache.sh
RUN /sccache.sh x86_64-unknown-linux-musl

COPY .github/cross/cargo-with-stats.sh /usr/local/bin/cargo
RUN chmod +x /usr/local/bin/cargo

ENV RUSTC_WRAPPER=/usr/bin/sccache
ENV PATH=/usr/local/bin:/usr/local/cargo/bin:/rust/bin:/usr/bin:/bin
11 changes: 11 additions & 0 deletions .github/cross/Dockerfile.x86_64-unknown-linux-musl-sccache
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM ghcr.io/cross-rs/x86_64-unknown-linux-musl:0.2.5
ARG DEBIAN_FRONTEND=noninteractive

COPY .github/cross/sccache-prebuilt.sh /sccache.sh
RUN /sccache.sh x86_64-unknown-linux-musl

COPY .github/cross/cargo-with-stats.sh /usr/local/bin/cargo
RUN chmod +x /usr/local/bin/cargo

ENV RUSTC_WRAPPER=/usr/bin/sccache
ENV PATH=/usr/local/bin:/usr/local/cargo/bin:/rust/bin:/usr/bin:/bin
18 changes: 18 additions & 0 deletions .github/cross/cargo-with-stats.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
set -e

if [ -x /usr/local/cargo/bin/cargo ]; then
real_cargo=/usr/local/cargo/bin/cargo
elif [ -x /rust/bin/cargo ]; then
real_cargo=/rust/bin/cargo
else
echo "cargo wrapper: real cargo not found" >&2
exit 1
fi

if [ "$1" = "build" ]; then
"$real_cargo" "$@"
/usr/bin/sccache --show-stats --stats-format=json
else
"$real_cargo" "$@"
fi
24 changes: 24 additions & 0 deletions .github/cross/report-sccache-stats.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -euo pipefail

log_file="${1:-sccache-build.log}"
stats="$(grep '^{"stats"' "$log_file" | tail -1)"
if [[ -z "$stats" ]]; then
echo "::warning title=sccache stats::No sccache stats found in build log"
exit 0
fi

hits="$(echo "$stats" | jq '[.stats.cache_hits.counts | to_entries[]?.value // 0] | add // 0')"
misses="$(echo "$stats" | jq '[.stats.cache_misses.counts | to_entries[]?.value // 0] | add // 0')"
executed="$(echo "$stats" | jq '.stats.requests_executed // 0')"
compile_requests="$(echo "$stats" | jq '.stats.compile_requests // 0')"
compilations="$(echo "$stats" | jq '.stats.compilations // 0')"
not_cacheable="$(echo "$stats" | jq '.stats.requests_not_cacheable // 0')"
total=$((hits + misses))
if (( total > 0 )); then
rate=$(( hits * 100 / total ))
else
rate=0
fi

echo "::notice title=sccache stats::${rate}% - ${hits} hits, ${misses} misses, ${executed} executed, ${compilations} compilations, ${compile_requests} requests, ${not_cacheable} not-cacheable"
18 changes: 18 additions & 0 deletions .github/cross/sccache-prebuilt.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
set -euxo pipefail

triple="${1:?usage: sccache-prebuilt.sh TRIPLE}"
url="https://github.com/mozilla/sccache"
version="${SCCACHE_VERSION:-v0.15.0}"

apt-get update
apt-get install -y --no-install-recommends ca-certificates curl
rm -rf /var/lib/apt/lists/*

td="$(mktemp -d)"
trap 'rm -rf "${td}"' EXIT
cd "${td}"

curl -LSfs "${url}/releases/download/${version}/sccache-${version}-${triple}.tar.gz" -o sccache.tar.gz
tar xzf sccache.tar.gz
install -m 755 "sccache-${version}-${triple}/sccache" /usr/bin/sccache
50 changes: 0 additions & 50 deletions .github/workflows/arm_vehicle.yml

This file was deleted.

Loading
Loading