Skip to content

weekly evidence refresh #11

weekly evidence refresh

weekly evidence refresh #11

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/**