Repository navigation
Publish consolidated BackIntel demo proof of concept #12
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: Analysis code checks | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| jobs: | |
| static: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-node@v4 | |
| with: {node-version: '22'} | |
| - uses: actions/setup-python@v5 | |
| with: {python-version: '3.12'} | |
| - name: Install frontend dependencies | |
| run: npm ci --prefix apps/web | |
| - name: Build frontend | |
| run: npm run build --prefix apps/web | |
| - name: Frontend component checks and coverage | |
| run: npm run test:receipt --prefix apps/web | |
| - name: Pinned frontend dead code check | |
| run: npm run deadcode --prefix apps/web | |
| - name: Pinned Python dead code check | |
| run: | | |
| python -m pip install vulture==2.14 | |
| python -m vulture runtime/analysis_*.py scripts/analysis_*.py --min-confidence 100 | |
| - name: Compile backend | |
| run: python -m compileall -q runtime scripts tests | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: analysis-component-evidence | |
| path: apps/web/coverage/ | |
| offline: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: pgvector/pgvector:pg18 | |
| env: | |
| POSTGRES_USER: validation | |
| POSTGRES_PASSWORD: local-validation-only | |
| POSTGRES_DB: postgres | |
| ports: ['5432:5432'] | |
| options: >- | |
| --health-cmd "pg_isready -U validation -d postgres" | |
| --health-interval 2s --health-retries 20 | |
| redis: | |
| image: redis:7.2.5-alpine | |
| ports: ['6379:6379'] | |
| options: >- | |
| --health-cmd "redis-cli ping" | |
| --health-interval 2s --health-retries 20 | |
| env: | |
| BACKINTEL_VALIDATION_ADMIN_URL: postgresql://validation:local-validation-only@127.0.0.1:5432/postgres | |
| BACKINTEL_VALIDATION_REDIS_URL: redis://127.0.0.1:6379/15 | |
| NODE_PATH: ${{ github.workspace }}/apps/web/node_modules | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha || github.sha }} | |
| - uses: actions/setup-node@v4 | |
| with: {node-version: '22'} | |
| - uses: actions/setup-python@v5 | |
| with: {python-version: '3.12'} | |
| - run: python -m pip install -r requirements.testing.txt | |
| - run: npm ci --prefix apps/web | |
| - run: npm run build --prefix apps/web | |
| - name: Install pinned browser | |
| run: | | |
| cd apps/web | |
| npx playwright install --with-deps chromium | |
| - name: Unit, database, budget, and recovery checks | |
| run: python scripts/validation/run_analysis_offline.py --mode unit --output artifacts/AnalysisValidation/ci-unit | |
| - name: Existing runtime and all Python unit regressions | |
| env: | |
| BACKINTEL_UNIT_OUTPUT: artifacts/AnalysisValidation/ci-regression | |
| run: python scripts/validation/check_units.py | |
| - name: Five-domain simulated browser and native-clock checks | |
| env: | |
| BACKINTEL_VALIDATION_POSTGRES_CONTAINER: ${{ job.services.postgres.id }} | |
| run: python scripts/validation/run_analysis_offline.py --mode e2e --broker-recovery --output artifacts/AnalysisValidation/ci-e2e | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: analysis-offline-evidence | |
| path: artifacts/AnalysisValidation/ | |
| validate: | |
| needs: offline | |
| permissions: | |
| contents: read | |
| uses: ./.github/workflows/product-validation.yml |