Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/cli-v3/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,8 @@ async function resolveConfig(
["run_engine_v2" as const].concat(config.compatibilityFlags ?? [])
);

const defaultRuntime: BuildRuntime = features.run_engine_v2 ? "node" : DEFAULT_RUNTIME;
const detectedRuntime: BuildRuntime = typeof process.versions.bun === "string" ? "bun" : "node";
const defaultRuntime: BuildRuntime = config.runtime ?? detectedRuntime;
Comment on lines +194 to +195
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 Behavioral change: deploy from Bun CLI will now default to Bun runtime in production images

Previously the default runtime was always "node" (since run_engine_v2 was unconditionally forced true at packages/cli-v3/src/config.ts:191). Now, if a user runs trigger deploy from a Bun process without explicitly setting runtime in their trigger.config.ts, the deployed Docker image will use the Bun runtime. This is intentional per the commit message ("detect Bun runtime automatically when not explicitly configured"), but it's a meaningful behavioral change for users who happen to use Bun as their local shell/script runner but don't intend for their deployed tasks to run under Bun (which is marked as experimental per packages/cli-v3/src/config.ts:351-356). The bun experimental warning at line 351-356 only fires when config.runtime === "bun" is explicitly set in the config file, so auto-detected Bun will skip the warning.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.


const mergedConfig = defu(
{
Expand Down