Skip to content

fix(ci): Gruppenlabel statt eines namentlich gepinnten Runners - #157

Merged
patrick-hermann-sva merged 1 commit into
mainfrom
fix/runner-group-label
Aug 21, 2026
Merged

patrick-hermann-sva merged 1 commit into
mainfrom
fix/runner-group-label

Conversation

@patrick-hermann-sva

Copy link
Copy Markdown
Contributor
-    runs-on: kind-testing-runner-1
+    runs-on: kind-testing-labda

Zwei Stellen (Analyze-Changed-Charts und yaml-lint).

Der Befund

runs-on adressierte einen einzelnen Rechner über dessen runner-eigenes Label. Solange der belegt ist, wartet jeder Check in diesem Repo — auch wenn baugleiche Runner daneben idle stehen.

Heute morgen genau das, gemessen über /orgs/stuttgart-things/actions/runners:

kind-testing-runner-1   busy=true    labels=…,kind-testing-labda,kind-testing-runner-1
kind-testing-runner-2   busy=false   labels=…,kind-testing-labda,kind-testing-runner-2

Blockiert hat ihn ein Cron aus einem unbeteiligten Repo:

stuttgart-things/rank5 · "content-gaps" · job "gaps"
event=schedule   started 07:08:04Z   runner_name=kind-testing-runner-1
angeforderte labels: kind-testing-labda

Der Job wollte also selbst nur das geteilte Label — der Scheduler hat ihn zufällig auf runner-1 gelegt. Damit hingen die Checks von #156 fest, während runner-2 in derselben Sekunde frei war.

Warum das kein Einzelfall ist

Der Pin war seinerseits schon ein Fix für dieses Problem:

b5aaf91  ci: run workflow on kind-testing-runner-1   (2026-07-03)

    The ghr-helm-skyami-cicd self-hosted runner was offline, leaving
    checks queued indefinitely. Switch both jobs to kind-testing-runner-1.

Getauscht wurde ein Einzel-Runner gegen einen anderen — der Ausfallmodus blieb erhalten und hat jetzt zum zweiten Mal zugeschlagen. Deshalb steht die Begründung als Kommentar in der Datei: die nächste Queueing-Panne soll nicht wieder in einen Rechnernamen aufgelöst werden.

Wirkung

kind-testing-labda tragen beide kind-testing-Runner. Der Job nimmt, wer frei ist; ein einzelner offline gegangener Runner blockiert nichts mehr. Doppelte Kapazität, ohne neue Infrastruktur.

Dieser PR validiert sich selbst: bei pull_request benutzt GitHub die Workflow-Datei aus dem PR-Branch, die Checks hier laufen also bereits über das Gruppenlabel.

YAML nachgeparst, beide Jobs lösen auf kind-testing-labda auf.

🤖 Generated with Claude Code

https://claude.ai/code/session_0196ZK3n9XHuWxhx9es8bcTi

runs-on stand an beiden Stellen auf kind-testing-runner-1 — also auf
EINEM Rechner, adressiert ueber dessen runner-eigenes Label. Solange der
belegt ist, wartet jeder Check hier, auch wenn baugleiche Runner idle
danebenstehen.

Genau das am 2026-08-21 passiert: der taegliche content-gaps-Cron in
stuttgart-things/rank5 (event=schedule, 07:08:04Z) forderte das GETEILTE
Label kind-testing-labda an, der Scheduler legte ihn auf runner-1, und
die Checks von helm#156 blieben queued. kind-testing-runner-2 war in
derselben Sekunde busy=false und traegt identische Labels.

Der Pin war seinerseits schon ein Fix fuer dieses Problem — b5aaf91
(2026-07-03) schaltete um, weil ghr-helm-skyami-cicd offline war und
Checks unbegrenzt haengen blieben. Getauscht wurde dabei aber nur ein
Einzel-Runner gegen einen anderen, womit der Ausfallmodus erhalten
blieb. Deshalb steht der Grund jetzt als Kommentar in der Datei: die
naechste Queueing-Panne soll nicht wieder in einen Rechnernamen
aufgeloest werden.

kind-testing-labda tragen beide kind-testing-Runner. Damit nimmt der
Job, wer frei ist, und ein einzelner offline gegangener Runner blockiert
nichts mehr.

Geprueft: gemessen ueber /orgs/stuttgart-things/actions/runners
(busy-Flags und Labels) und ueber die Job-API des blockierenden Runs
(runner_name=kind-testing-runner-1). YAML nachgeparst, beide Jobs
loesen auf kind-testing-labda auf.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0196ZK3n9XHuWxhx9es8bcTi
@patrick-hermann-sva
patrick-hermann-sva merged commit 2740f19 into main Aug 21, 2026
4 checks passed
@patrick-hermann-sva
patrick-hermann-sva deleted the fix/runner-group-label branch August 21, 2026 07:48

This branch was previously deployed

1 inactive deployment
k8s — d2a575d6 Deployed Aug 21, 2026 by patrick-hermann-sva via Lint yaml files / Yaml-Lint #250
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.

2 participants