Spaces:
Sleeping
Sleeping
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - "feature/**" | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| cache: pip | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e ".[dev,integrations]" | |
| - name: Integration readiness | |
| run: python scripts/check_integrations.py | |
| - name: Genblaze SDK contract | |
| run: python scripts/genblaze_contract_check.py | |
| - name: Lint | |
| run: ruff check . | |
| - name: Tests | |
| run: pytest | |
| - name: API smoke | |
| run: | | |
| uvicorn proofframe.app:app --host 127.0.0.1 --port 8088 > /tmp/proofframe-uvicorn.log 2>&1 & | |
| echo $! > /tmp/proofframe-uvicorn.pid | |
| for i in {1..30}; do | |
| curl -fsS http://127.0.0.1:8088/api/health && break | |
| sleep 1 | |
| done | |
| python scripts/api_smoke.py --base-url http://127.0.0.1:8088 | |
| kill "$(cat /tmp/proofframe-uvicorn.pid)" | |
| - name: Docker smoke | |
| run: python scripts/docker_smoke.py | |
| - name: Secret scan | |
| run: python scripts/secret_scan.py | |
| - name: Public claim lint | |
| run: python scripts/claim_lint.py | |
| - name: Live credential handoff | |
| run: python scripts/live_env_handoff.py | |
| - name: Final env wizard | |
| run: python scripts/final_env_wizard.py --check-only | |
| - name: B2 key scope checklist | |
| run: python scripts/b2_key_scope_checklist.py | |
| - name: Devpost form kit | |
| run: python scripts/devpost_form_kit.py | |
| - name: Devpost submission checklist | |
| run: python scripts/devpost_submission_checklist.py | |
| - name: Judge brief | |
| run: python scripts/judge_brief.py | |
| - name: Judge crosswalk | |
| run: python scripts/judge_crosswalk.py | |
| - name: Judge evidence index | |
| run: python scripts/judge_evidence_index.py | |
| - name: Judge decision brief | |
| run: python scripts/judge_decision_brief.py | |
| - name: Devpost event snapshot | |
| run: python scripts/devpost_event_snapshot.py --validate-committed | |
| - name: Agent handoff consistency | |
| run: python scripts/agent_handoff_check.py | |
| - name: Public Space upload dry run | |
| run: python scripts/public_space_upload.py | |
| - name: Public Space sync | |
| run: | | |
| for attempt in 1 2 3; do | |
| python scripts/public_space_sync.py && exit 0 | |
| echo "Public Space sync failed on attempt ${attempt}; retrying after 30s..." | |
| sleep 30 | |
| done | |
| python scripts/public_space_sync.py | |
| - name: Demo storyboard | |
| run: python scripts/demo_storyboard.py | |
| - name: Public video check | |
| run: python scripts/public_video_check.py | |
| - name: Final video publish kit | |
| run: python scripts/final_video_publish_kit.py | |
| - name: Sponsor fit audit | |
| run: python scripts/sponsor_fit_audit.py | |
| - name: Demo readiness | |
| run: python scripts/demo_readiness.py | |
| - name: Recording assets | |
| run: python scripts/recording_assets.py | |
| - name: Award readiness | |
| run: python scripts/award_readiness.py --min-score 75 | |
| - name: Final submission control | |
| run: python scripts/final_submission_control.py | |
| - name: Final closeout status | |
| run: python scripts/final_closeout_status.py | |
| - name: Final operator brief | |
| run: python scripts/final_operator_brief.py | |
| - name: Final launch plan | |
| run: python scripts/final_launch_plan.py | |
| - name: Submission audit | |
| run: python scripts/submission_audit.py | |
| - name: Devpost submission preview | |
| run: python scripts/devpost_submission_preview.py | |
| - name: Devpost submission receipt | |
| run: python scripts/devpost_submission_receipt.py | |
| - name: Submission bundle | |
| run: python scripts/submission_bundle.py | |