Repository navigation
ci: GitHub's runners for the builds, the fleet for what boots - #215
Merged
Merged
Conversation
spin-machine is public: GitHub's standard runners are free there and have 4 vCPU, which QEMU_JOBS=4 and KERNEL_NPROC=4 were sized for. The builds that ran on Blacksmith's 8 (CI, QEMU, Kernel, Base image, Release) move there, with Docker's own buildx action for the builder; the cache was GitHub's already (CACHE_BACKEND=gha). What boots moves to spin-stack/ci's fleets: compat to kvm, where it reads the lanes' cache rather than a disk the runner kept; report and lab to bench, one instance type, since a boot time compares only with one taken on the same kind of host. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The two measurements, where compat went in the commit before: one instance type, since a boot time compares only with one taken on the same kind of host. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A step is one task (taskgate), and `task vsock` loads the module and makes the node this user's, where a bare modprobe only loaded it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GitHub's runner has the static /dev/vhost-vsock before the module is loaded: the task saw the node, skipped the modprobe and chmod'ed it; QEMU's open then loaded the module, udev set the node back to root's, and verify:args read "Permission denied" (2026-10-24). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From the org CI audit of 2026-10-24. One hypothesis: nothing here needs a third runner provider. Builds go to GitHub's free standard runners (public repository, 4 vCPU), what boots goes to spin-stack/ci's fleets.
Baseline (2026-10-03..24, blacksmith-8vcpu): CI Gate 36 s p50 (n=27);
changed13 s (n=63); QEMU/Kernel/Image build 39 s p50, 5m48 max (n=60); Release 2m46 (n=6). compat/report/lab ran on construct's self-hosted runners, gone since 2026-10-23.Changes
ubuntu-latest;docker/setup-buildx-action(v4.4.1, pinned) in place of Blacksmith's builder. The cache stays GitHub's (type=gha, scopes in Taskfile.yml); what Blacksmith's sticky disk added is gone, so a cold QEMU or kernel build pays its full compile once per cache miss.runs-on/fleet=kvm/env=production, reading main's lanes' scopes (CACHE_BACKEND=gha CACHE_EXPORT=false),modprobe vhost_vsockas spin's fleet-setup does.runs-on/fleet=bench/env=production(one instance type, c8i.4xlarge; spin-stack/ci#5 adds it). Prose in AGENTS.md, docs/releasing.md and docs/memory-and-disk.md says where measurements are taken now; the recorded numbers stay construct's.Expected impact: Blacksmith minutes to 0 (≥190/month here); Gate and
changedwithin ±20 s; a warm build within ±1 min; cold kernel/QEMU builds ~2× longer on 4 vCPU (180-minute ceiling holds). compat/report/lab runnable again.Depends on: spin-stack/ci#5 applied, for the
benchfleet (compat uses the existingkvmfleet).Validation: this PR's own CI runs the builds on GitHub (qemu/kernel/image are path-triggered by their workflow files);
gh workflow run compat.yml --ref ci/github-runners-and-fleetonce merged; report on the next release.Revert: revert the commit.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.