Repository navigation
Fix nightly demand coverage campaign setup and time budget - #2361
Conversation
|
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
|
Size Change: 0 B Total Size: 239 kB ℹ️ View Unchanged
|
More templates
@tanstack/angular-db
@tanstack/browser-db-sqlite-persistence
@tanstack/capacitor-db-sqlite-persistence
@tanstack/cloudflare-durable-objects-db-sqlite-persistence
@tanstack/convex-db-collection
@tanstack/db
@tanstack/db-ivm
@tanstack/db-sqlite-persistence-core
@tanstack/electric-db-collection
@tanstack/electron-db-sqlite-persistence
@tanstack/expo-db-sqlite-persistence
@tanstack/node-db-sqlite-persistence
@tanstack/offline-transactions
@tanstack/powersync-db-collection
@tanstack/preact-db
@tanstack/query-db-collection
@tanstack/react-db
@tanstack/react-native-db-sqlite-persistence
@tanstack/react-router-with-db
@tanstack/rxdb-db-collection
@tanstack/solid-db
@tanstack/svelte-db
@tanstack/tauri-db-sqlite-persistence
@tanstack/trailbase-db-collection
@tanstack/vue-db
commit: |
🎯 Changes
The nightly persisted-demand coverage job failed before completing its intended checks: missing built package exports caused 19 source type errors, and tenfold campaigns retained the ordinary three-minute timeout. After those blockers, P22 also refused to run because its target matched two abort handlers.
Build the SQLite-core dependency graph through the same entry point as PR CI, scale campaign timeouts with the existing run multiplier, and target P22 specifically at the covered-demand wait. Default timeouts, history counts, required reach, comparisons, and the exactly-one-match guard remain unchanged. No production JavaScript changes.
🔬 Oracle Coverage
Existing owner: persisted demand coverage, including
packages/db-sqlite-persistence-core/tests/persisted-demand-coverage-campaign-oracle.test.ts. This change repairs campaign execution and mutant targeting; it preserves the existing model, history grammar, comparisons and reach requirements. P22 removes the covered-wait abort listener while retaining upstream promise settlement; an exact-target probe confirms it matches once and changes the source.Validation at
eb83d26e3:2102and captured nightly seed-1145433908, 580 histories each, 1,160 total. All 15 reach requirements pass in both campaigns; the least frequent reached state occurs in 51 and 50 histories, respectively. Suite: 10 tests passed, no type errors, 1,790 seconds total.Reproduce the long campaign:
node scripts/ci-tests.mjs build sqlite-core TANSTACK_DB_ORACLE_RUNS_MULTIPLIER=10 \ TANSTACK_DB_ORACLE_SEED=-1145433908 \ TANSTACK_DB_ORACLE_REACH_REPORT=1 \ pnpm --filter @tanstack/db-sqlite-persistence-core exec vitest run \ --coverage.enabled=false tests/persisted-demand-coverage-campaign-oracle.test.ts \ --disableConsoleIntercept node scripts/demand-coverage-mutants.mjsThe earlier release test and benchmark runs were fixed by merged #2359. This PR addresses nightly run 42232862302. It repairs execution setup and time allowance without changing the persisted-demand law, model, histories, driver, or oracle judgment. The evidence covers the existing controlled-core histories and observations; it adds no provider, framework, or multi-tab coverage claim. The historical red runs remain red; replacement checks validate this head.
✅ Checklist
🚀 Release Impact
Summary by CodeRabbit