diff --git a/.github/workflows/oracle-nightly.yml b/.github/workflows/oracle-nightly.yml index b93bf13492..c9edecb608 100644 --- a/.github/workflows/oracle-nightly.yml +++ b/.github/workflows/oracle-nightly.yml @@ -27,6 +27,8 @@ jobs: persist-credentials: false - name: Setup Tools uses: tanstack/config/.github/setup@e4b48f16568324f76f467aa4c2aac2f05db632c3 + - name: Build dependencies + run: node scripts/ci-tests.mjs build sqlite-core - name: Run the generated campaign with a larger budget env: TANSTACK_DB_ORACLE_RUNS_MULTIPLIER: '10' diff --git a/packages/db-sqlite-persistence-core/tests/persisted-demand-coverage-campaign-oracle.test.ts b/packages/db-sqlite-persistence-core/tests/persisted-demand-coverage-campaign-oracle.test.ts index 257f112e13..cada689a62 100644 --- a/packages/db-sqlite-persistence-core/tests/persisted-demand-coverage-campaign-oracle.test.ts +++ b/packages/db-sqlite-persistence-core/tests/persisted-demand-coverage-campaign-oracle.test.ts @@ -1134,6 +1134,9 @@ const PROPERTY = `persisted-demand-coverage.history` const REQUIRED_PROPERTY = `persisted-demand-coverage.required` const RUNS = 40 const REQUIRED_RUNS = 2 +// Nightly scales both history budgets; allow the same time per history while +// keeping ordinary PR and replay runs bounded by the existing three minutes. +const campaignTimeoutMs = oracleRuns(180_000) const REACH_STATES: ReadonlyArray = [ `covered offline`, `uncovered offline`, @@ -1448,7 +1451,7 @@ describe(`persisted demand coverage over generated histories`, () => { quietConsole() await campaign({ seed: 2102, numRuns: oracleRuns(RUNS) }) }, - 180_000, + campaignTimeoutMs, ) it.skipIf(oracleReplaySkips(PROPERTY, REQUIRED_PROPERTY))( @@ -1457,6 +1460,6 @@ describe(`persisted demand coverage over generated histories`, () => { quietConsole() await campaign(oraclePropertyOptions(RUNS, PROPERTY)) }, - 180_000, + campaignTimeoutMs, ) }) diff --git a/scripts/demand-coverage-mutants.mjs b/scripts/demand-coverage-mutants.mjs index 49d3bda754..98aa293697 100644 --- a/scripts/demand-coverage-mutants.mjs +++ b/scripts/demand-coverage-mutants.mjs @@ -200,8 +200,8 @@ const MUTANTS = [ { id: 'P22', file: 'packages/db-sqlite-persistence-core/src/persisted.ts', - find: ' options.signal?.addEventListener(`abort`, settle, { once: true })\n', - replace: '', + find: ' options.signal?.addEventListener(`abort`, settle, { once: true })\n void upstream.catch(() => undefined).then(settle)', + replace: ' void upstream.catch(() => undefined).then(settle)', rationale: 'settleCoveredDemand: release does not end the covered wait', }, {