You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a contributor, I want VM E2E to run against a driver that contains its required runtime and guest supervisor, so that unrelated pull requests receive reliable CI results.
Problem Statement
The VM artifact pipeline can stage the compressed runtime and bundled sandbox supervisor under target/vm-runtime-compressed, then restore the Rust target cache before the driver build. The cache restore removes those staged inputs. The build script emits warnings and produces a stub openshell-driver-vm binary instead of failing. Both managed and external VM E2E jobs then fail during sandbox provisioning with sandbox supervisor not embedded.
Impact / Why This Matters
Unrelated pull requests, including #3013, fail Core E2E even though they do not modify VM code. The current workaround is to rerun CI and hope for a cache state that preserves the inputs; this is insufficient because the build job itself reports success while packaging an unusable binary.
Acceptance Criteria
The VM runtime and supervisor inputs cannot be removed or overwritten by Rust target-cache restoration before openshell-driver-vm is built.
The VM-driver build fails immediately if any required embedded input is missing, including openshell-sandbox.zst.
The packaged Linux VM driver successfully provisions a sandbox in both managed and external-driver E2E jobs.
A regression check covers a build with a restored Rust target cache.
Stage target/vm-runtime-compressed, including openshell-sandbox.zst.
Restore the Rust target cache before the VM driver build.
Build and package openshell-driver-vm, then run VM E2E.
Observe build warnings that compressed artifacts are missing and provisioning failures that report sandbox supervisor not embedded.
Environment
OpenShell: CI build 0.0.117-dev.2+ga795360f3
OS: GitHub Actions Linux x86_64 runner
Runtime: Branch E2E Checks, managed and external VM driver suites
Logs
The VM build generated target/vm-runtime-compressed/openshell-sandbox.zst, then later emitted: Missing compressed artifact: target/vm-runtime-compressed/openshell-sandbox.zst. VM E2E subsequently failed with: sandbox supervisor not embedded. Build openshell-driver-vm with OPENSHELL_VM_RUNTIME_COMPRESSED_DIR set and run mise run vm:setup and mise run vm:supervisor first.
Context
This was observed on #3013 and on unrelated PR branches. The triggering failure is Branch E2E Checks run 33182128484. The artifact pipeline was introduced in #2977. Moving the staged runtime outside target/ is the robust fix; restoring the Rust cache before staging is the minimal fix.
User Story
As a contributor, I want VM E2E to run against a driver that contains its required runtime and guest supervisor, so that unrelated pull requests receive reliable CI results.
Problem Statement
The VM artifact pipeline can stage the compressed runtime and bundled sandbox supervisor under target/vm-runtime-compressed, then restore the Rust target cache before the driver build. The cache restore removes those staged inputs. The build script emits warnings and produces a stub openshell-driver-vm binary instead of failing. Both managed and external VM E2E jobs then fail during sandbox provisioning with sandbox supervisor not embedded.
Impact / Why This Matters
Unrelated pull requests, including #3013, fail Core E2E even though they do not modify VM code. The current workaround is to rerun CI and hope for a cache state that preserves the inputs; this is insufficient because the build job itself reports success while packaging an unusable binary.
Acceptance Criteria
Reproduction Steps
Environment
Logs
The VM build generated target/vm-runtime-compressed/openshell-sandbox.zst, then later emitted: Missing compressed artifact: target/vm-runtime-compressed/openshell-sandbox.zst. VM E2E subsequently failed with: sandbox supervisor not embedded. Build openshell-driver-vm with OPENSHELL_VM_RUNTIME_COMPRESSED_DIR set and run mise run vm:setup and mise run vm:supervisor first.
Context
This was observed on #3013 and on unrelated PR branches. The triggering failure is Branch E2E Checks run 33182128484. The artifact pipeline was introduced in #2977. Moving the staged runtime outside target/ is the robust fix; restoring the Rust cache before staging is the minimal fix.