name: lane-shas # Verify that every ADR-0092..0099 lane produces its pinned SHA-256 # report. A failing job means a lane's deterministic output changed # without an explicit ADR-tracked pin update via: # # python scripts/verify_lane_shas.py --update # # Single source of truth for the pinned values is scripts/verify_lane_shas.py. on: push: branches: [main] pull_request: branches: [main] permissions: contents: read concurrency: group: lane-shas-${{ github.ref }} cancel-in-progress: true jobs: verify: name: verify pinned lane SHAs runs-on: ubuntu-latest timeout-minutes: 12 steps: - name: checkout uses: actions/checkout@v4 with: fetch-depth: 1 - name: set up python uses: actions/setup-python@v5 with: python-version: '3.11' cache: 'pip' - name: install dependencies run: | python -m pip install --upgrade pip pip install -e . pyyaml pytest - name: verify lane SHAs env: PYTHONPATH: ${{ github.workspace }} run: | python scripts/verify_lane_shas.py - name: verify CLAIMS.md is current env: PYTHONPATH: ${{ github.workspace }} run: | python scripts/generate_claims.py --check - name: emit machine-readable report (on failure) if: failure() env: PYTHONPATH: ${{ github.workspace }} run: | python scripts/verify_lane_shas.py --json || true