feat(image): b22/b15 boot for the job - #352
Merged
Merged
Conversation
Measured on a live worker on 2026-09-01: 59 s of userspace boot, of which the job needed almost none. Four changes to the recipe, one image wave: - The runner's uid and gid are pinned (1000:1001) on every image. useradd had been picking the next free ids, so the docker image ended up with gid 1000 while the standard image had 1001, and the provider -- which checks the owner of every file a worker hands back -- failed every warm claim on a docker-capable pool. - The warm-up (twelve seconds of Runner.Listener warmup) runs only where a hot runtime will be claimed: warm-preparing workers, the image smoke, and unstamped instances. A one-job worker skips it; its assignment arrives as soon as the network is up, and the warm-up only competed with the job. - cloud-init runs its stages only when there is a cloud-config to apply. A direct-JIT one-job worker and a warm worker have none, and the four stages cost each boot about eight seconds of CPU -- and a warm worker paid it every five seconds, because the unit then failed on the runner service it had no reason to expect. - snapd, plymouth, e2scrub_reap, dpkg-db-backup, logrotate, man-db, motd-news, fstrim, the ua timers and sysstat are masked. A one-job worker boots to run one job; the smoke now proves they stay masked and that the ids hold. The aliases advance to b22 and b15; the pinned recipe fingerprint moves with them. Runtime constants and the estate follow the promotion, not this merge. Claude-Session: https://claude.ai/code/session_0128syXKxAGCfJGRDxUUNQXp
rldyourmnd
enabled auto-merge
September 1, 2026 20:46
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.
Recipe wave b22 (standard) / b15 (docker): pinned runner ids 1000:1001 on both images (the gid split failed every warm claim on docker pools until the provider config was patched around it), warm-up only where a hot runtime will be claimed, cloud-init stages only when there is a cloud-config to apply, server units masked. Measured on a live worker: 59 s userspace boot, of which the job needed almost none. Runtime image constants and the estate move with the promotion, not with this merge.
https://claude.ai/code/session_0128syXKxAGCfJGRDxUUNQXp