Skip to content

ci(tests): test_lean_exec.py rougit Scripts Tests selon le runner (5 echecs, exit 125) depuis le 05/10 #19382

Open

Description

@myia-ai-01

Constat

Depuis le 05/10, Scripts Tests (CPU) rougit sur des PRs qui ne touchent pas Lean, avec les cinq mêmes échecs dans scripts/lean/tests/test_lean_exec.py :

FAILED test_admission_cap_machine_wide_two_worktrees - les deux premiers runs devaient s'enregistrer sous 30 s, vu 0
FAILED test_positive_control_real_lake - compilation reelle en echec: 125
FAILED test_queue_wait_admits_after_release - 1er run enregistre non atteinte sous 30.0 s
FAILED test_queue_timeout_refuses - 1er run enregistre non atteinte sous 30.0 s
FAILED test_queue_full_refuses - 1er run enregistre non atteinte sous 30.0 s

Instances mesurées le 05/10, avec le runner de chaque job :

Heure (Z) Conclusion Runner
21:12 failure (#19373, renormalisation EOL de 2 .py, aucun rapport avec Lean) myia-po-2026-wsl-2
22:03 failure, mêmes 5 tests myia-po-2026-wsl-5
18:53, 19:34, 20:18, 21:46 success myia-ai-01-wsl-5, -6, -10

L'issue dépend donc du runner, pas de la PR.

Hypothèse (à vérifier, pas mesurée)

  • Ce qui a déclenché le rouge : fix(ci,#13746): declencheurs des 3 familles de tests orphelines de scripts-tests.yml (tranche 2) #19262 (mergée le 05/10) a rebranché sur scripts-tests.yml des familles de tests qui ne tournaient pas en CI. scripts/lean/tests/ en fait probablement partie : ces tests tourneraient alors pour la première fois sur le parc auto-hébergé.
  • Lecture du code de sortie : 125 est le refus d'admission de lean_exec faute de ressources (commentaire de test_lean_exec.py l.66-71). NEUTRAL_RESOURCE_GATE neutralise la mémoire, le commit et le disque libre pour les tests en sous-processus. Mais test_positive_control_real_lake lance une vraie compilation, et les tests de file attendent qu'un premier run s'enregistre en moins de 30 s. Sur un hôte chargé, ou dont une dimension n'est pas neutralisée, rien ne s'enregistre.

Ce qui est demandé

  1. Confirmer ou réfuter le lien avec fix(ci,#13746): declencheurs des 3 familles de tests orphelines de scripts-tests.yml (tranche 2) #19262 : cette famille tournait-elle en CI avant ?
  2. Trouver la dimension qui refuse sur les runners po-2026 : log d'admission du test, ou rejeu local sur un runner qui échoue.
  3. Corriger dans le test (neutraliser la dimension manquante, ou skip explicite et motivé du contrôle réel quand l'hôte ne peut pas l'admettre), jamais en retirant la famille du déclencheur.

Acceptance

  • Les 5 tests passent sur un runner po-2026 et sur un runner ai-01 (deux jobs cités).
  • Si un skip est retenu, il nomme sa condition et apparaît comme skip dans le rapport pytest, pas comme succès.

Activity

  1. myia-ai-01 commented on Oct 5, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED] lane myia-ai-01:CoursIA-2 -- diagnostiquer la dimension d'admission qui refuse sur les runners po-2026 et corriger dans le test ; pose par ai-01 au dispatch

  2. jsboige commented on Oct 5, 2026

    @jsboige
    Owner

    [CLAIMED] lane myia-ai-01:CoursIA-2 — fix test_lean_exec.py 5 rougit selon runner po-2026 (skip motive par latence scan_native_population + neutralisation porte pour compilation reelle)

  3. added a commit that references this issue on Oct 5, 2026
  4. jsboige commented on Oct 6, 2026

    @jsboige
    Owner

    [CLAIMED] lane myia-po-2026:CoursIA-2 -- ci(tests,#19382): 5 tests rougissent sur runners po-2026 (Scripts Tests CPU)

    Diagnostic firsthand engage -- test_lean_exec.py (1441 lignes, scripts/lean/tests/). Le commentaire NEUTRAL_RESOURCE_GATE lignes 65-71 dit :

    "Porte ressources neutralisee pour les tests en sous-processus (#18024) : ils eprouvent le cap, le lease, la file et le kill-tree, pas la RAM libre de l'hote. Avec le defaut 2048 Mo/job, un runner a MemAvailable < 2 Go rend ram=0 et l'admission refuse tout (exit 125)."

    Le test test_positive_control_real_lake lance une vraie compilation Lean. Il n'est PAS dans la liste des tests en sous-processus neutralises -- il depend de l'admission reelle de lean_exec qui consomme LEAN_EXEC_MEM_PER_JOB_MB (defaut 2048 Mo) sur l'hote. Sur les runners po-2026 (MemAvailable mesure < 2 Go probable), ram=0 et admission refuse (exit 125).

    Plan :

    1. Premier diagnostic : verifier la disponibilite memoire des runners concernes et confirmer la cause
    2. Lecture du test : test_positive_control_real_lake doit soit (a) etre skippe explicitement quand lake n'est pas admissible, soit (b) accepter un override de RAM par env, soit (c) baisser le seuil par defaut
    3. Mesure pre/post : reproduire les 5 fails sur po-2026-wsl-2, fix, repasser au vert

    Geste : ouvrir worktree D:/Dev/CoursIA-c1384-19382 sur la branche fix/19382-lean-exec-po-runners, modifier le test, pousser.

    Acceptance : les 5 tests passent sur runner po-2026 ET ai-01.

  5. added a commit that references this issue on Oct 6, 2026
  6. added a commit that references this issue on Oct 7, 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