Skip to content

Latest commit

 

History

History
107 lines (74 loc) · 2.63 KB

File metadata and controls

107 lines (74 loc) · 2.63 KB

Rise Sandbox Feature Test Runbook (Flow)

Use this when you want deterministic, isolated feature checks in a VM and fast feedback for infra tuning.

Goal

  • Verify a feature works in a clean sandbox.
  • Avoid host-machine state leaks.
  • Capture timings/logs so CI/CD and install paths can be optimized.

Prereqs

  • macOS host.
  • rise available.
  • vibe VM binary from ~/repos/lynaghk/vibe.

rise sandbox expects the VM-oriented vibe, not the unrelated CLI binary some PATHs contain.

Preflight:

cd ~/repos/lynaghk/vibe
cargo build --release

Canonical Sandbox Command

From ~/code/rise:

rise sandbox "set -euo pipefail; <your commands>; echo SANDBOX_OK" \
  --root ~/code/flow \
  --expect SANDBOX_OK

Why this shape:

  • set -euo pipefail fails hard on the first real issue.
  • --expect gives a strict pass/fail marker.
  • --root ~/code/flow mounts the Flow repo into /root/project.

Feature Test Template

Replace with your feature command:

rise sandbox "set -euo pipefail; cd /root/project; <feature command>; echo FEATURE_OK" \
  --root ~/code/flow \
  --expect FEATURE_OK

Installer/Release Verification (Flow)

Use this to verify curl -fsSL https://myflow.sh/install.sh | sh pulls the latest release:

rise sandbox "set -euo pipefail; curl -fsSL https://myflow.sh/install.sh | sh; ~/.flow/bin/f --version; echo INSTALL_OK" \
  --root ~/code/flow \
  --expect INSTALL_OK

Then verify the latest release tag is what you expect:

gh release view --repo nikivdev/flow --json tagName,publishedAt

Infra Optimization Loop

  1. Run the same sandbox test 3-5 times.
  2. Record:
    • VM boot + script duration from rise sandbox output.
    • Feature command duration inside script (time <cmd> if needed).
    • Artifact install/build timing (f --version, compile/install steps).
  3. Compare before/after infra changes:
    • CI runner mode (github vs host vs blacksmith).
    • Caching changes.
    • Installer path changes.

Sandbox logs are emitted under:

~/code/flow/out/logs/sandbox-<timestamp>.log

Common Failures

vibe: error: unrecognized arguments: --cpus --ram ...

Cause: wrong vibe binary in PATH.

Fix: build/use ~/repos/lynaghk/vibe/target/release/vibe (rise resolves this first when present).

Sandbox passes but installed version seems old

Check:

  1. Latest release tag:
    gh release view --repo nikivdev/flow --json tagName,publishedAt
  2. Latest release workflow status:
    gh run list -R nikivdev/flow --limit 5

If the latest release tag points to your target commit, installer should fetch that version.