Skip to content

Merge pull request #58 from RI-SE/codex/production-hardening-repairs #77

Merge pull request #58 from RI-SE/codex/production-hardening-repairs

Merge pull request #58 from RI-SE/codex/production-hardening-repairs #77

Workflow file for this run

name: scoreboard
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
scoreboard:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version: "1.23.x"
- name: Build
run: go build -o bin/curbpack ./cmd/curbpack
- name: Offline smoke + scoreboard
run: |
set -euo pipefail
START=$(date +%s)
FIX=$(mktemp -d)
./bin/curbpack doctor | tee /tmp/doctor.txt
./bin/curbpack demo --out "$FIX" --keep | tee /tmp/demo.txt
END=$(date +%s)
ELAPSED=$((END-START))
SCORE=$(python3 -c 'import json,sys; p="'"$FIX"'/.github/curbpack/cache/latest_failure.json";
import os
print(json.load(open(p)).get("readiness_score",100) if os.path.exists(p) else 100)')
mkdir -p artifacts
cat > artifacts/scoreboard.json <<EOF
{
"generated_at_unix": $(date +%s),
"time_to_demo_seconds": ${ELAPSED},
"packs_tested": ["house-policy", "cra-baseline"],
"demo_score": ${SCORE},
"claim": "Prepares evidence for human review — not a conformity assessment.",
"certification_claimed": false,
"install": "curl -fsSL https://raw.githubusercontent.com/RI-SE/curbpack/main/scripts/install.sh | sh",
"try": "curbpack doctor && curbpack demo"
}
EOF
cat > artifacts/scoreboard.md <<EOF
# Curbpack weekly scoreboard (claim-safe)
- Time-to-demo: **${ELAPSED}s**
- Packs smoked: house-policy (demo), cra-baseline (CI)
- Demo readiness score: **${SCORE}%**
- Certification claimed: **no**
> Prepares evidence for human review — not a conformity assessment.
Try: \`curbpack doctor && curbpack demo\`
EOF
cat artifacts/scoreboard.md
test "$ELAPSED" -lt 120
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: curbpack-scoreboard
path: artifacts/*