From bc0bbc273c5fc3f6feb6bd98b2de2c5057b958b6 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sat, 14 Mar 2026 14:53:53 -0400 Subject: [PATCH] Add Daytona sandbox defaults to fabro.toml and smoke workflow Set Daytona as the project-level default sandbox so workflows that don't specify their own sandbox config run on Daytona automatically. Add a smoke workflow that verifies the sandbox toolchain (git, rustc, bun). Co-Authored-By: Claude Opus 4.6 (1M context) --- fabro.toml | 32 ++++++++++++++++++++++++++++ fabro/workflows/smoke/workflow.fabro | 11 ++++++++++ fabro/workflows/smoke/workflow.toml | 1 + 3 files changed, 44 insertions(+) create mode 100644 fabro/workflows/smoke/workflow.fabro create mode 100644 fabro/workflows/smoke/workflow.toml diff --git a/fabro.toml b/fabro.toml index 258750b0a..77a998f1a 100644 --- a/fabro.toml +++ b/fabro.toml @@ -3,3 +3,35 @@ version = 1 [fabro] root = "fabro/" retro = false + +[sandbox] +provider = "daytona" + +[sandbox.daytona] +auto_stop_interval = 30 + +[sandbox.daytona.labels] +repo = "fabro-sh/fabro" + +[sandbox.daytona.snapshot] +name = "fabro-v2" +cpu = 4 +memory = 8 +disk = 20 +dockerfile = """ +FROM ubuntu:24.04 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl git ca-certificates build-essential pkg-config libssl-dev unzip \ + && rm -rf /var/lib/apt/lists/* + +# Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:${PATH}" + +# Bun +RUN curl -fsSL https://bun.sh/install | bash +ENV PATH="/root/.bun/bin:${PATH}" + +WORKDIR /root +""" diff --git a/fabro/workflows/smoke/workflow.fabro b/fabro/workflows/smoke/workflow.fabro new file mode 100644 index 000000000..e82a19c66 --- /dev/null +++ b/fabro/workflows/smoke/workflow.fabro @@ -0,0 +1,11 @@ +digraph Smoke { + graph [goal="Verify the sandbox is working"] + rankdir=LR + + start [shape=Mdiamond, label="Start"] + exit [shape=Msquare, label="Exit"] + + main [label="Smoke Test", prompt="Run these commands and report the results:\n1. echo 'Hello from Daytona'\n2. uname -a\n3. which git && git --version\n4. which rustc && rustc --version || echo 'no rustc'\n5. which bun && bun --version || echo 'no bun'\n\nReport what you found."] + + start -> main -> exit +} diff --git a/fabro/workflows/smoke/workflow.toml b/fabro/workflows/smoke/workflow.toml new file mode 100644 index 000000000..d9914dfa6 --- /dev/null +++ b/fabro/workflows/smoke/workflow.toml @@ -0,0 +1 @@ +version = 1