Skip to content

feat(pi): install Bun in cloud sandboxes - #6123

Merged
BillLeoutsakosvl346 merged 1 commit into
stagingfrom
pi-sandbox-bun
Jul 31, 2026
Merged

feat(pi): install Bun in cloud sandboxes#6123
BillLeoutsakosvl346 merged 1 commit into
stagingfrom
pi-sandbox-bun

Conversation

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor

Summary

  • install the repository-pinned Bun version in E2B and Daytona Pi sandbox images
  • fail image builds on a Bun version mismatch and document dependency installation behavior

Type of Change

  • New feature

Testing

  • rendered and inspected the Daytona Dockerfile
  • passed Sim lint check and type-check
  • passed the full pre-ship audit suite
  • provider image builds not run because E2B and Daytona credentials are unavailable

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jul 31, 2026 5:59pm

Request Review

@cursor

cursor Bot commented Jul 31, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes Pi cloud sandbox images and shared build scripts; risk is operational (must rebuild templates) rather than auth/data, but failover parity between E2B and Daytona depends on both images being rebuilt.

Overview
Pi Create PR / Update PR / Review Code sandboxes now ship Bun alongside the existing Pi CLI, Git, and Node.js stack. The repo-pinned version (1.3.13, from the root packageManager) is installed globally via bun@… in the shared PI_GLOBAL_NPM_PACKAGES list (renamed from PI_NPM), and both E2B and Daytona image builders run PI_BUN_VERSION_ASSERT so a wrong Bun version fails the image build instead of at runtime.

Docs for Create PR setup now state that repository dependencies are not preinstalled and that Pi can run bun install when a cloned repo needs them.

Rebuild E2B and Daytona Pi images after merge so production sandboxes pick up Bun.

Reviewed by Cursor Bugbot for commit 2ccb81d. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Installs the repository-pinned Bun release in both cloud sandbox images and documents that repository dependencies remain runtime-installed.

  • Adds Bun 1.3.13 to the shared global package list and verifies its version during image builds.
  • Applies the shared installation and assertion to the E2B template and Daytona snapshot.
  • Updates Pi documentation to list Bun among the preinstalled tools and clarify that dependencies are not preinstalled.

Confidence Score: 5/5

The PR appears safe to merge with no actionable correctness or security failures identified.

The Bun pin matches the repository package-manager version, both image providers consume the same package list, and each build now fails immediately if the installed runtime does not match the expected version.

Important Files Changed

Filename Overview
apps/sim/scripts/pi-sandbox-packages.ts Pins Bun 1.3.13, includes it in the shared global package list, and defines an exact build-time version assertion.
apps/sim/scripts/build-pi-e2b-template.ts Installs the shared global packages into the E2B image and validates the installed Bun version.
apps/sim/scripts/build-pi-daytona-snapshot.ts Installs the same shared global packages into the Daytona image and validates Bun before completing the snapshot.
apps/docs/content/docs/en/workflows/blocks/pi.mdx Documents Bun as preinstalled while clarifying that repository dependencies still require installation.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Pin[PI_BUN_VERSION 1.3.13] --> Packages[PI_GLOBAL_NPM_PACKAGES]
  Packages --> E2B[E2B template npmInstall]
  Packages --> Daytona[Daytona snapshot npm install -g]
  E2B --> AssertE2B[Assert bun --version]
  Daytona --> AssertDaytona[Assert bun --version]
  AssertE2B --> SandboxE2B[E2B Pi sandbox]
  AssertDaytona --> SandboxDaytona[Daytona Pi sandbox]
Loading

Reviews (1): Last reviewed commit: "feat(pi): install Bun in cloud sandboxes" | Re-trigger Greptile

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