Skip to content

Commit 06acbb1

Browse files
committed
chore(rivetkit): build wasm package in publish workflow
1 parent 7a3b577 commit 06acbb1

85 files changed

Lines changed: 4696 additions & 826 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 108 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,123 @@
11
# Driver Test Suite Progress
22

3-
Started: 2026-04-26T14:05:00-07:00
4-
Config: registry (static), client type (http), encoding (bare)
3+
Started: 2026-04-30T19:59:06-07:00
4+
Config: registry (static), runtime (wasm), sqlite (remote), encoding (bare)
55

66
## Fast Tests
77

8-
- [x] manager-driver | Manager Driver Tests
9-
- [x] actor-conn | Actor Connection Tests
10-
- [x] actor-conn-state | Actor Connection State Tests
11-
- [x] conn-error-serialization | Connection Error Serialization Tests
12-
- [x] actor-destroy | Actor Destroy Tests
13-
- [x] request-access | Request Access in Lifecycle Hooks
14-
- [x] actor-handle | Actor Handle Tests
8+
- [x] manager-driver | Manager Driver
9+
- [x] actor-conn | Actor Conn
10+
- [x] actor-conn-state | Actor Conn State
11+
- [x] conn-error-serialization | Conn Error Serialization
12+
- [x] actor-destroy | Actor Destroy
13+
- [x] request-access | Request Access
14+
- [x] actor-handle | Actor Handle
1515
- [x] action-features | Action Features
16-
- [x] access-control | access control
17-
- [x] actor-vars | Actor Variables
18-
- [x] actor-metadata | Actor Metadata Tests
19-
- [x] actor-onstatechange | Actor onStateChange Tests
20-
- [ ] actor-db | Actor Database
21-
- [ ] actor-db-raw | Actor Database Raw Tests
22-
- [ ] actor-db-init-order | Actor DB Init Order Tests
23-
- [ ] actor-workflow | Actor Workflow Tests
24-
- [ ] actor-error-handling | Actor Error Handling Tests
25-
- [ ] actor-queue | Actor Queue Tests
26-
- [ ] actor-kv | Actor KV Tests
27-
- [ ] actor-stateless | Actor Stateless Tests
28-
- [ ] raw-http | raw http
29-
- [ ] raw-http-request-properties | raw http request properties
30-
- [ ] raw-websocket | raw websocket
31-
- [ ] actor-inspector | Actor Inspector Tests
32-
- [ ] gateway-query-url | Gateway Query URL Tests
33-
- [ ] actor-db-pragma-migration | Actor Database Pragma Migration
34-
- [ ] actor-state-zod-coercion | Actor State Zod Coercion
35-
- [ ] actor-save-state | Actor Save State Tests
36-
- [ ] actor-conn-status | Connection Status Changes
37-
- [ ] gateway-routing | Gateway Routing
38-
- [ ] lifecycle-hooks | Lifecycle Hooks
39-
- [ ] serverless-handler | Serverless Handler Tests
16+
- [x] access-control | Access Control
17+
- [x] actor-vars | Actor Vars
18+
- [x] actor-metadata | Actor Metadata
19+
- [x] actor-onstatechange | Actor Onstatechange
20+
- [x] actor-db | Actor Db
21+
- [x] actor-db-raw | Actor Db Raw
22+
- [x] actor-db-init-order | Actor Db Init Order
23+
- [x] actor-workflow | Actor Workflow
24+
- [x] actor-error-handling | Actor Error Handling
25+
- [x] actor-queue | Actor Queue
26+
- [x] actor-kv | Actor Kv
27+
- [x] actor-stateless | Actor Stateless
28+
- [x] raw-http | Raw Http
29+
- [x] raw-http-request-properties | Raw Http Request Properties
30+
- [x] raw-websocket | Raw Websocket
31+
- [x] actor-inspector | Actor Inspector
32+
- [x] gateway-query-url | Gateway Query Url
33+
- [x] actor-db-pragma-migration | Actor Db Pragma Migration
34+
- [x] actor-state-zod-coercion | Actor State Zod Coercion
35+
- [x] actor-save-state | Actor Save State
36+
- [x] actor-conn-status | Actor Conn Status
37+
- [x] gateway-routing | Gateway Routing
38+
- [x] lifecycle-hooks | Lifecycle Hooks
39+
- [x] serverless-handler | Serverless Handler
4040

4141
## Slow Tests
4242

43-
- [ ] actor-state | Actor State Tests
44-
- [ ] actor-schedule | Actor Schedule Tests
45-
- [ ] actor-sleep | Actor Sleep Tests
46-
- [ ] actor-sleep-db | Actor Sleep Database Tests
47-
- [ ] actor-lifecycle | Actor Lifecycle Tests
48-
- [ ] actor-conn-hibernation | Actor Connection Hibernation Tests
49-
- [ ] actor-run | Actor Run Tests
50-
- [ ] hibernatable-websocket-protocol | hibernatable websocket protocol
51-
- [ ] actor-db-stress | Actor Database Stress Tests
43+
- [x] actor-state | Actor State
44+
- [x] actor-schedule | Actor Schedule
45+
- [x] actor-sleep | Actor Sleep
46+
- [x] actor-sleep-db | Actor Sleep Db
47+
- [x] actor-lifecycle | Actor Lifecycle
48+
- [x] actor-conn-hibernation | Actor Conn Hibernation
49+
- [x] actor-run | Actor Run
50+
- [x] hibernatable-websocket-protocol | Hibernatable Websocket Protocol
51+
- [x] actor-db-stress | Actor Db Stress
5252

5353
## Excluded
5454

55-
- [ ] actor-agent-os | Actor agentOS Tests (skip unless explicitly requested)
55+
- [x] actor-agent-os | Actor Agent Os
56+
- [x] shared-matrix | Matrix helper tests
5657

5758
## Log
5859

59-
- 2026-04-26T14:06:57-07:00 manager-driver: PASS
60-
61-
- 2026-04-26T14:07:27-07:00 actor-conn: PASS
62-
63-
- 2026-04-26T14:07:37-07:00 actor-conn-state: PASS
64-
65-
- 2026-04-26T14:07:42-07:00 conn-error-serialization: PASS
66-
67-
- 2026-04-26T14:08:14-07:00 actor-destroy: PASS
68-
69-
- 2026-04-26T14:08:19-07:00 request-access: PASS
70-
71-
- 2026-04-26T14:08:31-07:00 actor-handle: PASS
72-
73-
- 2026-04-26T14:08:31-07:00 action-features: PASS
74-
75-
- 2026-04-26T14:08:46-07:00 access-control: PASS
76-
77-
- 2026-04-26T14:08:51-07:00 actor-vars: PASS
78-
79-
- 2026-04-26T14:08:58-07:00 actor-metadata: PASS
80-
81-
- 2026-04-26T14:08:59-07:00 actor-onstatechange: PASS
82-
83-
- 2026-04-26T14:10:59-07:00 actor-db: FAIL (exit 124)
84-
85-
- 2026-04-26T14:12:00-07:00 runner: stale suite-description filters found for action-features, actor-onstatechange, actor-db, gateway-query-url, and likely other renamed suites; switching to per-file bare filter.
86-
87-
- 2026-04-26T14:12:54-07:00 action-features: PASS (bare file filter)
88-
89-
- 2026-04-26T14:12:59-07:00 actor-onstatechange: PASS (bare file filter)
90-
91-
- 2026-04-26T14:17:33-07:00 actor-db: FAIL (exit 1, bare file filter)
92-
93-
- 2026-04-28T03:01:07-07:00 actor-sleep: FAIL focused repro `waitUntil accepts promises that resolve to undefined`. Native NAPI logs `actor wait_until promise rejected` with `InvalidArg: undefined cannot be represented as a serde_json::Value` after `triggerWaitUntilVoid`; `triggerWaitUntilWithValue` did not reproduce locally with this checkout.
94-
95-
- 2026-04-28T03:02:10-07:00 actor-sleep: FAIL focused repro updated to exact `counterWaitUntilProbe` shape. Failure occurs on first action `triggerWaitUntilVoid`, before the value and rejection controls run.
96-
97-
- 2026-04-28T03:05:41-07:00 actor-sleep: PASS after native waitUntil bridge normalization. Focused `waitUntil`/`keepAwake` bridge tests pass, and full bare `Actor Sleep Tests` passed (21 passed, 45 skipped).
98-
99-
- 2026-04-28T03:59:04-07:00 raw-websocket: PASS focused native `onWebSocket` connection-context repro after passing raw websocket `ConnHandle` through core/NAPI/TS. Full bare raw-websocket run had one `guard.request_timeout` on `should establish raw WebSocket connection`; isolated rerun passed.
100-
101-
- 2026-04-28T05:18:50-07:00 raw-websocket: PASS focused `/actors/{id}/sleep` repro for non-hibernatable raw websocket disconnect after making non-HWS actor stop terminal in pegboard gateway retry handling. Bare raw-websocket slice passed (16 passed, 32 skipped). Checks passed: `cargo check -p pegboard-gateway2`, `cargo check -p pegboard-gateway`, `pnpm check-types`.
60+
- 2026-04-30T20:00:26-07:00 manager-driver: FAIL. `passes input to actor during creation` and `getOrCreate passes input to actor during creation` saw undefined input in wasm callbacks.
61+
- 2026-04-30T20:02:44-07:00 manager-driver: PASS after wasm `onCreate` input propagation fix. 16 passed.
62+
- 2026-04-30T20:03:02-07:00 actor-conn: FAIL. 5 failures from missing wasm connection lifecycle bridge: connection params, onBeforeConnect/onConnect, connState initialization, and onDisconnect conn handle.
63+
- 2026-04-30T20:06:26-07:00 actor-conn: PASS after wasm connection lifecycle bridge and `get_params_failed` retry classification. 23 passed.
64+
- 2026-04-30T20:07:29-07:00 actor-conn-state: FAIL. 4 failures because wasm `ActorContext.conns()` returned an empty array, so connection enumeration and targeted sends could not work.
65+
- 2026-04-30T20:09:11-07:00 actor-conn-state: PASS after wiring wasm live connection enumeration. 8 passed.
66+
- 2026-04-30T20:15:39-07:00 conn-error-serialization: PASS after decoding bridged JS RivetErrors back into structured core errors in wasm. 3 passed.
67+
- 2026-04-30T20:16:12-07:00 actor-destroy: FAIL. 2 failures: queue send stale-handle retry returned internal error, raw HTTP stale-handle retry did not record recreated actor behavior.
68+
- 2026-04-30T20:23:43-07:00 actor-destroy: PASS after wiring wasm `onQueueSend`, `onRequest`, request-scoped `connectConn`, and spawning HTTP callback dispatch to avoid re-entrant event-loop deadlock. 11 passed.
69+
- 2026-04-30T20:24:11-07:00 request-access: PASS. 4 passed.
70+
- 2026-04-30T20:24:34-07:00 actor-handle: PASS. 12 passed.
71+
- 2026-04-30T20:24:41-07:00 action-features: FAIL. Same-actor concurrent actions serialized in wasm because action callbacks were awaited inline in the actor event loop.
72+
- 2026-04-30T20:27:13-07:00 action-features: PASS after spawning wasm action callbacks on local tasks. 12 passed.
73+
- 2026-04-30T20:27:31-07:00 access-control: FAIL. 3 failures: wasm queue `tryNext` used a native-only synchronous queue path, and wasm subscription dispatch skipped `onBeforeSubscribe`.
74+
- 2026-04-30T20:30:16-07:00 access-control: PASS after routing queue `tryNext` through async zero-timeout receive and wiring wasm `onBeforeSubscribe`. 8 passed.
75+
- 2026-04-30T20:30:32-07:00 actor-vars: PASS. 5 passed.
76+
- 2026-04-30T20:30:41-07:00 actor-metadata: PASS. 6 passed.
77+
- 2026-04-30T20:30:50-07:00 actor-onstatechange: PASS. 5 passed.
78+
- 2026-04-30T20:31:15-07:00 actor-db: FAIL. 2 failures: mixed workload integrity timed out and parallel lifecycle churn hit wasm `spawn_local` outside Tokio `LocalSet`.
79+
- 2026-04-30T20:34:06-07:00 actor-db: PASS after scheduling wasm action/http/subscribe callbacks through `RuntimeSpawner`. 13 passed.
80+
- 2026-04-30T20:34:13-07:00 actor-db-raw: PASS. 5 passed, 1 skipped.
81+
- 2026-04-30T20:34:19-07:00 actor-db-init-order: PASS. 6 passed.
82+
- 2026-04-30T20:37:16-07:00 actor-workflow: FAIL. 17 failures cascading from missing wasm runtime KV bridge, reported as `feature.unsupported` for `wasm runtime method kv`.
83+
- 2026-04-30T21:02:53-07:00 actor-workflow: PASS after wasm KV/run/workflow bridge fixes and pegboard actor2 reallocate ordering fix. 18 passed, 1 skipped.
84+
- 2026-04-30T21:09:44-07:00 actor-error-handling: PASS. 7 passed.
85+
- 2026-04-30T21:11:46-07:00 actor-queue: PASS after wasm queue cancellation forwarding and missing `vi` import fix. 25 passed.
86+
- 2026-04-30T21:17:25-07:00 actor-kv: PASS. 3 passed.
87+
- 2026-04-30T21:17:30-07:00 actor-stateless: PASS. 6 passed.
88+
- 2026-04-30T21:17:42-07:00 raw-http: PASS. 15 passed.
89+
- 2026-04-30T21:18:03-07:00 raw-http-request-properties: PASS. 16 passed.
90+
- 2026-04-30T21:18:14-07:00 raw-websocket: PASS. 14 passed, 2 skipped.
91+
- 2026-04-30T22:16:57-07:00 actor-inspector: PASS after wasm inspector auth/snapshot support and wasm-safe inspector websocket/run-handler spawning fixes. 20 passed.
92+
- 2026-04-30T22:17:28-07:00 gateway-query-url: PASS. 2 passed.
93+
- 2026-04-30T22:17:32-07:00 actor-db-pragma-migration: PASS. 4 passed.
94+
- 2026-04-30T22:17:35-07:00 actor-state-zod-coercion: PASS. 3 passed.
95+
- 2026-04-30T22:17:37-07:00 actor-save-state: PASS. 2 passed.
96+
- 2026-04-30T22:17:42-07:00 actor-conn-status: PASS. 6 passed.
97+
- 2026-04-30T22:23:49-07:00 gateway-routing: PASS after core no longer routes non-`/request` fallback paths to `onRequest`. 9 passed.
98+
- 2026-04-30T22:24:02-07:00 lifecycle-hooks: PASS. 8 passed.
99+
- 2026-04-30T22:24:05-07:00 serverless-handler: PASS. 3 passed.
100+
- 2026-04-30T23:30:53-07:00 actor-state: PASS. 3 passed.
101+
- 2026-04-30T23:30:53-07:00 actor-schedule: PASS after wasm shutdown tasks now spawn through `RuntimeSpawner` instead of requiring a current Tokio runtime handle. 4 passed.
102+
- 2026-04-30T23:38:34-07:00 actor-sleep: PASS after wasm `waitUntil` now uses core `wait_until` semantics and core-compatible rejection logging. 21 passed, 1 skipped.
103+
- 2026-05-01T00:00:18-07:00 actor-sleep-db: PASS after wasm shutdown-tracked task completion now wakes sleep finalization, late websocket callback cleanup no-ops detached wasm sleep fallback, and the fixture uses `keepAwake` instead of deprecated `setPreventSleep`. 14 passed, 10 skipped.
104+
- 2026-05-01T00:06:42-07:00 actor-lifecycle: PASS. 10 passed, 1 skipped.
105+
- 2026-05-01T00:06:42-07:00 actor-conn-hibernation: PASS. 5 passed.
106+
- 2026-05-01T00:09:11-07:00 actor-run: PASS. 8 passed.
107+
- 2026-05-01T00:09:11-07:00 hibernatable-websocket-protocol: PASS/SKIP. 2 skipped for wasm matrix.
108+
- 2026-05-01T00:10:39-07:00 actor-db-stress: PASS. 5 passed.
109+
- 2026-05-01T01:15:05-07:00 runtime selection follow-up: PASS. `runtime-selection.test.ts`, `rivetkit check-types`, and `rivetkit build` passed after adding configured NAPI/wasm runtime loading.
110+
- 2026-05-01T01:15:05-07:00 wasm/remote/bare final sweep: PASS. Revalidated `actor-lifecycle`, `actor-conn-hibernation`, `actor-run`, `hibernatable-websocket-protocol` skip behavior, and `actor-db-stress` through configured `setup({ runtime: "wasm" })` driver wiring.
111+
- 2026-05-01T01:15:31-07:00 edge host smoke: PASS. `wasm-runtime.test.ts` and `wasm-host-smoke.test.ts` passed for the shared wasm runtime interface and Supabase/Cloudflare host shims.
112+
- 2026-05-01T01:20:00-07:00 continuing matrix sweep for wasm/remote/cbor and wasm/remote/json.
113+
- 2026-05-01T01:34:15-07:00 wasm/remote/cbor: PASS. Full driver file sweep passed after making the lifecycle observer noSleep and making the actor-run early-exit test wait on the sleep hook event instead of a wall-clock margin.
114+
- 2026-05-01T01:51:54-07:00 wasm/remote/json: PASS. Full driver file sweep passed after normalizing BigInt schedule/alarm values before calling wasm-bindgen number APIs. `actor-sleep-db` had one sequence timeout and passed on full-file rerun.
115+
- 2026-05-01T01:54:52-07:00 continuing matrix sweep for native/remote/bare.
116+
- 2026-05-01T02:05:18-07:00 native/remote/bare actor-db: PASS after fixing pegboard actor2 serverful reallocation after sleep to enter `Starting` instead of staying in `Allocating`. Full file passed, 13 tests.
117+
- 2026-05-01T02:17:48-07:00 native/remote/bare remaining sweep: PASS. Resumed from actor-db-raw through actor-db-stress. Fixed guard header-based actor routing so only `/request` HTTP paths route to actor `onRequest`; reran gateway-routing successfully before continuing. AgentOS remains excluded by request.
118+
- 2026-05-01T02:20:36-07:00 shared-matrix: PASS. 1 passed.
119+
- 2026-05-01T02:25:55-07:00 actor-agent-os: PASS. wasm/remote bare+cbor+json passed 42 tests after normalizing cron job metadata to plain serializable values; native/remote/bare passed 14 tests.
120+
- 2026-05-01T02:26:11-07:00 initial requested remote matrix complete. wasm/remote bare+cbor+json passed all driver files, including AgentOS; native/remote/bare passed all driver files, including AgentOS.
121+
- 2026-05-01T03:12:00-07:00 native/local bare+cbor+json: PASS. Full driver file sweep passed after fixing native SQLite reader-authorizer fallback for `PRAGMA table_info`, queue spawn synchronization with `enqueueAndWait`, and CBOR/JSON safe integer revival for native callback payloads.
122+
- 2026-05-01T04:02:00-07:00 native/remote cbor+json: PASS. Full driver file sweep passed after rerunning transient `actor-db-stress` failure successfully. Together with native/remote/bare and wasm/remote bare+cbor+json, the supported driver matrix is complete.
123+
- 2026-05-01T04:03:14-07:00 final verification: PASS. `cargo check -p rivetkit-sqlite`, `cargo test -p rivetkit-sqlite --test statement_classification -- --nocapture`, `pnpm --filter rivetkit run check-types`, `pnpm --filter rivetkit run check:wait-for-comments`, and `pnpm test tests/cbor-json-compat.test.ts` all passed.

0 commit comments

Comments
 (0)