Skip to content

feat: add a runlab lab to try a pull request in a microVM - #3637

Open
eitansuez wants to merge 1 commit into
kagent-dev:mainfrom
eitansuez:esuez/runlab-pr-review
Open

eitansuez wants to merge 1 commit into
kagent-dev:mainfrom
eitansuez:esuez/runlab-pr-review

Conversation

@eitansuez

Copy link
Copy Markdown
Contributor

Adds .runlab/pr-review/, a lab for the runlab author pack (v1.3.0). From a checkout of kagent, trylab pr <number> opens a microVM with kind, the toolchain and a warm build cache, checks the pull request out, builds it, installs it, and shows its diff. The pull request is drawn as a card with its changed files, and a click on a file shows that file's diff.

Why. Reviewing a pull request means building and running someone else's code, most of all from a fork. In the microVM that code runs away from your machine, and the VM is discarded afterwards. The first run builds the snapshot (about 40 GB, about 15 minutes, once). After that, trying a pull request takes a checkout, make build and make kagent-cli-install.

What it needs. Linux with KVM and the author pack, gh logged in, OPENAI_API_KEY, and a fine-grained GH_TOKEN that can only read public repositories. .runlab/README.md has the details and how to refresh the snapshot.

What it changes in kagent. Nothing outside .runlab/: no code, no CI, no dependencies. Six files, 322 lines. I tried it on #3564.

Opening as a draft to get your feedback first. Happy to change anything, or to keep it out of the tree if you'd rather not carry it.

Adds .runlab/pr-review, a lab for the runlab author pack (https://runlabs.io/author-pack).
From a checkout of kagent, trylab pr <number> opens a microVM with kind, the toolchain and a
warm build cache, checks the pull request out, builds it, installs it, shows its diff and opens
the kagent UI. The pull request runs in the microVM, away from the reviewer's machine, and the
VM is discarded afterwards.

Nothing outside .runlab/ changes: no code, no CI, no dependencies. .runlab/README.md says what
it needs (Linux with KVM, gh, OPENAI_API_KEY and a read-only GH_TOKEN) and how to refresh the
snapshot.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: Eitan Suez <eitan.suez@gmail.com>
@github-actions github-actions Bot added the enhancement New feature or request label Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant