name: CI on: pull_request: push: branches: - dev - main - test workflow_dispatch: jobs: verify: name: Quality and Bundle Budgets runs-on: gitea-label container: image: cozsweet-act-runner-node24-docker:latest env: NEXT_TELEMETRY_DISABLED: "1" SENTRY_UPLOAD_SOURCEMAPS: "0" steps: - name: Checkout uses: actions/checkout@v4 - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run quality checks run: pnpm quality - name: Check Python backend API surface env: BACKEND_OPENAPI_SOURCE: ${{ secrets.BACKEND_OPENAPI_SOURCE }} run: | if [ -z "$BACKEND_OPENAPI_SOURCE" ]; then echo "BACKEND_OPENAPI_SOURCE is not configured; skipping live OpenAPI comparison." exit 0 fi pnpm contract:check - name: Install Chromium for mobile smoke tests run: pnpm exec playwright install --with-deps chromium - name: Run critical mobile smoke tests run: pnpm test:e2e:mobile-smoke - name: Enforce bundle budgets run: pnpm perf:bundle:check