Files
orca/cloud/apps/sandbox-control/wrangler.build-runner.dev.jsonc
T
Neil b55b368887 fix(sandbox-control): host EnvironmentBuildRunner in its own Worker so control-plane preview URLs work (#234)
Cloudflare generates no preview URLs for a Worker that implements a Durable Object, so every
--preview-alias upload of orca-sandbox-control-dev 404ed. The runner DO moves to
orca-sandbox-build-runner-dev (wrangler.build-runner.dev.jsonc); the control plane binds it with
script_name and deletes its own class (migration env-build-runner-v2). The runner only keeps the
alarm: each step calls back into the control plane's BuildTicker RPC entrypoint, which runs the same
tickBuild with the control plane's D1, provider and secrets, so nothing is duplicated.
2026-11-10 04:08:45 -08:00

18 lines
1.1 KiB
JSON

{
"$schema": "node_modules/wrangler/config-schema.json",
// DEV deployment of the environment build runner. Deploy it BEFORE the control plane:
// wrangler deploy -c wrangler.build-runner.dev.jsonc
// It hosts the EnvironmentBuildRunner Durable Object, which the control plane (wrangler.dev.jsonc)
// binds with script_name. Cloudflare generates no preview URLs for a Worker that implements a Durable
// Object, so the class lives here and the control plane keeps its preview aliases. The runner only
// keeps alarms: every build step runs in the control plane over the CONTROL RPC binding (BuildTicker
// in src/index.ts), so it has no D1, no vars and no secrets. See src/build-runner.ts.
"name": "orca-sandbox-build-runner-dev",
"main": "src/build-runner.ts",
"compatibility_date": "2026-11-01",
"workers_dev": false,
"preview_urls": false,
"services": [{ "binding": "CONTROL", "service": "orca-sandbox-control-dev", "entrypoint": "BuildTicker" }],
"migrations": [{ "tag": "env-build-runner-v1", "new_sqlite_classes": ["EnvironmentBuildRunner"] }]
}