Merge pull request #58 from RI-SE/codex/production-hardening-repairs #77
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/* |