fix: configure bounded-agent smoke workflows at runtime - #6908
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Resolve authentication documentation conflicts against the shipped sidecar-only Actions OIDC isolation and regenerate the updater workflow lock. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Use the available AJV release that avoids vulnerable fast-uri, and pin the docs build to a patched PostCSS release. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
There was a problem hiding this comment.
Pull request overview
Moves bounded-agent configuration to runtime so generated AWF configs exist before patching.
Changes:
- Adds Docker and gVisor runtime wrappers.
- Regenerates both locked workflows.
- Adds wrapper regression tests.
Show a summary per file
| File | Description |
|---|---|
scripts/ci/smoke-bounded-agents-workflow.test.ts |
Tests generated wrappers and config patching. |
.github/workflows/smoke-bounded-agents.md |
Adds Docker runtime configuration wrapper. |
.github/workflows/smoke-bounded-agents.lock.yml |
Regenerates the Docker workflow lock. |
.github/workflows/smoke-bounded-agents-gvisor.md |
Adds gVisor runtime configuration wrapper. |
.github/workflows/smoke-bounded-agents-gvisor.lock.yml |
Regenerates the gVisor workflow lock. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 5/5 changed files
- Comments generated: 1
- Review effort level: Balanced
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
✅ Copilot review passed with no inline comments. @lpcox Add the |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
1 similar comment
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
| Metric | Base | PR | Delta |
|---|---|---|---|
| Lines | 98.94% | 98.95% | 📈 +0.01% |
| Statements | 98.83% | 98.83% | ➡️ +0.00% |
| Functions | 99.19% | 99.19% | ➡️ +0.00% |
| Branches | 95.15% | 95.12% | 📉 -0.03% |
📁 Per-file Coverage Changes (2 files)
| File | Lines (Before → After) | Statements (Before → After) |
|---|---|---|
src/artifact-preservation.ts |
96.3% → 95.0% (-1.26%) | 96.3% → 95.0% (-1.25%) |
src/log-directory-setup.ts |
96.2% → 100.0% (+3.78%) | 96.3% → 100.0% (+3.71%) |
Coverage comparison generated by scripts/ci/compare-coverage.ts
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79dfde80-9308-4d73-bd34-3ec5bc114cd7
|
Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded. |
|
✅ Smoke Claude passed |
|
EGRESS_RESULT allow=pass deny=pass ✅ Allowed domain (github.com) reachable: Overall: PASS cc @lpcox Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "example.com"See Network Configuration for more information.
|
|
Smoke Test: Copilot Engine — @lpcox
Overall: PASS
|
|
Smoke Test: Copilot BYOK (Direct) Mode
Running in direct BYOK mode (COPILOT_PROVIDER_API_KEY) via api-proxy → api.githubcopilot.com Overall: PASS cc @lpcox
|
Smoke Test: GitHub Actions Services Connectivity
Overall: FAIL — could not resolve host.docker.internal from within the AWF sandbox.
|
Smoke Test: Claude Engine ValidationOverall result: ✅ PASS
|
Smoke Test: API Proxy OTel Tracing — Results
Overall: All 5 scenarios passed.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — PASS Note: Java initially failed due to
|
Chroot Version Comparison Results
Overall: FAILED — Node.js version mismatch between host (
|
|
Smoke Test: Docker Sbx — Overall: PASS
cc @lpcox
|
|
Merged PRs reviewed: ✅ GitHub PR query Overall: FAIL Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "registry.npmjs.org"See Network Configuration for more information.
|
|
Gemini Smoke Test: PASS. Connectivity ✅, File Writing ✅, MCP ❌ (Policy).
|
Summary
awfwrapper--configfile immediately before AWF startsRoot cause
pre-agent-stepsrun before gh-aw creates${RUNNER_TEMP}/gh-aw/awf-config.json. Both smoke workflows attempted to read that file during setup, so they failed withENOENTbefore AWF or a bounded agent started.Validation
gh aw compile smoke-bounded-agents smoke-bounded-agents-gvisor --validatenpm run buildnpm run lintnpm test -- --runInBand