Skip to content

CI: run Linux builds on self-hosted runners - #240

Merged
jcelerier merged 4 commits into
masterfrom
ci/self-hosted-linux-jobs
Aug 8, 2026
Merged

CI: run Linux builds on self-hosted runners#240
jcelerier merged 4 commits into
masterfrom
ci/self-hosted-linux-jobs

Conversation

@jcelerier

@jcelerier jcelerier commented Aug 5, 2026

Copy link
Copy Markdown
Member

Run the Linux x86_64 jobs on self-hosted runners.

@jcelerier
jcelerier force-pushed the ci/self-hosted-linux-jobs branch from 9434821 to f8ce14d Compare August 5, 2026 15:22
@jcelerier jcelerier closed this Aug 5, 2026
@jcelerier
jcelerier deleted the ci/self-hosted-linux-jobs branch August 5, 2026 15:28
@jcelerier
jcelerier restored the ci/self-hosted-linux-jobs branch August 5, 2026 15:32
@jcelerier jcelerier reopened this Aug 5, 2026
@jcelerier
jcelerier force-pushed the ci/self-hosted-linux-jobs branch 4 times, most recently from 0ea3f10 to ca70c36 Compare August 6, 2026 02:20
@jcelerier
jcelerier force-pushed the ci/self-hosted-linux-jobs branch from ca70c36 to 47eb3e5 Compare August 6, 2026 02:21
runs-on took the matrix value as an expression, and the self-hosted entries were
changed to an ARRAY. GitHub does not accept runs-on from an expression that
resolves to an array, so it rejected the whole file: the run produced ZERO jobs
and the PR kept displaying its older passing checks, which is why this looked
queued rather than broken. The label is a plain string again.

Two more from the same change:

- FreeBSD was pointed at the self-hosted fleet inside a container. It uses
  vmactions/freebsd-vm, which needs KVM and cannot work there. Back on
  ubuntu-latest.
- The Debian job got a second 'container:' key while it already declared
  'container: image: debian:...'. A duplicate mapping key -- parsers keep the
  last one silently, which is how it survived review.
The self-hosted runners inject a compiler cache launcher that exists only in the
images the fleet mirrors, and debian:testing is not one of them -- the job got
the stock image, every compile failed on the missing launcher, and CMake
reported that the C compiler itself was broken.

trixie was already in the matrix, so testing is dropped rather than repointed,
along with its now-dead exclude. debian:testing is a rolling target that has
moved past trixie, so mirroring it would mean rebuilding that image forever to
track whatever testing happens to be.
trixie is no longer testing -- it released as Debian 13 and is now stable, so
the earlier change lost testing coverage rather than keeping it. Debian's own
Release files say it plainly today: stable=trixie (13.6), testing=forky.

Pinned to the codename rather than the `testing` tag. `debian:testing` is a
moving target the CI image mirror cannot follow without rebuilding forever to
track whatever testing happens to be; a codename is a stable thing to mirror,
and repointing it when testing rolls over is a one-line change. The image was
built and pushed BEFORE this commit, so the tag resolves to an image that
carries the compiler-cache launcher -- which is what the earlier
debian:testing leg was missing.
@jcelerier
jcelerier merged commit 4c951ad into master Aug 8, 2026
90 checks passed
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