Repository navigation
CI runners: controles A2/A3 positif/negatif seed_action_cache sur log de job reel (image reconstruite) #16654
Description
Activity
[CLAIMED] lane myia-po-2023:CoursIA — contrôles A2/A3 seed_action_cache : build local de l'image, runner éphémère à label unique
seed-a23sur po-2023 (aucun job de la flotte détourné), preuves par logs de job réels + inspection du cache enrichi, livraison = workflow de contrôle + doc + preuves ici.Grain: MED/tooling — lane myia-po-2023:CoursIA — prev: MED/docs #18935
[DELIVERED] lane myia-po-2023:CoursIA — contrôles A2/A3 exécutés sur jobs réels, preuves ci-dessous, livraison = PR #18942 (section doc) + ce commentaire.
Setup : image
linux-runnerreconstruite (docker build, seed 11 archives,setup-python→a26af69be951a…— le SHA même de la preuve A1 de #15990). Deux jobs réels sur slot éphémère à label uniqueseed-a23(enregistrementACTIONS_RUNNER_INPUT_*, désenregistrement natif après un job — aucun job de flotte visé, flotte po-2024 non touchée). Run 37093241932, jobs 111117851523 (a2) / 111117939237 (a3), 2/2 succès.A2 — contrôle positif (action seedée) : job
uses: actions/setup-python@a26af69…(SHA épinglé = clé de cache exacte). Diag runner (Worker_*.log, INFO) :[03:27:25Z INFO ActionManager] Check if action archive 'actions/setup-python@a26af69…' already exists in cache directory '/opt/actions-cache' [03:27:25Z INFO ActionManager] Found action archive '/opt/actions-cache/actions_setup-python/a26af69….tar.gz' in cache directory '/opt/actions-cache'Zéro requête codeload dans le diag (l'unique occurrence du mot est le nom du feature-flag
actions_use_bearer_token_for_codeloaddans le dump config), zéro « Save archive ». Cache/opt/actions-cacheaprès le job : byte-identique à la baseline du build (mesuré pardocker cpdu conteneur mort).A3 — contrôle négatif (action absente du cache) : job
uses: actions/setup-java@v4→ résoutcf277c60eb25467037889841efdb72551f06f6c3. Diag runner :[03:28:30Z INFO ActionManager] Check if action archive 'actions/setup-java@cf277c60…' already exists in cache directory '/opt/actions-cache' [03:28:30Z INFO ActionManager] Save archive 'https://codeload.github.com/actions/setup-java/tar.gz/cf277c60…' into /home/runner/_work/_actions/_temp_572fafec…/9e6adfda….tar.gz. [03:28:31Z INFO ActionManager] Request URL: https://codeload.github.com/actions/setup-java/tar.gz/cf277c60… Http Status: OKFallback réseau confirmé (téléchargement codeload ~1 s, HTTP OK).
Finding — le « cache enrichi » de l'acceptance est réfuté par la mesure : l'archive miss atterrit dans
_work/_actions/_temp_<guid>/, jamais dans/opt/actions-cache(inchangé après le job, mesuré).ACTIONS_RUNNER_ACTION_ARCHIVE_CACHEest read-only au runtime au pin 2.337.0 — seule l'image y écrit, au build. Une action absente du seed se télécharge donc à chaque job ; le garde zéro-trou est l'unique barrière (aucun complément runtime possible).Avertissement de lecture : le libellé « Download action repository » du journal de job apparaît même sur hit — c'est un nom d'étape, pas un événement réseau ; la preuve se lit dans le diag runner et dans l'état du répertoire.
Branche de contrôle
ci/16654-seed-a23-controlsupprimée après capture (le garde seed interditsetup-javasurmainpar design). Fermeture : coordinateur.Grain: MED/tooling — lane myia-po-2023:CoursIA — prev: MED/docs #18935
- added a commit that references this issue
on Oct 3, 2026 [CLAIMED] lane myia-ai-01:CoursIA-2 — tapis central du 06/10 22:46Z, file profonde posee par le coordinateur au dispatch (rang 8/11) : CI runners: controles A2/A3 positif/negatif seed_action_cache sur log de job reel (image r. Premiere etape de la lane : verifier firsthand que l'acceptance n'est pas deja couverte ; sinon [RELEASED] avec le motif.
Contexte
Fille de #14853 (fermée CLOSE_WITH_FOLLOWUP dans la campagne de consolidation du 2026-09-18). A1 et A4 livrés par #15990 (MERGED) ; A2/A3 explicitement laissés ouverts par le body (« See #14853, pas Closes ») : contrôles positif/négatif sur log de job réel.
Tâche
Reconstruire et redéployer l'image runner (Dockerfile de
linux-runneravecseed_action_cache.pyembarqué), puis exécuter les contrôles :Acceptance
Grain: MED/tooling — lane myia-po-2025:CoursIA-2 — prev: MED/qc #14853