You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: les caches pip de setup-python pesent 1,5 Go x versions x branches (~7,9 Go) et saturent le quota Actions que #18186 vient de liberer #19658
Titre : ci: les caches pip de setup-python pèsent 1,5 Go × versions × branches (~7,9 Go) et saturent le quota Actions que #18186 vient de libérer
Labels : ci
Sans parent : extension mesurée du critère 2 de #18185 (délivré côté lakes par #18186) — nouvelle famille de caches, même quota Actions.
Constat (mesuré le 2026-10-07)
gh api repos/jsboige/CoursIA/actions/caches : 20 caches, 10 464 Mo au total, quota 10 Go — saturé. L'éviction LRU frappe donc à nouveau toutes les familles : mesuré le 06/10 22:31Z, la jambe ci de lean-asymmetric-information.yml (run main 37540824088) prend Cache not found sur lake-asymmetric_information_lean-Linux-72e51dc… avec un lakefile inchangé depuis ≥ 28/09 — le scenario exact que #18186 devait éliminer, revenu par une autre porte.
La place libérée par #18183 (overlays CodeQL bornés) et #18186 (oléans Mathlib sortis des lakes, 2,4 Go → 0,7 Go par cache) est consommée par :
Soit ~7,9 Go à elles seules. Un cache pip de 1,5 Go est le poids d'un cache de téléchargement rempli de wheels lourdes (torch, CUDA-adjacent) — pas d'un requirements.txt ordinaire.
Sources
9 workflows posent cache: pip. Les entrées 3.9 viennent de ict-tests.yml:418 et ict-tests-profile.yml:89 (cache-dependency-path: MyIA.AI.Notebooks/IIT/ICT-Series/pyproject.toml pour le premier) ; ml-tests.yml:77 couvre les versions 3.11/3.12. Les duplications par scope de branche sont le comportement d'actions/cache (une entrée par branche qui sauvegarde) : chaque PR d'une lane qui fait tourner ces workflows fabrique sa copie de 1,5 Go.
Pistes (à trancher avant PR)
Scoper le hash : cache-dependency-path déjà présent côté ICT — vérifier pourquoi le cache atteint 1,5 Go (le contenu est ~/.cache/pip, le téléchargement lui-même, pas les requirements : le hash ne borne pas la taille).
Bourrer moins le cache : les workflows à wheels lourdes (torch) gagneraient à ne PAS cacher pip (le téléchargement depuis PyPI est rapide et CDN-servi) — le cache coûte plus en éviction qu'il rapporte en temps.
Titre : ci: les caches pip de setup-python pèsent 1,5 Go × versions × branches (~7,9 Go) et saturent le quota Actions que #18186 vient de libérer
Labels : ci
Sans parent : extension mesurée du critère 2 de #18185 (délivré côté lakes par #18186) — nouvelle famille de caches, même quota Actions.
Constat (mesuré le 2026-10-07)
gh api repos/jsboige/CoursIA/actions/caches: 20 caches, 10 464 Mo au total, quota 10 Go — saturé. L'éviction LRU frappe donc à nouveau toutes les familles : mesuré le 06/10 22:31Z, la jambecidelean-asymmetric-information.yml(run main 37540824088) prendCache not foundsurlake-asymmetric_information_lean-Linux-72e51dc…avec un lakefile inchangé depuis ≥ 28/09 — le scenario exact que #18186 devait éliminer, revenu par une autre porte.La place libérée par #18183 (overlays CodeQL bornés) et #18186 (oléans Mathlib sortis des lakes, 2,4 Go → 0,7 Go par cache) est consommée par :
setup-python-…-python-3.9.25-pip-f26623…setup-python-…-python-3.9.25-pip-f26623…(2e entrée, scope branche)setup-python-…-python-3.12.14-pip-df2f91…setup-python-…-python-3.12.14-pip-df2f91…(2e entrée)setup-python-…-python-3.11.16-pip-89a05b…setup-python-…-python-3.9.25-pip-f26623…(3e entrée, 130 Mo)Soit ~7,9 Go à elles seules. Un cache pip de 1,5 Go est le poids d'un cache de téléchargement rempli de wheels lourdes (torch, CUDA-adjacent) — pas d'un requirements.txt ordinaire.
Sources
9 workflows posent
cache: pip. Les entrées 3.9 viennent deict-tests.yml:418etict-tests-profile.yml:89(cache-dependency-path: MyIA.AI.Notebooks/IIT/ICT-Series/pyproject.tomlpour le premier) ;ml-tests.yml:77couvre les versions 3.11/3.12. Les duplications par scope de branche sont le comportement d'actions/cache(une entrée par branche qui sauvegarde) : chaque PR d'une lane qui fait tourner ces workflows fabrique sa copie de 1,5 Go.Pistes (à trancher avant PR)
cache-dependency-pathdéjà présent côté ICT — vérifier pourquoi le cache atteint 1,5 Go (le contenu est~/.cache/pip, le téléchargement lui-même, pas les requirements : le hash ne borne pas la taille).Critères de sortie
setup-python-*mesurée sous ~1,5 Go (gh api …/actions/caches).Cache not foundsur clélake-*à lakefile inchangé sur une semaine de runs (le critère 2 de ci(lean): les caches .lake de 2,4 Go embarquent les oléans Mathlib déjà servis par lake exe cache get — trois lakes remplissent le quota #18185, enfin observable).Voir #18185 (délivré côté lakes), #18186 (le fix lakes), #18183 (l'organe d'éviction à imiter), #16088.