ci: run awf rootless in smoke-chroot (drop sudo)#6412
Conversation
The smoke-chroot version-parity tests invoked `sudo -E awf --build-local`, but AWF runs rootless under the default network-isolation mode (like every other smoke workflow's agent step). Drop the `sudo -E` prefix so no workflow runs awf with sudo. Also refresh a stale `sudo -E awf` comment in smoke-copilot-byok-aoai-entra. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5393edbc-2209-4ea7-ad79-0ef7ddf60048
There was a problem hiding this comment.
Pull request overview
Removes unnecessary elevated execution from enabled AWF smoke workflows.
Changes:
- Runs chroot version-parity checks with rootless
awf. - Refreshes related documentation and generated workflow locks.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/smoke-copilot-byok-aoai-entra.md |
Updates the AWF invocation comment. |
.github/workflows/smoke-copilot-byok-aoai-entra.lock.yml |
Refreshes generated metadata. |
.github/workflows/smoke-chroot.md |
Removes sudo -E from three AWF checks. |
.github/workflows/smoke-chroot.lock.yml |
Compiles the rootless commands and metadata. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 4/4 changed files
- Comments generated: 0
- Review effort level: Medium
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
Recompiled all workflows using the pinned gh-aw build (--gh-aw-ref 9400dbf79835d033cff68666b4db511c52cde431) and re-ran the smoke post-processing script. This ref relocates the setup action from the standalone github/gh-aw-actions/setup repo to github/gh-aw/actions/setup@<ref>. Update the five workflow tests that pinned the old action path to accept both the legacy (gh-aw-actions/setup) and new (gh-aw/actions/setup) layouts so npm test passes in either compile mode. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5393edbc-2209-4ea7-ad79-0ef7ddf60048
Resolve lock-file conflicts by regenerating all workflows with the pinned gh-aw build (--gh-aw-ref 9400dbf79835d033cff68666b4db511c52cde431) plus the smoke post-processing script. main's new anthropic-auth-token-workflow-protection test scanned compiled Claude locks for a `--exclude-env ANTHROPIC_AUTH_TOKEN` flag, which the pinned gh-aw build does not emit. That flag is redundant: awf's buildExclusionSet already strips ANTHROPIC_AUTH_TOKEN from the agent environment whenever the API proxy is enabled. Rewrote the test to assert that awf-level invariant directly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5393edbc-2209-4ea7-ad79-0ef7ddf60048
|
✅ Copilot review passed with no inline comments. @lpcox Add the |
|
🚀 Security Guard has started processing this pull request |
|
📰 VERDICT: Smoke Docker Sbx has concluded. All systems operational. This is a developing story. 🎤 |
|
✅ Smoke Copilot BYOK AOAI (Entra) completed. Copilot AOAI BYOK (Entra) mode operational. 🔓 |
|
✅ Smoke Claude passed |
|
🛡️ Smoke Copilot Network Isolation confirmed the egress allowlist is enforced. ✅ |
|
📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅ |
|
✅ Build Test Suite completed successfully! |
|
✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟 No GitHub write action was needed for this smoke test; local validation only. |
|
✅ Smoke Gemini completed. All facets verified. 💎 |
|
✅ Contribution Check completed successfully! No comment needed; the PR description and provided context indicate the workflow change is within existing structure and notes passing test suites. |
|
✅ Smoke Copilot BYOK AOAI (api-key) completed. Copilot AOAI BYOK (api-key) mode operational. 🔓 |
|
🔑 Smoke Copilot PAT PAT auth validated. All systems operational. ✅ |
|
🔌 Smoke Services — All services reachable! ✅ |
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
✅ Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓 |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Smoke Test: Copilot Network Isolation @lpcox EGRESS_RESULT allow=pass deny=pass ✅ Allowed domain (api.github.com): HTTP 200 Overall: PASS Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"
- "example.com"See Network Configuration for more information.
|
Smoke Test: Claude Engine Validation
Overall result: PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Smoke Test: Copilot BYOK (Direct Mode) — PASS ✅
Mode: Direct BYOK (COPILOT_PROVIDER_API_KEY) via api-proxy → api.githubcopilot.com Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Smoke Test Results
Overall status: FAIL Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "localhost"See Network Configuration for more information.
|
Smoke Test: GitHub Actions Services Connectivity
Overall: FAIL
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🔬 Smoke Test — PAT Auth
Overall: PASS (core infra confirmed; pre-step data unavailable due to template expansion) Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Chroot Version Comparison Results
All tests passed — runtime versions in chroot match host exactly. Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🔬 Smoke Test Results
Overall: FAIL — pre-step template variables ( cc @lpcox Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
Running in direct BYOK mode (COPILOT_PROVIDER_API_KEY + COPILOT_PROVIDER_BASE_URL) via api-proxy → Azure OpenAI (Foundry, o4-mini-aw) Overall: PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
🔥 Smoke Test: Docker Sbx — PASS
Overall: PASS /cc @lpcox
|
Smoke Test\n- #6410 Protect
|
|
Smoke PASS Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
OTEL Smoke Test Results
Overall: All scenarios pass ✅ Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
What
Ensures no enabled smoke workflow runs
awfwithsudo.smoke-chroot— the three chroot version-parity tests invokedsudo -E awf --build-local .... Dropped thesudo -Eprefix so they run rootless, matching how every other smoke workflow already runs the agent step under the default network-isolation mode. Updated.mdsource and recompiled the lock file.smoke-copilot-byok-aoai-entra— refreshed a stalevia \sudo -E awf …`comment tovia `awf …`` (frontmatter-hash-only lock change).Why
AWF runs rootless under the default
--network-isolationmode, sosudois no longer needed to invoke it.smoke-chrootwas the last enabled workflow still wrappingawfinsudo.Notes
red-team-benchmarkalso invokedsudo awf; it has been disabled separately (gh aw disable) rather than modified, so its lock is untouched and it won't run.sudo tee/sudo chmodto install theawfwrapper into/usr/local/bin— that's installation, not running awf, and is out of scope.postprocess-smoke-workflowsandred-team-benchmarktest suites pass (54/54).