Skip to content

v0.0.14

Choose a tag to compare

@github-actions github-actions released this 25 Oct 06:26
v0.0.14
d5ef5bc

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-on at it. Leave self-hosted out 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 doctor name 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/activity gains runner_failed.
  • Under admission = "measured" the config check card said a config overflowed MemoryMax by 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 under caps. runnerd check-config and 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 MemoryMax or the host's limit. It now waits for room, and after
    runnerctl reseed the 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/runnerd

You 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

runnerd-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/runnerd

You 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