Skip to content

feat(pi): support RivetKit 3.0.0-preview - #368

Merged
eersnington merged 2 commits into
mainfrom
feat/pi-rivetkit-3
Oct 27, 2026
Merged

eersnington merged 2 commits into
mainfrom
feat/pi-rivetkit-3

Conversation

@eersnington

Copy link
Copy Markdown
Member

The docs install rivetkit@next, which is 3.0.0-preview. @rivet-dev/pi required rivetkit <2.4.0, so npm add @rivet-dev/pi rivetkit@next failed with ERESOLVE.

Before After
rivetkit peer >=2.3.26 <2.4.0 >=2.3.26 <2.4.0 || ^3.0.0-preview.2
Tests rivetkit 2.3.26 rivetkit 3.0.0-preview.2
  • fix(pi): never use Pi in onDisconnect during shutdown: RivetKit 3.0 runs onDisconnect for a destroy before shutdown starts, and 2.x runs it after onDestroy. The hook used to open Pi when it found it closed. Now, once shutdown has started, it never opens or uses Pi, and reading c.pi throws Pi Durable is closed because the actor is stopping.
if (c.abortSignal.aborted || piRuntime(c).status !== "open") {
	await withUnavailablePi(c, piStopping(), () =>
		actorConfig.onDisconnect?.(c, conn),
	);
	return;
}
  • feat(pi): support RivetKit 3.0 preview: the peer range, and tests on 3.0.
    • Each test file starts its own engine. A 3.0 engine keeps its data directory locked for about 5 s after its port closes, so the next file's engine failed to start. isolated-engine.ts gives each file its own HOME and engine port; engine-root.ts removes them after the run.

@railway-app

railway-app Bot commented Oct 27, 2026

Copy link
Copy Markdown

This PR was not deployed automatically as @eersnington does not have access to the Railway project.

In order to get automatic PR deploys, please add @eersnington to your workspace on Railway.

@eersnington eersnington changed the title feat(pi): support RivetKit 3.0 preview feat(pi): support RivetKit 3.0.0-preview Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

📟 Pip-Boy · 7ac8581

📦 Packages · fresh npm install resolve, no lockfile · this PR vs base

No notable install size, dependency, or entrypoint changes across 10 packages.

All 10 packages · linux-x64-gnu
package (linux-x64-gnu) @latest base this PR Δ vs base packages
@rivet-dev/pi 429.8 MB 429.9 MB 429.9 MB +1.3 KB (+0.0%) 218 (0)
@rivet-dev/sandbox-adapter 76.0 MB 113.8 KB 113.8 KB 0 1 (0)
@sandbox-agent/cli-shared 27.2 KB 27.2 KB 27.2 KB 0 1 (0)
@sandbox-agent/persist-indexeddb 12.4 KB 12.4 KB 12.4 KB 0 1 (0)
@sandbox-agent/persist-postgres 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/persist-rivet 12.2 KB 12.2 KB 12.2 KB 0 1 (0)
@sandbox-agent/persist-sqlite 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/react 41.5 MB 41.9 MB 41.9 MB 0 15 (0)
acp-http-client 6.7 MB 6.7 MB 6.7 MB 0 3 (0)
sandbox-agent 30.9 MB 31.0 MB 31.0 MB 0 8 (0)

🧹 Rust dependencies

Skipped: this PR doesn't change any Rust code or dependencies.

🦀 Binaries

Skipped: this PR doesn't change any Rust code.

⏱ Timing

job wall time slowest step
zizmor 15s checkout · 9s
changes 17s checkout · 13s
footprint 3m03s Run pnpm --dir sandbox-agent install --frozen-lockfile · 1m26s
⏭ hygiene — skipped
⏭ self-test — skipped
⏭ native · ${{ matrix.platform }} — skipped
report 28s setup-node · 10s
🔭 Full CI trace for this commit

One OpenTelemetry trace of CI and Pip-Boy for 7ac8581: every job and step, with the sizes above attached. Run after CI finishes.

pnpm install --frozen-lockfile --filter 'pipboy...'
pnpm --filter pipboy pipboy trace --sha 7ac858119332ac2a1e70adeb272d6651b4eb8276

Add --otlp <url> to send it to any OTLP/HTTP collector.

Agent instruction: From a rivet-dev/agents checkout, run the commands above, then read the trace file the last command prints. List the slowest jobs and steps and explain where CI time went.

@eersnington
eersnington marked this pull request as ready for review October 27, 2026 02:38
@eersnington
eersnington force-pushed the feat/pi-rivetkit-3 branch 2 times, most recently from 218f7ea to bf11fc9 Compare October 27, 2026 03:38
@eersnington
eersnington merged commit e5eadb8 into main Oct 27, 2026
9 of 10 checks passed
@eersnington
eersnington deleted the feat/pi-rivetkit-3 branch October 27, 2026 08:38
Sign up for free to 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