GeezerVison is showing github.com — fix(cli): allow selecting Bun 1.4 runtime to avoid 300s idle fetch timeout by yulman2207 · Pull Request #5043 · triggerdotdev/trigger.dev
Conversation
fixes #5041
✅ Checklist
- I have followed every step in the contributing guide — vouch requested in Vouch please: how to become a contributor #5010, still pending; local pre-push hook is broken on my Windows setup, so I ran
oxfmt --check, oxlint and knip by hand (all exit 0) and pushed with LEFTHOOK=0
- The PR title follows the convention.
- I ran and tested the code works (see Testing; no real deploy yet)
Testing
- Reproduced the root cause inside the pinned images with the script from the issue: Bun 1.3.3 (
runtime: "bun") fails a silent request at 299.996 s and Bun 1.3.14 at 300.001 s with TimeoutError: The operation timed out.; Bun 1.4.2 passes. timeout: false passes on all three.
- Checked the published images by digest:
bun:1.3-bookworm is Bun 1.3.14, bun:1.4-bookworm is Bun 1.4.2, both with uid 1001, dumb-init, and no node binary.
- New/extended unit tests:
@trigger.dev/core runtime schema/helpers (valid new values, bun-1.5/bun-2/bun-latest rejected with the existing "Unsupported runtime" error, plain bun unchanged), buildImage (image + -build pairing for the new runtimes, entrypoint is node for bun and bun for bun-1.x), supervisor uid pin.
- Passing: core runtime tests (36), supervisor
kubernetes.test.ts (21), CLI src/deploy src/build src/config.test.ts (165), pnpm run build --filter trigger.dev --filter @trigger.dev/sdk --filter @trigger.dev/rsc, typecheck --filter supervisor, format, lint, knip.
- Dry run of the real generator:
bun → bun:1.3-node20-bookworm + dumb-init node; bun-1.3 → bun:1.3-bookworm + dumb-init bun; bun-1.4 → bun:1.4-bookworm + dumb-init bun.
- Not tested: a real deploy, or the managed run controller under Bun 1.4. The indexer already runs the index controller via
bun run, but a maintainer should verify the run controller on a real deploy.
Changelog
Adds bun-1.3 (Bun 1.3.14) and bun-1.4 (Bun 1.4.2) as runtime options in trigger.config.ts, mapped to the already-published triggerdotdev/bun:1.3-bookworm / 1.4-bookworm images and their -build variants (pinned by multi-arch index digest). Bun 1.4 does not have the 300 s idle fetch timeout, so runtime: "bun-1.4" fixes #5041. Docs describe the new values and the Bun 1.3.x timeout.
What changed:
@trigger.dev/core: bun-1.3/bun-1.4 in ConfigRuntime and BuildRuntime; runtime helpers handle them; small isBunRuntime helper replaces === "bun" checks.
trigger.dev CLI: image maps, Containerfile generation, bun esbuild plugin and the experimental warning cover all bun runtimes.
@trigger.dev/rsc: react-dom/server bun condition covers all bun runtimes.
apps/supervisor: the bun uid (1001) pin now applies to every bun runtime (the new images use the same uid).
- Docs: config file, Bun guide, runtime versions snippet, self-hosting custom base images.
Backward compatibility: plain runtime: "bun" is unchanged (still bun:1.3-node20-bookworm, same digest, still starts with dumb-init node).
Open questions for maintainers
- Should plain
"bun" move off Bun 1.3.3 (e.g. to 1.4)? I did not change it; that is your call. base-images/README.md mentions a bun-legacy runtime for the node + bun image — not added here.
- The versioned images have no
node, so the final stage starts the app with dumb-init bun. Please confirm running the managed run controller under Bun is acceptable.
- Changeset is
patch, following the node-24/node-26 precedent; say if you want minor.
- feat(cli): allow overriding the deploy base images per project #5003: touches different regions of
buildImage.ts/build.ts/config-file.mdx, so I don't expect a textual conflict; with a custom base on a bun-1.x runtime the base only needs bun, not node (noted in the self-hosting docs).
Screenshots
N/A
💯
🤖 Generated with Claude Code
https://claude.ai/code/session_01XW9yYwuPcYpqPr1zX5pk2W
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Add `bun-1.3` and `bun-1.4` as runtime options, mapped to the published
`triggerdotdev/bun:1.3-bookworm` and `1.4-bookworm` images (Bun 1.3.14 and
1.4.2). Bun 1.3.x aborts any fetch that receives no bytes for 300s, which
fails long non-streaming calls; Bun 1.4 does not have that limit.
Plain `bun` is unchanged and still resolves to the 1.3-node20 image. The
versioned images have no node binary, so their final stage starts the app
with `dumb-init bun`. The supervisor pins uid 1001 for every bun runtime.
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XW9yYwuPcYpqPr1zX5pk2W
🦋 Changeset detected
Latest commit: 6ac9a2d
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 28 packages
| Name |
Type |
| @trigger.dev/core |
Patch |
| @trigger.dev/rsc |
Patch |
| trigger.dev |
Patch |
| @trigger.dev/build |
Patch |
| @trigger.dev/python |
Patch |
| @trigger.dev/redis-worker |
Patch |
| @trigger.dev/schema-to-json |
Patch |
| @trigger.dev/sdk |
Patch |
| @internal/clickhouse |
Patch |
| @internal/llm-model-catalog |
Patch |
| @internal/metrics-pipeline |
Patch |
| @trigger.dev/rbac |
Patch |
| @internal/redis |
Patch |
| @internal/replication |
Patch |
| @internal/run-engine |
Patch |
| @internal/run-store |
Patch |
| @internal/schedule-engine |
Patch |
| @internal/tracing |
Patch |
| @internal/webhook-engine |
Patch |
| @internal/webhook-sources |
Patch |
| @internal/dashboard-agent |
Patch |
| @internal/cache |
Patch |
| @trigger.dev/react-hooks |
Patch |
| @trigger.dev/billing |
Patch |
| @trigger.dev/database |
Patch |
| @trigger.dev/otlp-importer |
Patch |
| @trigger.dev/sso |
Patch |
| @internal/testcontainers |
Patch |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|

Note Currently processing new changes in this PR. This may take a few minutes, please wait...
⚙️ Run configuration
-
- Configuration used: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
c30b45c1-a9c3-4fb7-b7ec-e45b931755b4
📥 Commits
-
Reviewing files that changed from the base of the PR and between c801170 and 6ac9a2d.
📒 Files selected for processing: 15
-
.changeset/bun-version-runtimes.md
apps/supervisor/src/workloadManager/kubernetes.test.ts
apps/supervisor/src/workloadManager/kubernetesPodSpec.ts
docs/config/config-file.mdx
docs/guides/frameworks/bun.mdx
docs/self-hosting/overview.mdx
docs/snippets/node-versions.mdx
packages/cli-v3/src/build/plugins.ts
packages/cli-v3/src/config.ts
packages/cli-v3/src/deploy/buildImage.test.ts
packages/cli-v3/src/deploy/buildImage.ts
packages/core/src/v3/build/runtime.test.ts
packages/core/src/v3/build/runtime.ts
packages/core/src/v3/schemas/build.ts
packages/rsc/src/build.ts
✨ Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
❤️ Share
-
Comment @coderabbitai help to get the list of available commands.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|