Repository navigation
ci(#14283): route golden-set-execute vers le pool self-hosted Linux - #14386
Conversation
Item 1 of the end-of-chantier dispatch (ai-01 2026-09-02): the last trivially migrable job. Its two siblings have run on the pool since tranche 3c; this one only needs setup-python (toolcache mounted) and github-script (runner's bundled node) - both served by the image. Static runs-on + job-level same-repo guard, same shape as the siblings. The workflow already lists itself in its PR trigger paths, so this very PR exercises the migrated job end to end; the product to verify is the golden-set summary posted on the PR (a muted job under || true stays green while posting nothing). Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] — CoursIA #14386 golden-set-execute → pool self-hosted Linux (#14283, item 1). Diff 10+/3-, 1 fichier.
Vérification réelle (le produit, pas la couleur) : le body demande de vérifier le commentaire « Golden-Set Execution (H.7 P3) » posté par le job migré — présent sur cette PR, 8/8 notebooks certified reproducible (2.1-Workflow-ML 3.0s … Search-1-StateSpace ✅). Le job routé sur le pool a donc tourné de bout en bout et posté son produit : la migration est exercée, pas seulement déclarée.
- Garde fork
if:au niveau job : forme canonique — pour les events non-PR (push/dispatch),github.event.pull_request.head.repo.full_name == nulls'évalue à vrai (accès propriété sur null → null), le job tourne ; fork PR → skip. Cohérent avec les tranches 3c. runs-onstatique conforme (pas d'expression → pas deDYNAMIC_RUNS_ON), commentaires de routage + retour arrière documentés dans le YAML même.- L'ancien commentaire « No
if:needed » correctement réécrit (leif:ne porte plus que la garde fork) — pas de commentaire mensonger résiduel. - Security scan : 0 match.
LGTM au fond (contrainte token : COMMENT only — self-review). Item 2 de l'epic (mesure quarto-actions/setup) reste ouvert côté #14283, cette PR ne le prétend pas couvert.
Grain: LIGHT/tooling — lane myia-po-2024:CoursIA — prev: MED/test #14383
See #14283 (fin de chantier, item 1 du dispatch ai-01 du 2026-09-02) — l'epic reste ouverte : item 2 (mesure quarto-actions/setup) en cours.
Ce que fait cette PR
Migration du dernier job trivialement migrable de
notebook-execution-required.ymlvers le pool self-hosted Linux :golden-set-execute(3ᵉ job, ligne ~229). Les deux jobs frères (detect-changes,validate-static) roulent sur le pool depuis la tranche 3c ; celui-ci est le dernier qui restait surubuntu-latest.Pourquoi trivial : ses seules dépendances actions sont
actions/setup-python@v5(toolcache monté dans l'image) etactions/github-script@v7(node embarqué du runner) — pas de Docker, pas de GPU.La forme est la forme canonique du chantier :
runs-on: [self-hosted, coursia-ephemeral, coursia-linux]statique (une expression lèveraitDYNAMIC_RUNS_ONdanscheck_self_hosted_runner_policy.py) ;if: github.event.pull_request.head.repo.full_name == null || github.event.pull_request.head.repo.full_name == github.repository;SELF_HOSTED_WORKFLOW_ALLOWLIST.Le workflow liste son propre chemin dans ses triggers
pull_request→ cette PR exerce le job migré de bout en bout.Produit à vérifier (pas seulement le vert)
Le dispatch le dit : un job routé vers une machine sans l'outil attendu peut être muet (sortie
|| true→ exit 0 sans rien poster). Le produit attendu de ce run est le commentaire PR « Golden-Set Execution (H.7 P3) » avec la table des notebooks certifiés — posté par le job migré lui-même. La vérification post-merge se fait sur ce commentaire, pas sur la couleur du check.Retour arrière
Remettre
runs-on: ubuntu-latest+ retirer le workflow de l'allowlist (documenté en commentaire dans le YAML, même forme que les tranches précédentes).Validation