From eb596e254a00f71842b29c6c242bf6c386be4187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ign=C3=A1cio=20Fontoura=20Solla?= Date: Thu, 30 Jul 2026 07:13:04 -0300 Subject: [PATCH] ci: stage runs curated int smoke subset against the remote snapshot (full suite timed out at 30 min) --- .github/workflows/ci-stage.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-stage.yml b/.github/workflows/ci-stage.yml index 86ac4718..0018fedf 100644 --- a/.github/workflows/ci-stage.yml +++ b/.github/workflows/ci-stage.yml @@ -19,7 +19,12 @@ concurrency: jobs: stage-checks: runs-on: ubuntu-latest - timeout-minutes: 30 + # The int suite against a remote Neon snapshot is latency-bound (~120 ms + # RTT per query): the FULL suite blew the 30-minute timeout twice on + # 2026-07-30, so stage runs a curated smoke subset (schema reconciliation + + # access lockdown + consent-gated flows — the things a prod-snapshot run is + # FOR). The full int suite gates in ci-pr.yml against the local service DB. + timeout-minutes: 45 environment: stage env: DATABASE_URL: ${{ secrets.STAGE_DATABASE_URL }} @@ -51,8 +56,17 @@ jobs: echo "PAYLOAD_SECRET=${PAYLOAD_SECRET}" } > .env.test - - name: Integration tests against the stage snapshot - run: pnpm test:int + - name: Integration smoke tests against the stage snapshot + run: > + pnpm test:int + tests/int/campaignMigrationReconciliation.int.spec.ts + tests/int/collectionAccessLockdown.int.spec.ts + tests/int/campaignMunicipalityAccess.int.spec.ts + tests/int/campaignVotePledge.int.spec.ts + tests/int/campaignSupporter.int.spec.ts + tests/int/campaignDemandWorkflow.int.spec.ts + tests/int/submitWhatsapp.int.spec.ts + tests/int/onda0Provision.int.spec.ts env: # Documented escape hatch in tests/helpers/assertTestDatabase.ts — # only this workflow may set it (vitest.setup.ts loads .env.test