name: verify on: push: pull_request: jobs: test-and-build: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-python@v5 with: python-version: "3.11" cache: pip cache-dependency-path: backend/requirements.txt - uses: actions/setup-node@v4 with: node-version: "20" cache: npm - run: python -m pip install -r backend/requirements.txt - run: npm ci - name: Generate test plan, verify and retain evidence run: python scripts/verify.py env: DEEPSEEK_API_KEY: test-only-placeholder XINGBANG_LOCAL_MODEL_URL: "" XINGBANG_REQUIRE_AUTH: "0" - name: Upload test evidence if: always() uses: actions/upload-artifact@v4 with: name: test-evidence-${{ github.sha }} path: test-evidence/ if-no-files-found: error retention-days: 30