From 20155859e189d0638bbb0d556253e3afc6e023e8 Mon Sep 17 00:00:00 2001 From: jsboige Date: Sun, 13 Sep 2026 11:13:13 +0200 Subject: [PATCH] docs(ci,#15941): aligner runner-starvation-advisory sur sa matrice reelle (2 labels) Le workflow annoncait couvrir les 3 labels requis (waiter+linux+lean), une matrice a 3 jambes et un WARN floor linux = 2, alors que `matrix.include` ne declare que 2 jambes (`coursia-waiter`, `coursia-lean`) : `coursia-linux` reste couvert par `linux-runner-starvation-advisory.yml`. Quatre sites corriges -- dont l.14-16 ("3 workflows dedies" / "les 3 sondes" / "les 3 mesures"), que l'issue #15941 ne nomme pas, decouvert en relisant le fichier. Retrait en plus d'un `if:` inerte : les triggers sont `schedule` + `workflow_dispatch` uniquement, donc `github.event.pull_request` est toujours null et la condition toujours vraie. Texte seul, verifie par diff semantique YAML recursif : seuls `.name` et le `.if` retire different ; matrice, runs-on, timeout-minutes, permissions, concurrency et steps sont inchanges a l'octet. See #15941 See #14846 Co-Authored-By: Claude Sonnet 5 --- .github/workflows/runner-starvation-advisory.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/runner-starvation-advisory.yml b/.github/workflows/runner-starvation-advisory.yml index 8e3ec73d26..decfaba3a2 100644 --- a/.github/workflows/runner-starvation-advisory.yml +++ b/.github/workflows/runner-starvation-advisory.yml @@ -1,4 +1,4 @@ -name: Runner starvation advisory (waiter+linux+lean) +name: Runner starvation advisory (waiter+lean) # Sonde d'extinction multi-labels (issue #14846, grain c.1063 myia-po-2027). # Le 2026-09-05 entre 20:26Z et 00:52Z, le pool `coursia-waiter` est tombe @@ -8,12 +8,13 @@ name: Runner starvation advisory (waiter+linux+lean) # L'organe `scripts/ci/check_runner_starvation.py` mesurait deja le predicat # EXTINCTION (zero runner online sur le label), mais le seul workflow qui # l'appelait (`linux-runner-starvation-advisory.yml`) ne couvrait que -# `coursia-linux`. Cette sonde etend la couverture aux 3 labels requis par -# `pr-gate.yml` (waiter) + workflows bloquants (linux, lean). +# `coursia-linux`. Cette sonde etend la couverture a 2 des 3 labels requis +# (`pr-gate.yml` waiter + workflows bloquants lean) ; le troisieme, +# `coursia-linux`, reste couvert par `linux-runner-starvation-advisory.yml`. # -# Pourquoi une matrice et pas 3 workflows dedies : un seul cron centralise -# l'observabilite, les 3 sondes partagent la fenetre STARVATION et le secret -# RUNNERS_READ_PAT, et la matrice GitHub Actions parallellise les 3 mesures +# Pourquoi une matrice et pas 2 workflows dedies : un seul cron centralise +# l'observabilite, les 2 sondes partagent la fenetre STARVATION et le secret +# RUNNERS_READ_PAT, et la matrice GitHub Actions parallellise les 2 mesures # sans collision de rate-limit. Schedule dediee (cron offset 19,49 pour # coursia-linux + 23,53 pour les 2 autres -- l'offset disjoint evite de # charger le meme runner sur 2 vagues consecutives). @@ -23,7 +24,7 @@ name: Runner starvation advisory (waiter+linux+lean) # - predicat STARVATION : si jobs queued > seuil SANS aucun in_progress -> # ::error:: (symptome distinct de l'extinction -- file profonde qui ne # draine pas) -# - WARN floor configurable par label (waiter = 1, linux = 2, lean = 1) +# - WARN floor configurable par label (waiter = 1, lean = 1) # # Acceptance A2 (persistance systemd) deja livree par PR #14981 (waiter) + # PR #15401 (lean). Acceptance A3 (verification systemctl is-enabled po-2024) @@ -53,7 +54,6 @@ jobs: # le label qu'il observe mourrait avec lui. Meme raisonnement que # linux-runner-starvation-advisory.yml l.44-46. runs-on: [self-hosted, coursia-ephemeral, coursia-linux] - if: github.event.pull_request.head.repo.full_name == null || github.event.pull_request.head.repo.full_name == github.repository timeout-minutes: 10 strategy: fail-fast: false