Skip to content

test(runtime): cover MicroSandbox persistent storage parity - #1458

Merged
skevetter merged 1 commit into
mainfrom
codex/microsandbox-storage-parity
Oct 11, 2026
Merged

skevetter merged 1 commit into
mainfrom
codex/microsandbox-storage-parity

Conversation

@skevetter

@skevetter skevetter commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

MicroSandbox parity checks do not yet verify persistent root-disk capacity or its data lifecycle. Add the same three scenarios for the built-in driver and published external provider v0.1.6: the runtime default, explicit provider storage overriding host requirements, and fractional host storage rounded up when the provider value is zero.

Each scenario checks active root-disk configuration and actual guest filesystem capacity, then proves that a VM-local file survives stop/start and disappears after recreation while host workspace content persists. Creation time and boot IDs distinguish resume from replacement. A dedicated KVM CI entry uses the existing checksum-pinned MicroSandbox v0.7.7 setup, alongside all earlier parity suites.

Validation:

  • Focused uncached race tests passed; vet and module verification passed.
  • Ginkgo dry run selected six scenarios. The dry run only validates selection; the actual CI run has now passed all six storage VM scenarios against the built-in driver and published external provider v0.1.6.
  • Strict lint passed with zero issues, all 13 repository hooks passed, and fresh full committed local CodeRabbit reviewed all three changed files with zero findings.

All 76 implementation CI jobs passed on 104e439, including the existing lifecycle, image, mount and resource suites plus the new storage suite (36 selected scenarios total). Fresh remote reviews are pending.

Ephemeral roots, network policy, prebuilds, Dockerless behavior, logs, cancellation and compatibility remain separate parity work. This PR does not change the default provider implementation.

Summary by CodeRabbit

  • Tests

    • Added end-to-end checks for persistent storage capacity across built-in and external providers, including default, configured, and host-requirement-based sizing.
    • Verified that guest data persists after a stop and restart, while recreating a sandbox resets guest data.
  • Documentation

    • Updated provider parity guidance to include persistent-storage checks and their expected behavior across restarts and recreation.

@netlify

netlify Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for devsydev ready!

Name Link
🔨 Latest commit 104e439
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6acb3e6d600604000814ee56
😎 Deploy Preview https://deploy-preview-1458--devsydev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8d9ab549-5dd7-4b2d-9728-1088561efff7


📥 Commits

Reviewing files that changed from the base of the PR and between 0064e51 and 104e439.



📒 Files selected for processing (3)
  • .github/workflows/pr-ci.yml
  • e2e/tests/up/provider_microsandbox_storage.go
  • sites/docs-devsy-sh/content/docs/developing-providers/runtime-protocol.mdx


Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.




📝 Walkthrough
📝 Walkthrough

Walkthrough

Adds end-to-end persistent-root storage checks for builtin and external MicroSandbox providers. The suite checks storage sizing, filesystem capacity, workspace-file persistence, and sandbox lifecycle behavior. CI runs the suite, and the provider parity documentation describes its scenarios and role.

Changes

MicroSandbox storage parity

Layer / File(s) Summary
Storage sizing and persistence checks
e2e/tests/up/provider_microsandbox_storage.go
Adds tests for default storage, provider storage overriding host requirements, and host requirements rounded up to whole GiB. Checks managed disk size and filesystem capacity. Verifies workspace markers across stop, restart, and recreation, and checks creation time and boot ID changes.
CI and parity documentation
.github/workflows/pr-ci.yml, sites/docs-devsy-sh/content/docs/developing-providers/runtime-protocol.mdx
Adds the suite to the CI matrix with a 1200-second test timeout and a 25-minute job timeout. Documents the scenarios, run command, prerequisites, and parity-gate statements.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other



Merge Risk: ⚪ Minimal · up to 104e4

This change adds test coverage and documentation for MicroSandbox storage parity and does not alter runtime behavior. No actionable merge-blocking risk was identified.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (2 skipped: 2 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: adding runtime tests for MicroSandbox persistent storage parity.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (2 skipped: 2 unsupported.)


  • Fix all pre-merge checks with AI
✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR



  • 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.

@netlify

netlify Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for images-devsy-sh canceled.

Name Link
🔨 Latest commit 104e439
🔍 Latest deploy log https://app.netlify.com/projects/images-devsy-sh/deploys/6acb3e6de1c3c90008dc19bd

@skevetter

Copy link
Copy Markdown
Contributor Author

@greptileai review

@greptile-apps

greptile-apps Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable issue was found.

Summary

Adds persistent-storage checks for the built-in MicroSandbox driver and external provider v0.1.6.

  • MicroSandbox parity checks now cover root storage through VM recreation.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A["Create workspace"] --> B["Check root capacity and host file"]
  B --> C["Write VM-local file"]
  C --> D["Stop and start"]
  D --> E["Check same creation time, new boot, and preserved files"]
  E --> F["Recreate"]
  F --> G["Check new creation time and boot"]
  G --> H["Check VM-local file removed and host file preserved"]
Loading

Reviews (1) · Last reviewed commit: "test(runtime): cover MicroSandbox persis..." · Reviewed by Greptile

@skevetter

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@skevetter

Copy link
Copy Markdown
Contributor Author

Final head 104e439 passed all 76 implementation CI jobs, including all 36 selected MicroSandbox scenarios. Fresh Greptile is 5/5 and completed full CodeRabbit run 8d9ab549-5dd7-4b2d-9728-1088561efff7 covered all three PR files with no actionable findings or retained merge risks. There are no actionable review threads.

The generic docstring-coverage warning does not identify a missing public contract. These private E2E helpers have descriptive names and explicit assertions; the non-obvious filesystem-capacity allowance is commented, and the scenario contract is documented. Adding comments that merely restate each helper would not improve clarity. No code change is warranted for that warning.

@skevetter
skevetter marked this pull request as ready for review October 11, 2026 10:40
@skevetter
skevetter merged commit b55112c into main Oct 11, 2026
98 checks passed
@skevetter
skevetter deleted the codex/microsandbox-storage-parity branch October 11, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant