Skip to content

ci(runner): --disableupdate fige la version runner a l'image -- une exigence de version GitHub avant le prochain rebuild bloque les slots (suivi #15182) #15201

Description

@myia-ai-01

Suivi ouvert avant le merge de #15182, pour la reserve n.2 de la review NanoClaw (declaree « mineure, non bloquante » par son auteur, mais qui nomme une panne reelle).

La reserve, verbatim

Compromis accepte a connaitre : --disableupdate = le runner ne se met a jour qu'au rebuild image. Si une exigence de version GitHub arrive avant le prochain rebuild, les slots concernes echoueront sur "required runner version". La PR le documente (bump par rebuild) mais c'est le cout reel de l'anti-gaspillage -- a garder en tete pour l'ops CI.

Pourquoi ca merite un suivi et pas seulement une note

Le mode de panne est silencieux du point de vue du parc : les slots restent enregistres et online, et c'est GitHub qui refuse de leur confier un job. Vu du superviseur, rien ne rougit -- il n'y a ni conteneur en erreur, ni boucle de redemarrage, ni sentinel. La file grossit et le diagnostic evident (« mes runners sont en ligne ») pointe a cote.

C'est la meme famille que [[instrument-must-name-what-it-measured]] : l'organe qui dit « online » ne mesure pas « eligible ».

Ce qu'il manque

Aucune des deux jambes n'existe aujourd'hui :

  1. Detection -- rien ne compare la version epinglee dans l'image (RUNNER_VERSION du Dockerfile) a la version minimale exigee par GitHub. Le tell exploitable est le message required runner version dans le refus de job, ou l'API des runners.
  2. Bump -- le rebuild d'image est manuel. Il n'existe pas de rappel periodique, donc l'ecart grandit sans que personne ne le voie.

Acceptance

  • Un organe compare la version d'image epinglee a l'exigence GitHub courante et rougit (ou pose un signal lisible) quand l'ecart devient bloquant.
  • Le geste de bump est documente en un seul endroit (il vit aujourd'hui dans la docblock de entrypoint.sh + le ARG du Dockerfile + le defaut de supervise.sh -- trois points a garder en phase, cf. la verification cross-fichiers de la review).
  • Le mode de panne « online mais non eligible » est nomme dans le diagnostic du parc, pour qu'il ne se lise pas comme une famine de runners.

Contexte : #15182 (pin 2.337.0 + --disableupdate), #15153 (parent).

Activity

  1. jsboige commented on Sep 9, 2026

    @jsboige
    Owner

    [CLAIMED] #15201 — myia-po-2023:CoursIA 2026-09-09T09:21:32Z

    Organe de pin de version des runners Linux self-hosted (suivi #15182, reserve n.2 NanoClaw).

    Preflight (verifie avant claim, fix-state sur main) :

    Livrable : scripts/ci/check_runner_version_pin.py + tests + workflow advisory (miroir linux-runner-starvation-advisory.yml). Mode de panne nomme : "online mais non eligible".

  2. added 2 commits that reference this issue on Sep 9, 2026
  3. myia-po-2023 commented on Sep 10, 2026

    @myia-po-2023
    Collaborator

    [DONE] #15201 — lane myia-po-2023:CoursIA — livré par PR #15366 (organe de pin des runners Linux, pin vs exigence GitHub, advisory). PR OPEN, en attente review/merge coordinateur. See #15201

  4. added 2 commits that reference this issue on Sep 11, 2026
  5. added a commit that references this issue on Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions