Skip to content

Run the full test suite under Bun and Node - #29

Merged
djgrant merged 3 commits into
mainfrom
dual-ci
Jul 22, 2026
Merged

Run the full test suite under Bun and Node#29
djgrant merged 3 commits into
mainfrom
dual-ci

Conversation

@djgrant

@djgrantdjgrant commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

What changed

  • Replaces the remaining bun:test and standalone node:test runners with one Vitest suite that runs unchanged under both Bun and Node.
  • Parameterizes SQLite store conformance by the actual host runtime: Bun loads @yieldstar/sqlite-runtime/bun and exercises real bun:sqlite, while Node loads @yieldstar/sqlite-runtime/node and exercises real node:sqlite through DatabaseSync.
  • Runs the fork integration tests under both runtimes, covering successful advanced-serialization IPC, spawn failure, early child exit, and the suspended-workflow regression ported from b549356. The suspend test preserves the result-less reply assertion and waits for the killed child to exit before confirming that nothing was emitted.
  • Adds a two-leg GitHub Actions matrix pinned to Bun 1.3.14, Node 22.18.0, and pnpm 11.6.0. Each leg installs dependencies, bundles and type-checks the packages, and runs the complete suite; a failing runtime command fails its job and fail-fast: false lets the other runtime finish reporting.
  • Removes test-runner-only @types/bun dependencies while retaining the SQLite package's required Bun connector types.

Test workflow error propagation

Commit 9ef2520 makes the test SDK's triggerAndWait rethrow workflow error outcomes and always reset its memory event loop. Tests that intentionally produce workflow errors now assert promise rejection explicitly, so failures cannot be silently converted into later assertion misses. The cache-key restart tests retain their exact mock-call assertions and use a stable 10 ms delay instead of racing a 1 ms real timer under parallel Vitest workers.

Validation

  • bun run test:bun: 17 files, 122 passed, 1 pre-existing skip, 0 failed
  • pnpm run test:node: 17 files, 122 passed, 1 pre-existing skip, 0 failed
  • Gate stability run: both complete legs passed five consecutive times
  • bun run bundle: passed

Base automatically changed from debun to mainJuly 21, 2026 22:29
@djgrantdjgrant mentioned this pull request Jul 21, 2026
@djgrant
djgrant marked this pull request as ready for review July 22, 2026 05:18
@djgrant
djgrant merged commit ba2ccc0 into mainJul 22, 2026
0 of 2 checks passed
@djgrant
djgrant deleted the dual-ci branch July 22, 2026 05:18
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@djgrant