Files
peltier.io/targets/fetch.sh
T
Claude 52089c0451 bench: GitHub Actions CI — trust-layer checks, no-net gates, runner calibration
Closes the CI-reachable slice of the Phase 1 infra gaps:
- trust-layer job: cargo test + clippy -D warnings + fmt
- target-gates-no-net: fetches pinned targets (new targets/fetch.sh),
  regenerates + verifies corpora, runs 'just gates tokei'
  mechanically, and executes the bench workload inside a
  --network=none container (SPEC 3.1/10 no-net requirement)
- runner-calibration (informational): A/A + injection harness measures
  the shared runner's noise floor per run, evidence uploaded as an
  artifact — environments are judged empirically, not assumed
- perf-probe (informational): reports which perf event sources work

docs/infra.md maps each remaining hardware requirement (pinned cores,
governor/SMT control, separate-uid trust layer) to the bench-metal
self-hosted runner setup a human can complete in ~15 min.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EcKPWQ3MQD4NdEHwar96u2
2026-07-07 00:13:21 +00:00

25 lines
1021 B
Bash
Executable File

#!/bin/sh
# Reproduce a target workspace at its pinned commit (CI + fresh clones).
# Usage: targets/fetch.sh <name> (run from repo root)
set -eu
name="$1"
toml="targets/$name/target.toml"
repo=$(grep -m1 '^repo = ' "$toml" | cut -d'"' -f2)
commit=$(grep -m1 '^commit = ' "$toml" | cut -d'"' -f2)
ws="targets/$name/workspace"
if [ ! -d "$ws/.git" ]; then
git clone "$repo" "$ws"
fi
git -C "$ws" fetch -q origin "$commit" 2>/dev/null || git -C "$ws" fetch -q origin
git -C "$ws" checkout -q "$commit"
# Pinned submodules (comrak's bench corpus lives in one).
grep -A0 '^"vendor/' "$toml" | while IFS= read -r line; do
sub=$(printf '%s' "$line" | cut -d'"' -f2)
surl=$(printf '%s' "$line" | sed 's/.*repo = "\([^"]*\)".*/\1/')
scommit=$(printf '%s' "$line" | sed 's/.*commit = "\([^"]*\)".*/\1/')
[ -d "$ws/$sub/.git" ] || git clone "$surl" "$ws/$sub"
git -C "$ws/$sub" fetch -q origin "$scommit" 2>/dev/null || true
git -C "$ws/$sub" checkout -q "$scommit"
done
echo "$name pinned at $commit"