Repository navigation
v0.0.14
runnerd 0.0.14
Before you upgrade
Nothing to migrate: the job history stays at version 13. Upgrade runnerctl with the daemon, since a 0.0.13 client
cannot read a status that lists a job no profile serves. Upgrading
has the steps.
New
- Light jobs no longer wait behind heavy ones. A runner may take any queued job its labels match, so it was
sized for the heaviest: a 300M linter waited behind an 8.5G build's reservation. A repository can now be served
by several profiles, each with its own labels: repeat its[[repositories]]entry with a small profile and a
label of its own, and point the light jobs'runs-onat it. Leaveself-hostedout of the small pool's labels,
so jobs you did not move can't land there. Each pool reserves only for its own queue and keeps its own warm
runners. Split light and heavy jobs
shows the config. - Waits say what to fix. A job whose labels no pool has, such as a typo in
runs-on, waits with No profile
serves the label storefornt-small instead of sitting unlisted. A job waiting for the host's memory names what
holds it: programs outside CI hold 30G, most java 9.3G and qemu-system-x86 5.8G. The host line and
runnerd doctorname them too. - Charts show what was reserved. A job's memory and CPU charts, on the dashboard and in the TUI, draw what
admission reserved beside the cap, so a job capped at 22 CPUs that reserved 3.6 shows both.
Fixed
- The failed figure turned red for any failure, including a repository's own failing tests. It now turns red only
when the runner failed the job (lost with it, or killed for memory at its cap) and says how many.
GET /v1/activitygainsrunner_failed. - Under
admission = "measured"the config check card said a config overflowedMemoryMaxby the sum of every
slot's cap. It now holds what admission does, the largest runner and the mirror; its bar draws one block per
profile to scale undercaps.runnerd check-configand the doctor say the same. - A restart force-removed a running runner whose slot, profile or repository the config no longer had. It now
adopts it and lets it drain, as a reload does. - When a job took a warm runner's room on a slice, CPU budget or host already past its limit, admission could start
it over the budget. A budget that is overdrawn now stays overdrawn in the plan, and the job waits unless the stopped
runner's room covers it. - A reseed's seed container could start past
MemoryMaxor the host's limit. It now waits for room, and after
runnerctl reseedthe drained profile holds that room against other pools' jobs while the host could fit it. - A runner whose container Docker failed to inspect once never recorded its job, and a container recovery failed
to remove stayed until the next restart. Both are retried on later ticks. - Admission cached a placeholder for a warm runner's unlisted job and reserved the profile-wide p95 all its life;
queued jobs of a removed repository stayed queued for good; admission records showed stale free memory and CPU.
Download runnerd 0.0.14
| File | Platform | Checksum |
|---|---|---|
| runnerd-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| runnerd-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo ayagmar/runnerdYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo ayagmar/runnerdrunnerd-cli 0.0.14
Download runnerd-cli 0.0.14
| File | Platform | Checksum |
|---|---|---|
| runnerd-cli-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| runnerd-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo ayagmar/runnerdYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> --repo ayagmar/runnerd