refactor: remove --enable-chroot flag, make chroot mode always-on#714
refactor: remove --enable-chroot flag, make chroot mode always-on#714
Conversation
Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 82.25% | 82.32% | 📈 +0.07% |
| Statements | 82.30% | 82.37% | 📈 +0.07% |
| Functions | 82.14% | 82.05% | 📉 -0.09% |
| Branches | 74.70% | 74.30% | 📉 -0.40% |
📁 Per-file Coverage Changes (1 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/docker-manager.ts |
83.5% → 83.8% (+0.30%) | 82.9% → 83.2% (+0.29%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Node.js Build Test Results ✅All Node.js projects tested successfully!
Overall: PASS
|
Build Test: Bun - PASS ✅
Overall: PASS ✅ All Bun projects built and tested successfully.
|
C++ Build Test Results
Overall: PASS ✅ All C++ projects built successfully.
|
.NET Build Test Results
Overall: PASS ✅ Detailshello-world
json-parse
All .NET projects built and ran successfully through the firewall.
|
Build Test: Deno
Overall: ✅ PASS All Deno tests completed successfully.
|
Rust Build Test Results
Overall: PASS ✅ All Rust projects built and tested successfully.
|
Go Build Test Results
Overall: PASS ✅ All Go projects successfully downloaded dependencies and passed tests.
|
|
Smoke Test Results Last 2 merged PRs:
✅ GitHub MCP: Retrieved PRs Status: PASS
|
Deno Build Test Results
Overall: ✅ PASS All Deno tests completed successfully.
|
|
Smoke Test Results (Run #21961531948) Last 2 merged PRs:
✅ GitHub MCP - 2 PRs retrieved Status: PASS cc: @Mossaka
|
|
Merged PRs: ✅ fix(chroot): detect cargo binaries when CARGO_HOME unset; fix: add CARGO_HOME/bin to GitHub Actions PATH for rust tests
|
Chroot Mode Version Comparison Results
Overall Result: ❌ Tests did not all pass The chroot mode is accessing host binaries, but Python and Node.js versions differ between the host environment and what's visible inside the chroot container. Go matches correctly.
|
Java Build Test Results ✅All Java build tests completed successfully!
Overall: PASS All projects compiled successfully and all tests passed.
|
Chroot mode is now always-on, which requires the container image to be built from the current source (matching entrypoint.sh). The 13 agentic workflows (security-guard, ci-doctor, etc.) were still using --image-tag 0.13.12 --skip-pull with pre-built GHCR images from before the chroot-always-on change. Add all agentic workflow lock files to the post-processing script and run it to replace --image-tag/--skip-pull with --build-local, remove sparse-checkout (full repo needed for npm build), and replace the install step with local build steps.
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 |
Build Test: Rust - FAILED ❌Error: Rust toolchain not available in runner environment.
Overall: FAIL IssueThe GitHub Actions runner does not have Rust installed. The workflow requires Required ActionAdd a Rust installation step before running this workflow: - name: Install Rust
uses: dtolnay/rust-toolchain@stableOr use a runner image with Rust pre-installed.
|
|
Smoke Test Results (Run #21962737181) Last 2 Merged PRs:
Test Results: Status: PASS
|
Deno Build Test Results
Overall: ✅ PASS All Deno tests passed successfully.
|
✅ Smoke Test PASSLast 2 merged PRs:
Tests: ✅ GitHub MCP | ✅ Playwright | ✅ File Write | ✅ Bash cc @Mossaka
|
C++ Build Test Results
Overall: PASS ✅ All C++ projects built successfully.
|
Bun Build Test Results
Overall: PASS ✅ All Bun projects installed successfully and tests passed.
|
Node.js Build Test Results
Overall: PASS ✅ All Node.js projects successfully installed dependencies and passed tests.
|
✅ .NET Build Test ResultsAll .NET projects built and ran successfully!
Overall: PASS Test Detailshello-world:
json-parse:
|
Go Build Test Results
Overall: PASS ✅ All Go projects built and tested successfully.
|
✅ Java Build Test ResultsAll Java projects compiled and tested successfully through the AWF firewall.
Overall: PASS ✅ All Maven dependencies were downloaded through the Squid proxy (172.30.0.10:3128) with proper
|
|
Smoke test results:
|
Chroot Test ResultsChroot mode allows running commands with host binaries instead of container binaries. This test verifies that the host versions are accessible from within the containerized environment.
Result: Test failed - Python and Node.js versions do not match between host and chroot environment. Only Go version matched successfully. The chroot environment should expose the exact host versions of these runtimes, but version mismatches were detected for Python and Node.js.
|
AWF should only run in chroot mode. Remove the
--enable-chrootflag and eliminate the non-chroot code path entirely.Core
enableChrootfromWrapperConfiginterface and CLI optiondocker-manager.ts: allconfig.enableChrootconditionals replaced with unconditional chroot behavior —getRealUserHome(), chroot capabilities (SYS_CHROOT,SYS_ADMIN),apparmor:unconfined, selective/hostmounts, tmpfs mcp-logs hiding$HOMEpaths); only the/host$HOMEcredential hiding remainsTests
enableChrootfrom all test configs across unit and integration testsenableChroot: falsebehavior (capabilities, apparmor, env var, Dockerfile selection)Docs & Workflows
README.md,docs/chroot-mode.md,docs/usage.md,docs/architecture.md,docs/selective-mounting.md,skill.md,docs-site/CLI reference, security architecture--enable-chrootfrom all 26.lock.ymlworkflow files andtest-chroot.shBefore/After
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.