Skip to content

feat: add gVisor smoke tests for Claude, Codex, and build workloads#6136

Merged
lpcox merged 2 commits into
mainfrom
gvisor-smoke-tests
Jul 12, 2026
Merged

feat: add gVisor smoke tests for Claude, Codex, and build workloads#6136
lpcox merged 2 commits into
mainfrom
gvisor-smoke-tests

Conversation

@lpcox

@lpcox lpcox commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds three new smoke test workflows that use the new sandbox.agent.runtime: gvisor frontmatter from gh-aw v0.82.8 to expand gVisor test coverage across engines and workload types.

New Workflows

Workflow Engine What it tests
smoke-gvisor-claude.md Claude (haiku-4-5) gVisor + Claude engine: MCP, connectivity, file I/O, network isolation
smoke-gvisor-codex.md Codex (gpt-5.4) gVisor + Codex engine: MCP, connectivity, file I/O, network isolation
smoke-gvisor-build-test.md Copilot gVisor + real build workloads: npm ci && npm run build, Jest tests, Go build & test

Changes to Existing Workflow

  • smoke-gvisor.md: Updated to use sandbox.agent.runtime: gvisor + sudo: true instead of the manual gVisor install step. The compiler now handles gVisor installation automatically.

Key Design Decisions

  • All new workflows use sandbox.agent.runtime: gvisor with sudo: true (required per gh-aw/gh-aw#44796)
  • Each workflow has its own label_command trigger (test-gvisor-claude, test-gvisor-codex, test-gvisor-build) for targeted testing
  • Build test runs Node.js (npm ci/build/jest) and Go (clone + build + test) to exercise syscall-heavy workloads under gVisor
  • All workflows include gVisor runtime verification via /proc/version and post-job artifact checks

Next Steps

  1. Compile workflows with gh aw compile
  2. Merge and run to start debugging gVisor support

Add three new smoke test workflows that use the new sandbox.agent.runtime: gvisor
frontmatter from gh-aw v0.82.8:

- smoke-gvisor-claude.md: gVisor + Claude engine (haiku-4-5)
- smoke-gvisor-codex.md: gVisor + Codex engine (gpt-5.4)
- smoke-gvisor-build-test.md: gVisor + Node.js/Go build & test workloads

Also update existing smoke-gvisor.md to use the compiler-managed gVisor install
(sandbox.agent.runtime: gvisor) instead of the manual install step, since the
compiler now handles gVisor installation automatically.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 12, 2026 15:19
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

✅ Coverage Check Passed

Overall Coverage

Metric Base PR Delta
Lines 98.30% 98.33% 📈 +0.03%
Statements 98.23% 98.26% 📈 +0.03%
Functions 99.07% 99.07% ➡️ +0.00%
Branches 93.85% 93.85% ➡️ +0.00%
📁 Per-file Coverage Changes (1 files)
File Lines (Before → After) Statements (Before → After)
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

@lpcox lpcox merged commit 607db26 into main Jul 12, 2026
24 checks passed
@lpcox lpcox deleted the gvisor-smoke-tests branch July 12, 2026 15:23

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 gVisor smoke-test coverage across Copilot, Claude, Codex, and build workloads.

Changes:

  • Uses compiler-managed gVisor setup.
  • Adds engine-specific and multi-ecosystem smoke workflows.
  • Adds runtime, isolation, artifact, and token checks.
Show a summary per file
File Description
.github/workflows/smoke-gvisor.md Migrates existing smoke test to compiler-managed gVisor.
.github/workflows/smoke-gvisor-codex.md Adds Codex gVisor smoke coverage.
.github/workflows/smoke-gvisor-claude.md Adds Claude gVisor smoke coverage.
.github/workflows/smoke-gvisor-build-test.md Adds Node.js and Go workload checks.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 5/8 changed files
  • Comments generated: 22
  • Review effort level: Medium

Comment on lines +3 to +4
on:
workflow_dispatch:
Comment on lines +3 to +4
on:
workflow_dispatch:
Comment on lines +3 to +4
on:
workflow_dispatch:
Comment on lines +86 to +87
steps:
- name: Setup Go
Comment on lines +89 to +92
echo "::group::GitHub.com connectivity check"
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 https://github.com)
echo "github.com returned HTTP $HTTP_CODE"
echo "::endgroup::"
Comment on lines +33 to +34
add-labels:
allowed: [smoke-gvisor-claude]
Comment on lines +41 to +42
add-labels:
allowed: [smoke-gvisor-build]
Comment on lines +5 to +8
label_command:
name: test-gvisor-codex
events: [pull_request]
remove_label: false
Comment on lines +5 to +8
label_command:
name: test-gvisor-claude
events: [pull_request]
remove_label: false
Comment on lines +5 to +8
label_command:
name: test-gvisor-build
events: [pull_request]
remove_label: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants