Skip to content

chore: recompile Cloud Hypervisor enclave smoke with selected compiler - #10035

Merged
lpcox merged 3 commits into
mainfrom
lpcox-enclave-smoke-compiler-update
Oct 15, 2026
Merged

lpcox merged 3 commits into
mainfrom
lpcox-enclave-smoke-compiler-update

Conversation

@lpcox

@lpcox lpcox commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Targeted recompile of smoke-enclave-cloud-hypervisor using the exact user-selected local binary and immutable runtime ref. Includes only its source/lock, the required new action-lock entry, and focused regression expectations. No other workflow locks changed; no generated YAML was hand-edited.

/Users/lpcox/projects/gh-aw/gh-aw compile smoke-enclave-cloud-hypervisor --gh-aw-ref 0abe2d9b233658150bc05ea968f1736b94093cf7
npx ts-node scripts/ci/postprocess-smoke-workflows.ts

Postprocessing ran after every generation, including diagnostic locks. Diagnostic output was preserved privately and the normal candidate restored, not replaced by a staged dry-run workflow.

Compiler and runtime provenance

  • Binary-reported version: gh-aw/work-queue/5eb4c298ecba515924d30bd7989113dd79d7d421-14-g7dc6abab7a-dirty.
  • Binary SHA256: 4eef9ae379b3bb0199e7a2ab3203633563c0574cb1405be8891b483486bbcec6.
  • Go build metadata: revision 7dc6abab7ad723cd98f18b5c521d896ed7ffcdc7, vcs.modified=true. This identifies reported build provenance, not authenticated exact dirty source. The compiler checkout and executable were not modified.
  • All four emitted setup calls are exactly github/gh-aw/actions/setup@0abe2d9b233658150bc05ea968f1736b94093cf7. --gh-aw-ref pins runtime actions; it does not identify the local compiler build.
  • The selected SHA is the original head of merged github/gh-aw#69079, addressing github/gh-aw#69078. It is not a descendant of squash merge 56a8d2b93f37634d540b6731ff84050f9dba27b3; both scanner-fix implementation blobs are identical at the two refs (aa7ad567286ecab7c52b5cc8a4f8885c0aca5563, e5ea7bc625c4df12decd560a4887109c4746c66f). GitHub returns no current branch headed by the selected SHA. Commit existence does not clear zizmor's findings.
  • The single reviewer compared immutable runtime source: setup entrypoints, provisioning, redactor, and Copilot harness match the prior setup payload. Bounded work-queue changes were reviewed; this smoke exposes no queue/dispatch tool.

The normal lock updates compiler attribution and setup refs, reports GH_AW_VERSION: dev, and omits release CLI version metadata and the release-version check. The omitted step enforces release revocation/minimum-version policy for release builds; it would skip a nonrelease/dev build. This candidate has no equivalent release-version gate, so this is not merely a cosmetic change.

Preserved controls / unresolved prerequisites

AWF remains v0.28.59, Copilot 1.0.96, and all seven manifest image/digest records are unchanged. Release-attestation provisioning remains. The exact existing /tmp/gh-aw/aw_info.json write exception and contextual mkdir correction from #10031 remain; neighboring framework paths are not opened. VM/network isolation, token/capability exclusions, one static public script enclave, one invocation/120 seconds, zero retries, no issue writes, and existing 20-minute agent/safe-output job bounds remain. Other generated jobs still have no 20-minute bound; no workflow-wide bound is claimed.

Host-only public-fixture debug collection remains owner-protected, explicitly allowlisted and bounded, with one-day retention. The early AWF_RESOLVED_CONFIG redaction/collection gap is NOT fixed: selected consumers still use the old audit paths. No raw config copy or redaction bypass was added. The separate failed enclave launch remains unverified. Keep draft; no live run is authorized.

Validation

  • Normal targeted compilation: exit 0, one visible experimental-feature notice.
  • Build and type-check: passed.
  • Four focused Jest suites: 141 passed, 1 skipped (opt-in Linux mount test). Includes metadata-file mkdir/write policy, safety controls, debug collector, and postprocessing regressions.
  • Focused ESLint: 0 errors, 33 existing security-rule warnings; git diff --check passed.
  • Compile-only diagnostic command:
    /Users/lpcox/projects/gh-aw/gh-aw compile smoke-enclave-cloud-hypervisor --gh-aw-ref 0abe2d9b233658150bc05ea968f1736b94093cf7 --dry-run --allow-experimental --actionlint --zizmor --poutine
    Gate FAILED (exit 1). Compiler reports actionlint and shellcheck passed: the former empty-env and five removed daily-credit-output errors are gone. Poutine completed with reported passed status and unrelated repository-wide findings. It was rerun with a temporary empty config to avoid the compiler's auto-generated activation skip; no scanner suppression or temporary config is retained. Zizmor failed: five High impostor-commit findings on diagnostic setup refs, plus SHA-only version-comment and activation secrets-outside-env policy findings. Experimental notice acceptance did not suppress those findings.
  • Independent normal-lock zizmor scan: four High impostor-commit, four Medium ref-version-mismatch. Native actionlint 1.7.12 also reports unknown copilot-requests permission and concurrency.queue syntax in the normal lock; that normal-lock result is distinct from compiler-reported diagnostic actionlint success.
  • Single read-only security reviewer: PASS for exact four-file draft-PR publication only; no confirmed vulnerabilities. Credential flows, executable provenance, privileged setup, artifact handling, sandbox and approval boundaries examined. This does not clear scanner or execution gates. Reviewer model identity unavailable.

No workflow execution, dispatch/rerun, live dry-run, KVM boot, release, merge, Agent merge, or automation was requested or performed. Hosted auth/approval, live model compatibility, and original VM/enclave failures remain unverified.

Authored Markdown overview

Source Change Security impact
workflow:151–169 Release compiler attribution becomes exact selected local build/runtime attribution. Makes dirty compiler uncertainty explicit; frontmatter and invocation policy unchanged.
workflow:200–216 Updates setup identity associated with unresolved evidence collection. Retains draft restriction and raw-config prohibition; does not claim collection repaired.
workflow:218–225 Documents failed scanner gate. No suppression, environment-policy change, or execution authorization.

Exact artifacts (SHA256)

  • Source: dea60699ebaed7d60c88433edb95f3f03d7f892b66aefd0d1928999a676aef60
  • Normal lock: 1d0434cb7aedb9f9db85c1468190cec45f2436917a0b21867b91b28315e1b9d9
  • Preserved diagnostic lock: 4dd14ba5d1563791ac2a5b721a80c6a109a3bb1f2ab5a9210b24c80b65b400be

Trusted base: c774e851f861c255e5cdec2affaf789826562df4.

Use the selected local compiler and immutable gh-aw runtime ref. Preserve release pins and metadata-write safety; document failed scanner gates.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14810de3-06c0-4ec9-885f-f5c1be7259e8
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

✅ Coverage Check Passed

Overall Coverage

Metric Base PR Delta
Lines 93.18% 93.19% ➡️ +0.01%
Statements 91.76% 91.78% 📈 +0.02%
Functions 90.67% 90.67% ➡️ +0.00%
Branches 85.62% 85.64% 📈 +0.02%
📁 Per-file Coverage Changes (2 files)
File Lines (Before → After) Statements (Before → After)
src/nvx/one-shot-adapter.ts 82.9% → 83.4% (+0.56%) 80.2% → 80.7% (+0.52%)
src/log-directory-setup.ts 96.8% → 100.0% (+3.18%) 96.9% → 100.0% (+3.13%)

Coverage comparison generated by scripts/ci/compare-coverage.ts

Replace the timed-out man7.org mount(8) URL with the util-linux source manual, preserving the remount semantics reference.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14810de3-06c0-4ec9-885f-f5c1be7259e8
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Documentation Preview

Documentation has been built for this PR.

Download preview artifact

To view locally:

  1. Download the docs-preview-pr-10035 artifact from the workflow run
  2. Unzip and open index.html in your browser

Built from commit d72fd36

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.

🔵 Needs a closer look

Failed scanner gates, uncertain compiler provenance, and unresolved evidence-collection prerequisites require human review.

2 open findings
What changed in this PR

Recompiles the experimental Cloud Hypervisor enclave smoke using the selected local compiler and immutable runtime ref.

Changes:

  • Regenerates the workflow lock and records compiler/setup provenance.
  • Updates focused regression expectations while preserving AWF and Copilot versions.
  • Replaces a mount-semantics documentation link.
File Description
scripts/​ci/​smoke-enclave-workflow.test.ts Updates compiler, setup-pin, and safety expectations.
docs/​cloud-hypervisor-foundation.md Updates the mount documentation link.
.github/​workflows/​smoke-enclave-cloud-hypervisor.md Documents provenance and validation limits.
.github/​workflows/​smoke-enclave-cloud-hypervisor.lock.yml Records regenerated workflow and setup refs.
.github/​aw/​actions-lock.json Adds the selected setup-action pin.

🧠 Review effort: Max


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

- name: Setup Scripts
id: setup
uses: github/gh-aw-actions/setup@458b269006dcf88e3b5496b6fbecabe4b9a0f954 # v0.92.0
uses: github/gh-aw/actions/setup@0abe2d9b233658150bc05ea968f1736b94093cf7 # 0abe2d9b233658150bc05ea968f1736b94093cf7
Comment on lines +323 to +325
expect(compiled.jobs.activation.steps.some(step =>
step.name === 'Check compile-agentic version')).toBe(false);
expect(lock).not.toContain("require(path.join(actionsDir, 'check_version_updates.cjs'))");
@lpcox

lpcox commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator Author

@copilot address review feedback

Copilot AI commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

@copilot address review feedback

Addressed the setup pin and safety-test feedback in f6e1bbf. The normal lock uses the merged setup ref; the optional version-check is allowed only with issue reporting disabled.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Copilot review passed with no inline comments.

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

@lpcox
lpcox merged commit d9c0235 into main Oct 15, 2026
34 checks passed
@lpcox
lpcox deleted the lpcox-enclave-smoke-compiler-update branch October 15, 2026 22:47
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.

3 participants