Skip to content

kernel: add test/pr.py, to test a PR's kernel - #70

Merged
fcuny merged 2 commits into
mainfrom
wt/kernel-test
Oct 25, 2026
Merged

fcuny merged 2 commits into
mainfrom
wt/kernel-test

Conversation

@fcuny

@fcuny fcuny commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Adds kernel/test/pr.py <PR>, a uv script with no dependencies:

  • downloads the kernel artifact from the kernel workflow's run for the PR's head; it fails if there's no run, or it's still running or failed;
  • boots it with c2vm, built from the checkout, and checks uname -r, /proc/sys, the CPUs, DHCP and a fetch over HTTPS, the overlay root, virtio_rng, a -v mount, and dmesg;
  • runs make e2e with it (e2e: boot C2VM_E2E_KERNEL, if set #69);
  • prints a report as a Markdown table, and asks before posting it on the PR (--no-comment only prints).

The kernel README and the bot's PR description point to it, instead of to booting the artifact by hand.

Tested on #66: everything passed. On #67, which has no kernel run, it says so.

🤖 Generated with Claude Code

@fcuny
fcuny added this pull request to stack #73 October 25, 2026 18:53
@fcuny fcuny changed the title kernel: add test/pr.py, which tests a PR's kernel and reports on the PR kernel: add test/pr.py, to test a PR's kernel Oct 25, 2026
Base automatically changed from wt/e2e-kernel to main October 25, 2026 19:50
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fcuny
fcuny marked this pull request as ready for review October 25, 2026 19:50
gh runs from the checkout, so it acts on c2vm's repository wherever the
script runs from. A boot that times out is stopped with SIGTERM and
reported. The boot check needs the probe to finish, dmesg is checked by
level, and only the probe's lines are parsed. The report says when the
tree is dirty, make e2e's output shows as it runs, the image comes from
e2e_test.go, and setup errors exit with 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fcuny
fcuny merged commit 3716357 into main Oct 25, 2026
3 checks passed
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