weekly evidence refresh #11
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: weekly evidence refresh | |
| on: | |
| schedule: | |
| - cron: "0 6 * * 1" | |
| workflow_dispatch: | |
| concurrency: | |
| group: weekly-evidence-refresh-${{ github.ref }} | |
| cancel-in-progress: false | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| env: | |
| CI: "true" | |
| VCR_MODE: "playback" | |
| VCR_CASSETTE_DIR: "tests/fixtures/vcr" | |
| RUST_BACKTRACE: "1" | |
| CARGO_INCREMENTAL: "0" | |
| CARGO_PROFILE_DEV_DEBUG: "line-tables-only" | |
| CARGO_TARGET_DIR: /tmp/pi-agent-rust-evidence-target | |
| TMPDIR: /tmp/pi-agent-rust-evidence-tmp | |
| jobs: | |
| refresh: | |
| name: refresh scheduled evidence | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 240 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install system deps | |
| run: | | |
| set -euxo pipefail | |
| sudo apt-get update | |
| sudo apt-get install -y bc fd-find ripgrep libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev | |
| sudo ln -sf "$(command -v fdfind)" /usr/local/bin/fd | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cargo cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| /tmp/pi-agent-rust-evidence-target | |
| key: evidence-refresh-${{ runner.os }}-${{ hashFiles('Cargo.lock') }} | |
| restore-keys: evidence-refresh-${{ runner.os }}- | |
| - name: Install Bun | |
| uses: oven-sh/setup-bun@v1 | |
| with: | |
| bun-version: "1.3.8" | |
| - name: Prepare evidence directories | |
| run: | | |
| set -euxo pipefail | |
| mkdir -p "$CARGO_TARGET_DIR" "$TMPDIR" tests/evidence_refresh | |
| { | |
| echo "CI_CORRELATION_ID=weekly-evidence-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" | |
| echo "PERF_OUTPUT_DIR=${GITHUB_WORKSPACE}/tests/evidence_refresh/perf-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" | |
| echo "E2E_ARTIFACT_DIR=${GITHUB_WORKSPACE}/tests/e2e_results/weekly-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" | |
| } >> "$GITHUB_ENV" | |
| - name: Run performance evidence refresh | |
| run: | | |
| set -euxo pipefail | |
| ./scripts/perf/orchestrate.sh --profile ci --no-rch --bundle 2>&1 | tee tests/evidence_refresh/perf-refresh.log | |
| - name: Run CI E2E evidence refresh | |
| env: | |
| VERIFY_CARGO_RUNNER: local | |
| E2E_PARALLELISM: "1" | |
| run: | | |
| set -euxo pipefail | |
| ./scripts/e2e/run_all.sh --profile ci 2>&1 | tee tests/evidence_refresh/e2e-refresh.log | |
| - name: Generate maintenance dashboard | |
| run: | | |
| set -euxo pipefail | |
| python3 scripts/generate_maintenance_dashboard.py | |
| - name: Summarize evidence refresh | |
| if: always() | |
| run: | | |
| set -euxo pipefail | |
| { | |
| echo "## Weekly Evidence Refresh" | |
| echo | |
| echo "- Correlation ID: \`${CI_CORRELATION_ID}\`" | |
| echo "- Perf output: \`${PERF_OUTPUT_DIR}\`" | |
| echo "- E2E output: \`${E2E_ARTIFACT_DIR}\`" | |
| echo | |
| echo "Review request: apply \`\$reality-check-for-project\` before merging any generated PR." | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| - name: Upload refresh logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: weekly-evidence-refresh-${{ github.run_id }}-${{ github.run_attempt }} | |
| path: | | |
| docs/evidence/maintenance-dashboard.json | |
| tests/evidence_refresh/ | |
| tests/e2e_results/weekly-${{ github.run_id }}-${{ github.run_attempt }}/ | |
| retention-days: 30 | |
| - name: Open evidence refresh pull request | |
| uses: peter-evans/create-pull-request@v7 | |
| with: | |
| branch: automation/weekly-evidence-refresh | |
| delete-branch: true | |
| title: "Refresh weekly evidence artifacts" | |
| commit-message: | | |
| Refresh weekly evidence artifacts | |
| Run scripts/perf/orchestrate.sh --profile ci --no-rch --bundle and scripts/e2e/run_all.sh --profile ci from the scheduled evidence refresh workflow. | |
| body: | | |
| ## Weekly Evidence Refresh | |
| This PR was generated by `.github/workflows/weekly-evidence-refresh.yml`. | |
| Commands run: | |
| - `./scripts/perf/orchestrate.sh --profile ci --no-rch --bundle` | |
| - `./scripts/e2e/run_all.sh --profile ci` | |
| - `python3 scripts/generate_maintenance_dashboard.py` | |
| Review request: | |
| - Apply `$reality-check-for-project` before merging this PR. | |
| - Confirm generated artifacts still support the README evidence and strict drop-in claims. | |
| - Review `docs/evidence/maintenance-dashboard.json` for weekly ledger/bead/verdict burn-down drift. | |
| Artifact logs are attached to the workflow run as `weekly-evidence-refresh-${{ github.run_id }}-${{ github.run_attempt }}`. | |
| labels: | | |
| evidence | |
| automation | |
| reality-check | |
| add-paths: | | |
| docs/evidence/** | |
| tests/e2e_results/** | |
| tests/artifacts/perf/** | |
| tests/perf/reports/** | |
| tests/full_suite_gate/** | |
| tests/evidence_bundle/** | |
| tests/cross_platform_reports/** |