fix: add env capture for Rust and Java in chroot mode#517
fix: add env capture for Rust and Java in chroot mode#517
Conversation
Add a comprehensive skill that enables Claude Code agents to effectively use the AWF (Agentic Workflow Firewall) tool for running commands with network isolation and domain whitelisting. The skill is available at the repository root (skill.md) for easy access: https://raw.githubusercontent.com/github/gh-aw-firewall/main/skill.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Recompile build-test-rust and build-test-java workflows with updated gh-aw that adds: - Setup Rust action (actions-rust-lang/setup-rust-toolchain) - CARGO_HOME capture step for Rust - JAVA_HOME capture step for Java These environment variable captures are needed because sudo may not preserve them when running AWF in chroot mode. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
💫 TO BE CONTINUED... Smoke Claude was cancelled! Our hero faces unexpected challenges... |
|
📰 DEVELOPING STORY: Smoke Copilot reports was cancelled. Our correspondents are investigating the incident... |
✅ Coverage Check PassedOverall Coverage
Coverage comparison generated by |
The compiled gh-aw workflows require the actions/ folder from gh-aw to be present in the repo. This folder contains the setup scripts and action definitions needed for workflow execution. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
Build Test: Rust - FAILED ❌Error: Rust toolchain not installed in the execution environment.
Overall: FAIL IssueThe test environment does not have the Rust toolchain (cargo/rustc) installed. Cannot proceed with build and test operations. Required ActionInstall Rust toolchain via rustup or configure the workflow to use a Rust-enabled container/runner.
|
Go Build Test Results
Overall: PASS ✅ All Go projects built and tested successfully.
|
|
Smoke Test Results - Claude Engine GitHub MCP: ✅
Playwright: ✅ (page title: "GitHub · Change is constant. GitHub keeps you ahead. · GitHub") File Writing: ✅ (created Bash Tool: ✅ (verified file content) Status: PASS
|
C++ Build Test Results
Overall: PASS ✅ All C++ projects built successfully.
|
Node.js Build Test Results
Overall: ✅ PASS All Node.js build tests completed successfully.
|
Deno Build Test Results
Overall: ✅ PASS All Deno tests completed successfully.
|
Smoke Test ResultsLast 2 Merged PRs:
✅ GitHub MCP - Retrieved PR data Overall Status: PASS cc @Mossaka
|
Bun Build Test Results
Overall: ❌ FAIL Error DetailsBoth test projects failed with the same error: Root Cause: Bun v1.3.8 is experiencing runtime crashes in the container environment (Ubuntu 24.04, Docker). The test runner aborts with a core dump before executing any tests. Environment:
Next Steps:
|
The setup-rust-toolchain action doesn't set CARGO_HOME - it uses the default $HOME/.cargo path. Changed the capture step to unconditionally set CARGO_HOME=$HOME/.cargo so it's available in AWF chroot mode. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
Build Test: Java - FAILED ❌Environment Error: Maven installation is corrupted and cannot execute. Test Results
Overall: FAILED ❌ Action Required: Maven needs to be reinstalled or a different runner with working Java toolchain is needed.
|
Deno Build Test Results
Overall: ✅ PASS All Deno tests completed successfully.
|
Rust Build Test Results
Overall: FAIL Error DetailsBoth projects failed during test compilation with a linker error: This appears to be an environment issue with the Rust linker configuration. The builds completed successfully, but tests could not be executed due to the linker wrapper error.
|
|
Smoke Test Results - Claude Engine ✅ GitHub MCP: Listed 2 merged PRs
✅ Playwright: Navigated to github.com, title verified ✅ File Write: Created ✅ Bash Tool: Verified file content Status: PASS
|
Build Test: Go ✅
Overall: PASS All Go projects built and tested successfully.
|
Node.js Build Test Results
Overall: PASS ✅ All Node.js projects built and tested successfully.
|
C++ Build Test Results
Overall: PASS ✅ All C++ projects built successfully.
|
Smoke Test ResultsLast 2 Merged PRs:
Tests:
Status: PASS cc: @Mossaka
|
Build Test: Bun - FAILED ❌Status: Bun runtime error - unable to complete tests Environment
ErrorAll This error occurs even with:
Root CauseThis is a known Bun issue in containerized/restricted environments. The "NotDir" error typically indicates Bun is trying to access a file it expects to be a directory (often related to cache paths or HOME directory structure). Test Results
Overall: FAIL - Bun runtime error prevents testing
|
The actions folder should come from the gh-aw release, not be copied into this repo. The compiled workflows reference github/gh-aw/actions/setup@... which fetches directly from the gh-aw repository. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Recompiled build-test-rust and build-test-java workflows using the released gh-aw v0.42.0 binary. This ensures the workflows use remote action references (github/gh-aw/actions/setup@SHA) instead of local paths (./actions/setup), removing the need for a local actions folder. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
|
🎬 THE END — Smoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨ |
Smoke Test Results (Claude)Last 2 merged PRs:
Test Results:
Overall Status: PASS
|
Summary
Context
The Build Test Rust and Build Test Java workflows were failing because:
cargocommands failed with "No such file or directory" errorbash --versionRoot cause: In AWF chroot mode, environment variables like CARGO_HOME and JAVA_HOME need to be explicitly captured and exported to
$GITHUB_ENVbecausesudomay not preserve them.This is the same pattern used for GOROOT in Go workflows.
Test plan
🤖 Generated with Claude Code