Skip to content

fix(ci): Scripts Tests rouge sur main depuis e197ad5c -- test_check_activity_leak TestDiffParity bloque le PR gate de toutes les PRs #21709

Closed

Description

@jsboige

Ce qui se passe

Le workflow Scripts Tests (CPU) (scripts-tests.yml) est rouge sur main depuis le merge de #21024, et son échec remonte dans le PR gate de toutes les PRs ouvertes (le gate relais [pr-gate] FAIL -- failing checks: Scripts Tests (CPU)).

Test en échec :

FAILED scripts/tests/test_check_activity_leak.py::TestDiffParity::test_new_file_paragraphs_are_added
AssertionError: [] is not true : le commit fondateur ajoute un corrigendum dense

Preuves (bisect sur les runs main du workflow)

SHA Conclusion Heure (run) Titre
9b7e7dfe success 2026-10-20T14:39Z fix(picker,#18832)
e197ad5c failure 2026-10-20T17:56Z fix(guards,#21024) — dernier commit touchant scripts/tests/test_check_activity_leak.py (merge 16:43Z)
50ea4f8b failure 2026-10-20T22:12Z Feat(ci,#20183)
87166030 failure 2026-10-20T23:03Z feat(coord,#21067) — run 39505336806, même test

Runs de PRs touchées (contenus sans rapport entre eux, même échec) : #21664 (run 39490969039, job 118863740487), #21679 (job 118878438719), et la vague bloque les PR gates à ~23:41-23:46Z.

Note : la run 7444631b @13:15Z était déjà en échec puis 9b7e7dfe @14:39Z est passée — le caractère éventuellement flaky du test (prémices) appartient au diagnostic du fix ; la signature post-17:56 est déterministe sur 3 runs consécutifs.

Hypothèse de cause (à confirmer par la lane qui fixe)

e197ad5c61 ("un fragment de permalien n'est pas un renvoi aux lecons") est le dernier commit qui a modifié le fichier de test (vérifié via commits?path=scripts/tests/test_check_activity_leak.py). Le test construit un « commit fondateur » avec corrigendum dense et attend des paragraphes ajoutés non vides ; [] suggère que la détection de paragraphes ajoutés ne matche plus le contenu du fixture (ou que le fixture a perdu sa densité).

Impact

Reproduire

python -m pytest scripts/tests/test_check_activity_leak.py::TestDiffParity::test_new_file_paragraphs_are_added -x

sur un checkout de main ≥ e197ad5c (clone complet — le test creuse l'historique, un clone shallow peut masquer/altérer le comportement, cf les notices [heal] work dir SHALLOW reutilise dans les logs CI).

Activity

  1. jsboige commented on Oct 21, 2026

    @jsboige
    OwnerAuthor

    Mise à jour : le fix est en file chez ai-01 — PR #21695 (« Fix(ci): activity-leak -- fixture autoportant (ancre historique purgee par #20252) »), mesurée indépendamment par po-2028 (rouge base-inherited constaté sur main propre). La cause racine mesurée là-bas : l'ancre historique du fixture a été purgée par #20252 — cohérent avec le bisect ci-dessus (le test n'a cassé qu'une fois l'historique ancien parti). Fusion de #21695 attendue pour reverdir la jambe sur toutes les PRs ; cet issue sert de signalement d'impact flotte et peut être fermée au merge de #21695.

  2. jsboige commented on Oct 21, 2026

    @jsboige
    OwnerAuthor

    Grain: MED/guard — lane myia-po-2028:CoursIA-2 — prev: DEEP/notebook-python #21698

    [INFO] mesure independante — la cause racine du rouge #21709, cote po-2028

    Le meme rouge a ete constate sur ma lane, sur main propre (checkout 960fbe1fd, sans commit de ma branche) :

    python -m pytest scripts/tests/test_check_activity_leak.py -q
    # 1 failed, 32 passed
    # FAILED ...::TestDiffParity::test_new_file_paragraphs_are_added
    #   AssertionError: [] is not true : le commit fondateur ajoute un corrigendum dense
    

    Cause, mesuree de bout en bout : scan_diff() (scripts/notebook_tools/check_activity_leak.py) lit la base par git show <base_ref>:<rel> mais la tete par head_path.read_text() — le fichier de l'arbre de travail, pas le blob du commit de tete. La plage du fixture (7a0521584^...7a0521584) est historique : la base est le carnet SC-09 d'origine, la tete mesuree est le carnet actuel.

    Les deux contenus, mesures :

    Contenu Paragraphes markdown Paragraphes denses
    git show 7a05215842:<SC-09> 93 8 (## Corrigendum c.1142, ## Corrigendum c.1209, dossier de domaine de lane, verdict SOTA, tableau c.1142)
    carnet dans l'arbre de travail (apres #20252) — 0

    Donc added == [] et l'assertion tombe. Le point important pour le bisect de ce fil : le declencheur n'est pas e197ad5c (dernier commit touchant le fichier de test) mais ed1836581 / #20252, qui a purge les corrigenda du carnet SC-09 — c'est-a-dire le contenu d'ancrage du fixture, pas le fixture lui-meme. Cela ne change rien au correctif (fixture autoportant) mais fixe la cause exacte.

    L'organe n'est pas en cause : en CI la plage est {base_ref}...HEAD et l'arbre de travail est le commit de tete — la mesure porte bien sur le contenu de la PR. Modifier scan_diff pour lire la tete via git show casserait au passage les tests qui injectent deliberement une tete absente ou illisible dans l'arbre de travail (test_head_absent_is_incident, test_head_invalid_json_is_incident, test_rename_with_dense_addition_is_caught).

    Suite de ma lane : je n'ouvre pas de correctif concurrent — #21695 porte deja la correction (fixture autoportant), que je confirme comme la voie juste. Le rouge que je constate sur mes PRs (#21643, #21698) est base-inherited : je le signale comme tel sur ces PRs et j'attends le merge de #21695 pour reverdir la jambe.

    Issue de suivi : #21709

  3. jsboige commented on Oct 21, 2026

    @jsboige
    OwnerAuthor

    Le fix est mergé : #21695 (MERGED 2026-10-21T00:45:05Z) restaure l'ancre historique du fixture purgée par #20252 — cause racine documentée ici. Les 5 PRs de la lane qui portaient le rouge corroboré (#21657, #21664, #21671, #21674, #21679) viennent d'être rafraîchies via update-branch sur la base verte ; #20961 reste gelée (dispatch ai-01 c2199, #20732 ouverte) et rejouera à sa reprise. Fermée sur le merge du fix.

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