Skip to content

test(runtime): cover MicroSandbox image backend parity - #1448

Merged
skevetter merged 2 commits into
mainfrom
codex/microsandbox-image-parity
Oct 9, 2026
Merged

skevetter merged 2 commits into
mainfrom
codex/microsandbox-image-parity

Conversation

@skevetter

@skevetter skevetter commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

MicroSandbox's shared lifecycle checks did not exercise the host image backend. Add six real VM cases that run the same registry fallback, Docker-only image import, and Dockerfile plus local Dev Container Feature build against the built-in driver and external provider v0.1.5.

The registry case publishes an image to an isolated loopback registry, verifies that its reference is absent from Docker, and checks manifest reads and the guest OS. The local image and Feature cases verify filesystem and environment markers inside the guest. A dedicated CI matrix entry installs checksum-pinned MicroSandbox v0.7.7 and requires KVM, with a 20-minute suite deadline and a 25-minute job deadline. The runtime documentation records the new coverage and remaining parity requirements.

Validation:

  • Uncached race tests and vet for e2e/tests/up and e2e/framework; suite dry run selects all six new cases.
  • Built the current CLI and successfully built the Dockerfile plus local Feature in an isolated Devsy home; a Docker container verified both installed marker files and the Dockerfile environment value.
  • Strict task cli:lint:ci, all-file prek, and module verification.
  • Full fresh committed local CodeRabbit reviewed all eight changed files with zero findings after documenting the Docker prerequisite.
  • Actual checksum-pinned MicroSandbox v0.7.7 CI passed all six image cases and both existing lifecycle cases on eab1acac against built-in and external v0.1.5.
  • All 73 implementation CI jobs passed. One targeted macOS retry passed after an unchanged process-group test returned EPERM; five local focused race runs and an uncached full package race run also passed. No test or timeout was weakened.
  • Fresh Greptile reviewed the final head with confidence 5/5 and no findings. Full remote CodeRabbit reviewed all eight files with no actionable findings and minimal merge risk; no review threads remain. Its generic docstring-coverage warning needs no source change: the helpers are unexported tests with descriptive names, and strict Go lint passes.
  • Both commits have valid GitHub signatures. Local MicroSandbox v0.7.2 is below the required v0.7.7 minimum; native VM evidence comes from CI.

@netlify

netlify Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for devsydev ready!

Name Link
🔨 Latest commit eab1aca
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6ac932b3c4ea7000089c7cf7
😎 Deploy Preview https://deploy-preview-1448--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 9, 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: 38ad9b2f-b478-4960-b72d-d6d03af25baf

📥 Commits

Reviewing files that changed from the base of the PR and between 5648580 and eab1aca.


📒 Files selected for processing (8)
  • .github/workflows/pr-ci.yml
  • e2e/tests/up/provider_microsandbox.go
  • e2e/tests/up/provider_microsandbox_images.go
  • e2e/tests/up/testdata/microsandbox-images/.devcontainer.json
  • e2e/tests/up/testdata/microsandbox-images/Dockerfile
  • e2e/tests/up/testdata/microsandbox-images/features/parity/devcontainer-feature.json
  • e2e/tests/up/testdata/microsandbox-images/features/parity/install.sh
  • 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; 0 remain after this review.



📝 Walkthrough

Walkthrough

Adds end-to-end image parity tests for builtin and external MicroSandbox providers. The suite checks registry fallback, Docker-only images, and Dockerfile builds with a local Dev Container Feature. CI and provider documentation include the suite.

Changes

MicroSandbox image parity

Layer / File(s) Summary
Image parity fixtures and provider tests
e2e/tests/up/provider_microsandbox_images.go, e2e/tests/up/provider_microsandbox.go, e2e/tests/up/testdata/microsandbox-images/*, e2e/tests/up/testdata/microsandbox-images/features/parity/*
Adds tests for registry fallback, Docker-only images, and Dockerfile builds with a local Feature. The tests check image and Feature markers for both providers.
CI and documented suite execution
.github/workflows/pr-ci.yml, sites/docs-devsy-sh/content/docs/developing-providers/runtime-protocol.mdx
Adds the suite to the integration-test matrix. Documents its cases, prerequisites, deadlines, and parity-gate caveat.

Priority: ➖ Normal

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

Change: Other

Sequence Diagram(s)

sequenceDiagram
  participant ParityTests
  participant MicroSandboxProviders
  participant Docker
  participant LoopbackRegistry
  participant RunningEnvironment
  ParityTests->>MicroSandboxProviders: Run each image case against both providers
  ParityTests->>Docker: Build or inspect local images
  ParityTests->>LoopbackRegistry: Serve Alpine image and count manifest reads
  MicroSandboxProviders->>RunningEnvironment: Start configured workspace
  ParityTests->>RunningEnvironment: Check image and feature markers
Loading

Merge Risk: ⚪ Minimal · up to eab1a

The image-parity suite is ready to merge after normal checks; no concrete blocking issue remains.

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 6 functions across 3 files. (5 skipped: 5 … 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 image backend 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 6 functions across 3 files. (5 skipped: 5 unsupported.)



  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

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

@github-actions github-actions Bot added the size/l label Oct 9, 2026
@netlify

netlify Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for images-devsy-sh canceled.

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

@skevetter

Copy link
Copy Markdown
Contributor Author

@greptileai review

@greptile-apps

greptile-apps Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no actionable defects were found.

Summary

Adds six MicroSandbox image tests: three cases each for the built-in provider and external provider v0.1.5.

  • MicroSandbox image tests now cover three image paths on both providers.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  Suite[Image parity suite] --> Builtin[Built-in MicroSandbox]
  Suite --> External[External provider v0.1.5]
  Builtin --> Cases[Three cases per provider]
  External --> Cases
  Cases --> Registry[Loopback registry fallback]
  Cases --> Local[Docker-only image import]
  Cases --> Feature[Dockerfile and local Feature]
  Registry --> Guest[Check guest results]
  Local --> Guest
  Feature --> Guest
Loading

Reviews (1) · Last reviewed commit: "docs(runtime): state image parity Docker..." · Reviewed by Greptile

@skevetter

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@skevetter
skevetter marked this pull request as ready for review October 9, 2026 20:18
@skevetter
skevetter merged commit 9356030 into main Oct 9, 2026
166 of 168 checks passed
@skevetter
skevetter deleted the codex/microsandbox-image-parity branch October 9, 2026 20:18
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