Skip to content

Soften hosted-runner claim + instrument the gate for debugging#5

Merged
ErenAri merged 3 commits into
mainfrom
debug-hosted-gate
Jun 14, 2026
Merged

Soften hosted-runner claim + instrument the gate for debugging#5
ErenAri merged 3 commits into
mainfrom
debug-hosted-gate

Conversation

@ErenAri

@ErenAri ErenAri commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

First real hosted-runner run: /dev/kvm is present, but every VM errored with wait for SSH ... context deadline exceeded — the guest boots but never becomes SSH-reachable, burning the full 12m budget as an infra error. serial.log wasn't captured, so the cause is invisible.

This PR (per maintainer decision: soften + debug cycle):

  • Softens the README so it no longer claims the hosted gate passes (KVM-confirmed + wired, boot being stabilized; self-hosted KVM is today's validated path).
  • chmod 0666 /dev/kvm safeguard in case the runner user isn't in the kvm group.
  • Drops the action timeout 12m -> 5m so a stuck guest fails in ~5m, not 12.
  • On failure, dumps serial.log / validator output into the job log and uploads the whole .bpfcompat/runs tree, so the next run is diagnosable.

No production code change — workflow + docs only.

🤖 Generated with Claude Code

ErenAri and others added 3 commits June 14, 2026 16:26
The first real hosted-runner run confirmed /dev/kvm is present but every VM
errored on 'wait for SSH ... context deadline exceeded' (guest boots but never
becomes reachable). Soften the README to not overclaim, and instrument the
workflow to diagnose:

- README: hosted lane framed as wired + KVM-confirmed but boot still being
  stabilized; self-hosted KVM is the validated path today.
- chmod 0666 /dev/kvm safeguard (runner user may not be in the kvm group).
- timeout 12m -> 5m so a stuck guest fails fast instead of burning the budget.
- on failure, dump serial.log/validator output into the job log; upload the
  whole .bpfcompat/runs tree as an artifact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The kvm-perms safeguard was the fix: the runner user couldn't open /dev/kvm,
so -enable-kvm failed and the guest never booted (the SSH-readiness timeout).
With chmod 0666 the hosted gate passes end-to-end in ~1m46s (simple-pass +
functional-execve both pass, KVM hardware-accelerated). README updated from
'being stabilized' to proven, with the kvm-group gotcha documented.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Security review flagged the broad .bpfcompat/runs/** upload glob: the per-run
dir holds the generated SSH private key (id_ed25519), cloud-init seed, and disk
overlay. Restore an allowlist of just the log/result files (adding qemu.log for
boot/KVM diagnosis) so secrets are never swept into a downloadable artifact.
The on-failure dump already names specific log files only, not the key.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ErenAri
ErenAri merged commit 4778199 into main Jun 14, 2026
7 checks passed
@ErenAri
ErenAri deleted the debug-hosted-gate branch June 14, 2026 16:44
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.

1 participant