Skip to content

Add A19/B19 runner doctor entries: ARC/DinD safeoutputs mount + rootless cleanup chmod noise - #7067

Merged
lpcox merged 4 commits into
mainfrom
copilot/update-runner-doctor-a19-b19
Aug 8, 2026
Merged

Add A19/B19 runner doctor entries: ARC/DinD safeoutputs mount + rootless cleanup chmod noise#7067
lpcox merged 4 commits into
mainfrom
copilot/update-runner-doctor-a19-b19

Conversation

Copilot AI commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

The self-hosted runner failure-mode catalog was missing two recently fixed lessons: an ARC/DinD safeoutputs mount translation bug (create_pull_request failing with "No patch file found" despite a successful write) and benign rootless cleanup chmod warnings drowning out the real primary failure in logs.

Catalog updates (shared/self-hosted-failure-modes.md)

  • A19: safeoutputs /tmp/gh-aw:/tmp/gh-aw:rw mount wasn't passed through translateBindMountHostPath() / --docker-host-path-prefix, so DinD daemons resolved the bind source against their own filesystem instead of the runner's staged path — fixed in fix: translate safeoutputs mount for ARC/DinD #6959
  • B19: preserveDirectory() logged full execa errors at warn for expected EPERM/EACCES chmod cleanup failures on rootless runners instead of reusing the existing benign-error classifier from fixArtifactPermissionsForRootless(), which buried the actual startup error — fixed in fix: demote benign rootless cleanup errors #6939
  • Added matching rows to the error-string quick-lookup table

Mirrored to keep catalogs in sync

  • .github/workflows/self-hosted-runner-doctor.md: quick-lookup entries + detailed narrative sections for A19/B19
  • .github/agents/self-hosted-runner-doctor.md: identical table rows, narrative sections, and lookup entries in the embedded portable copy

…noise) doctor entries

Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Copilot AI changed the title [WIP] Update runner doctor to add A19 and B19 details Add A19/B19 runner doctor entries: ARC/DinD safeoutputs mount + rootless cleanup chmod noise Aug 7, 2026
Copilot AI requested a review from lpcox August 7, 2026 23:37
@lpcox
lpcox marked this pull request as ready for review August 7, 2026 23:48
Copilot AI balanced review requested due to automatic review settings August 7, 2026 23:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds A19/B19 diagnostics to the self-hosted runner doctor catalog.

Changes:

  • Documents ARC/DinD safeoutputs mount translation failures.
  • Documents benign rootless cleanup warning noise.
  • Mirrors entries across all doctor variants.
Show a summary per file
File Description
.github/workflows/shared/self-hosted-failure-modes.md Adds canonical A19/B19 catalog and lookup entries.
.github/workflows/self-hosted-runner-doctor.md Adds workflow doctor diagnostics.
.github/agents/self-hosted-runner-doctor.md Updates the portable embedded catalog.

Review details

Tip

Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 3/3 changed files
  • Comments generated: 2
  • Review effort level: Balanced

Comment thread .github/workflows/shared/self-hosted-failure-modes.md Outdated
Comment thread .github/agents/self-hosted-runner-doctor.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

✅ Copilot review passed with no inline comments.

@copilot Add the ready-for-aw label to this PR to trigger agentic CI smoke tests.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🛡️ Smoke Copilot Network Isolation reports failed to deliver outputs while checking network isolation. Investigate the egress model.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

📡 Smoke OTel Tracing completed. All tracing scenarios validated. ✅

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Claude passed

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Build Test Failed Build Test Suite - See logs for details

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

📰 DEVELOPING STORY: Smoke Docker Sbx reports failed to deliver outputs. Our correspondents are investigating the incident...

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Chroot tests passed! Smoke Chroot - All security and functionality tests succeeded.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Gemini completed. All facets verified. 💎

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK completed. Copilot BYOK mode operational. 🔓

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK AOAI (Entra) reports failed to deliver outputs. AOAI BYOK (Entra) mode investigation needed...

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🚀 Security Guard has started processing this pull request

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Copilot BYOK AOAI (api-key) reports failed. AOAI BYOK (api-key) mode investigation needed...

Smoke test PASS: GitHub MCP connectivity ✅, github.com connectivity ✅, File I/O test ✅, BYOK inference ✅ (direct BYOK mode via api-proxy to Azure OpenAI Foundry)

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

📰 DEVELOPING STORY: Smoke Copilot reports failed to deliver outputs. Our correspondents are investigating the incident...

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Contribution Check failed. Please review the logs for details.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🔌 Smoke Services — All services reachable! ✅

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: Claude Engine Validation

Check Result
API status PASS
gh check PASS
File status PASS

Overall result: PASS

Generated by Smoke Claude for #7067 · haiku45 · 59.5 AIC · ⊞ 3.6K ·
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

EGRESS_RESULT allow=pass deny=pass

✅ Allowed domain (github.com) reachable: allowed=200
✅ Blocked domain (example.com) denied: CONNECT tunnel failed, 403

Overall: PASS

cc @lpcox

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • example.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "example.com"

See Network Configuration for more information.

🛡️ Egress verdict from Smoke Copilot Network Isolation
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Copilot BYOK Smoke Test ✅ PASS

Running in direct BYOK mode (COPILOT_PROVIDER_API_KEY via api-proxy → api.githubcopilot.com)

  • ✅ GitHub MCP: Connected (2 merged PRs verified)
  • ✅ HTTP Connectivity: Code 200 to github.com
  • ✅ File Write/Read: Test file exists and readable
  • ✅ BYOK Inference: Agent → api-proxy → api.githubcopilot.com

Recent merged PRs:

🔑 BYOK report filed by Smoke Copilot BYOK
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: Copilot Engine@lpcox

Overall: PASS

📰 BREAKING: Report filed by Smoke Copilot
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: GitHub Actions Services Connectivity

  • Redis: ❌ (Temporary failure in name resolution)
  • PostgreSQL pg_isready: ❌ (no response)
  • PostgreSQL SELECT 1: ❌ (could not translate host name)

Overall: FAILhost.docker.internal did not resolve inside the AWF sandbox.

🔌 Service connectivity validated by Smoke Services
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: API Proxy OpenTelemetry Tracing — Results

  • Scenario 1 (Module Loading): otel.js loaded successfully; isEnabled()true; exports include startRequestSpan, setTokenAttributes, setBudgetAttributes, endSpan, endSpanError, shutdown, isEnabled.
  • Scenario 2 (Test Suite): 3 suites / 68 tests passed (otel.test.js, otel-fanout.test.js, otel-workload-identity.test.js).
  • Scenario 3 (Env Var Forwarding): env-passthrough.ts forwards GITHUB_AW_OTEL_TRACE_ID/GITHUB_AW_OTEL_PARENT_SPAN_ID; api-proxy-env-config.ts forwards GH_AW_OTLP_ENDPOINTS, OTEL_EXPORTER_OTLP_ENDPOINT, and trace context vars.
  • Scenario 4 (Token Tracker Integration): token-tracker-http.js contains the onUsage callback hook point.
  • Scenario 5 (OTEL Diagnostics): 1 span exported to /tmp/gh-aw/otel.jsonl (gh-aw.agent.setup), confirming OTLP export works via the configured exporter path; no LLM request spans in this run since no proxied LLM calls were made during the smoke test.

Overall: all scenarios passed.

📡 OTel tracing validated by Smoke OTel Tracing
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR titles: unavailable (safeinputs-gh missing)
Merged PR review: ❌
safeinputs-gh pr list: ❌
Playwright GitHub title: ✅
Temp file write/read: ✅
Discussion query/comment: ❌
npm ci + npm run build: ✅
Overall status: FAIL

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • registry.npmjs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "registry.npmjs.org"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Chroot Version Comparison Results

Runtime Host Version Chroot Version Match?
Python Python 3.12.13 Python 3.12.13 ✅ YES
Node.js v24.18.0 v22.23.2 ❌ NO
Go go1.22.12 go1.22.12 ✅ YES

Overall: FAILED — Node.js version mismatch between host and chroot environments. smoke-chroot label not applied.

Tested by Smoke Chroot
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

🏗️ Build Test Suite Results

Ecosystem Project Build/Install Tests Status
Bun elysia 1/1 passed ✅ PASS
Bun hono 1/1 passed ✅ PASS
C++ fmt N/A ✅ PASS
C++ json N/A ✅ PASS
Deno oak N/A 1/1 passed ✅ PASS
Deno std N/A 1/1 passed ✅ PASS
.NET hello-world N/A ✅ PASS
.NET json-parse N/A ✅ PASS
Go color ok ✅ PASS
Go env ok ✅ PASS
Go uuid ok ✅ PASS
Java gson 1/1 passed ✅ PASS
Java caffeine 1/1 passed ✅ PASS
Node.js clsx passed ✅ PASS
Node.js execa passed ✅ PASS
Node.js p-limit passed ✅ PASS
Rust fd 1/1 passed ✅ PASS
Rust zoxide 1/1 passed ✅ PASS

Overall: 8/8 ecosystems passed — PASS

Note: Java builds initially failed with Could not create local repository at /home/runner/.m2/repository (the directory is root-owned in this environment, unrelated to the firewall/proxy). Worked around by setting -Dmaven.repo.local to a writable path; Maven's HTTP/HTTPS proxy settings via ~/.m2/settings.xml worked correctly through the Squid proxy.

Generated by Build Test Suite for #7067 · auto · 37.8 AIC · ⊞ 11.5K ·
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

chore: upgrade gh-aw to v0.86.0 pre-release and recompile workflows
fix(api-proxy): stop alias fallback picking arbitrary models

GitHub MCP connectivity: ✅
GitHub.com connectivity: ✅
File write/read test: ✅
BYOK inference test: ✅

Running in direct BYOK mode (AWF_AUTH_TYPE=github-oidc + AWF_AUTH_AZURE_* + COPILOT_PROVIDER_BASE_URL) via api-proxy → Azure OpenAI (Foundry, o4-mini-aw) authenticated via Microsoft Entra

Overall: PASS

@lpcox

🪪 BYOK (AOAI Entra) report filed by Smoke Copilot BYOK AOAI (Entra)
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: Gemini Engine Validation

Overall status: PASS

💎 Faceted by Smoke Gemini
Add label ready-for-aw to run again

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Smoke Test: Docker Sbx — Results

  • ✅ GitHub MCP: connected (list_pull_requests call succeeded)
  • ✅ GitHub.com connectivity: HTTP 200
  • ✅ File write/read: verified

Overall: PASS

cc @lpcox

📰 BREAKING: Report filed by Smoke Docker Sbx
Add label ready-for-aw to run again

@lpcox
lpcox merged commit 4bdd872 into main Aug 8, 2026
121 of 129 checks passed
@lpcox
lpcox deleted the copilot/update-runner-doctor-a19-b19 branch August 8, 2026 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🩺 Runner Doctor UpdateRunner Doctor: add A19 (ARC/DinD safeoutputs mount) and B19 (rootless cleanup chmod noise)

3 participants