Skip to content

CI: self-hosted jobs run on the fleet-ci pool (beelink, minis, x1) - #1012

Merged
mkreyman merged 2 commits into
masterfrom
feature/fleet-ci-runners
Oct 22, 2026
Merged

mkreyman merged 2 commits into
masterfrom
feature/fleet-ci-runners

Conversation

@mkreyman

Copy link
Copy Markdown
Owner

The seven self-hosted jobs in ci.yml (lint, test, retrieval-eval, security, dialyzer, scale-test, scale-nightly) move from [self-hosted, beelink] to [self-hosted, fleet-ci]. Mark wants minis and x1 to be full CI runners (mkreyman/infra decisions/0021, infra#325), and since 2026-10-21 both serve loopctl. beelink still takes a job first; minis and x1 take it after 45 s queued and only while their measured CPU leaves room.

Each host runs the same CI-only Postgres on 127.0.0.1:5433 with the same pgvector digest, and every self-hosted job here already targets 5433, never the developer's 5432. The GitHub-hosted jobs are unchanged. The static runner beelink-loopctl now carries fleet-ci too.

Testing

  • On minis and x1, postgres-ci runs pgvector/pgvector@sha256:40d828ed…, the digest scale-test pins.
  • This PR's own CI run is the first to be able to land on minis or x1; each job page names its runner.

Risk

scale-test's tmpfs Postgres can hold up to 4 GB of a dev box's RAM while it runs; the comment on it says so. A job on a dev box shares CPU with the developer inside ci.slice.

How to revert

Revert this PR; every self-hosted job goes back to [self-hosted, beelink].

Review findings

  1. fixed medium .github/workflows/ci.yml:964 — the tmpfs memory note counted only beelink's RAM; it now says that on minis and x1 the memory is a developer's, outside ci.slice and unseen by the CPU-only gate
  2. fixed low .github/workflows/ci.yml:1306 — comments assumed one self-hosted runner; they now describe legs across hosts and where a leftover database lives
  3. fixed low CLAUDE.md:474 — "the single self-hosted runner" now names the fleet-ci pool; knowledge_scale_verification.md likewise

minis and x1 now serve this repo too (mkreyman/infra decisions/0021). Each
carries the same CI-only Postgres on 127.0.0.1:5433 (the same pgvector digest)
that every self-hosted job here already targets, and a developer's databases
on 5432, which none of them touch. The GitHub-hosted jobs are unchanged.
Review fixes: scale-test's tmpfs note says its memory is a developer's RAM on
minis and x1, outside ci.slice and unseen by the CPU-only gate; scale-nightly
legs can run at once across hosts, and a leftover database is on the host the
job page names; CLAUDE.md and the scale runbook stop saying one runner.
@mkreyman
mkreyman merged commit eb49055 into master Oct 22, 2026
16 checks passed
@mkreyman
mkreyman deleted the feature/fleet-ci-runners branch October 22, 2026 00:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant