Skip to content

ci(cache): le balayage des overlays CodeQL passe avant l'analyse qu'il doit borner — une rafale de merges laisse 3 + N overlays par langage #18309

Description

@myia-ai-01

Constat (mesuré le 2026-09-28 à 20:06Z)

  • 18 overlays CodeQL sur main, 2,28 Go : 6 SHA × 3 langages, tous créés entre 19:33Z et 20:03Z, juste après une rafale de six merges (19:22Z à 19:34Z).
  • Quota Actions du dépôt : 60 caches, 12,07 Go.
  • evict-orphan-caches.yml a bien tourné sur la rafale : dernier passage réussi à 19:34Z (run 36473141460). Les passages intermédiaires ont été annulés par le groupe de concurrence, ce qui est attendu.
  • Chaque overlay est écrit environ 25 à 30 minutes après son push, le temps de l'analyse CodeQL. Exemple : push 52f7b3285b à 19:34Z, overlay python à 19:59Z, overlay javascript à 20:03Z.

Le balayage déclenché par un push passe donc avant l'écriture qu'il devrait borner.

Conséquence

Après une rafale de N pushes dans la fenêtre d'analyse, --keep-latest 3 ne tient pas. Il reste jusqu'à 3 + N overlays par langage, soit environ 360 Mo par SHA, et ils attendent le push suivant. En fin de cycle de merge, sans push suivant, ils restent.

Ce n'est plus l'accumulation non bornée que #16088 a corrigée (33 entrées, 3,96 Go le 28/09 à 04:35Z). Mais la borne dépend maintenant de la cadence des merges, pas de K. Et ces overlays évincent par ancienneté les caches réutilisables, dont les .lake de #18185.

Pistes (à mesurer, pas à choisir sur le papier)

  1. Déclencher le balayage à la fin de l'analyse CodeQL. À vérifier : workflow_run voit-il le workflow dynamique du default setup ?
  2. Sinon, un passage différé : le job de push attend la fin des analyses du SHA poussé, avec une borne, avant de balayer.
  3. Un cron horaire ne suffit pas seul : le cron de ce dépôt est servi avec des heures de retard (ci(sweep): pr-gate-stale-sweep tire a 28,8 % de sa cadence declaree (mediane 3,5 h, max 6,2 h) -- l'acceptance de #12728 mesurait les annulations, pas le taux de tir #15197).

Critère de fermeture

Après une rafale d'au moins quatre merges, et 40 minutes après le dernier, au plus trois overlays par langage dans GET actions/caches.

Parent : #16088. Voisine : #18185 (caches .lake).

No activity

Activity on this issue will appear here.

Activity

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

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions