Repository navigation
perf(ci,#14057): Vague 2 tranche 1 — fusion 3 gardes metadata always-on en umbrella (patron #13384) - #14065
Merged
Conversation
…-on en umbrella (patron #13384) base-not-main-advisory + stale-base-warning + concurrency-conj-guard (149 runs/fenetre pour ~3 min de travail reel, mesure etape 1 #14057) sont absorbes par always-on-metadata-guards.yml : un workflow, un checkout, un slot de runner par PR (-2 runs/evenement nominal, -52 % estime sur la fenetre). Sources dormantes (triggers retires, jobs verbatim), canary derive_always_on_jobs auto-mis a jour, verrous #13232 retargetes sur l'umbrella. Co-Authored-By: Claude-Code <noreply@anthropic.com>
Contributor
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
Contributor
Path-collision (organ #13359/#13615)Cette PR #14065 (
|
6 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: MED/guard — lane myia-po-2024:CoursIA — prev: DEEP/lean #14056
Summary
Vague 2 de la fusion CI, tranche 1 (dispatch ai-01
msg-20260901T120252-k7qy3p, file à 166 queued) : les trois gardes/advisories always-on de métadonnées —base-not-main-advisory,stale-base-warning,concurrency-conj-guard— sont absorbés par une umbrella neuvealways-on-metadata-guards.yml, strictement au patron #13384 : un workflow, un checkout, un slot de runner par PR, organes portés verbatim, sources laissées dormantes (declencheurspull_requestretirés, jobs conservés).Chiffre (mesuré avant PR, exigé par #14057) :
Tranche 2 (bloquée par PRs en vol, follow-up) :
always-on-guards.yml(#13922) etorphaned-delivery-scan.yml(#13947) — non touchés ici, aucune collision (vérifiégh pr list --json filessur les workflows paths).Design (patron #13384 appliqué)
fetch-depth: 0+filter: blob:none(graphe complet requis par l'organe stale-base, CI double canal : journaliser tous les verdicts en 1 job (voie rapide) + file asynchrone pour le lourd -- 97% du temps CI est du checkout #11835) +sparse-checkout: .github, scripts— surensemble des 3 sources, blobs paresseux.branches:(l'organe base-not-main doit voir les bases ≠ main — sa raison d'être guard: une PR mergée vers une base != main peut laisser son livrable échoué (2 cas sur 3 mesurés) #10918), pas depaths:(verrou paths-filter #12773 : un garde metadonnee-dependant est DESARME par un paths: (tranches 1a et 1c) #13232 : verdicts METADONNEES ; regle 2 d'variation-tag-guard: rendre l'omission du tag Grain bloquante (4e passage, 3/10 non attribuables ce cycle) #10045 : un check filtré rapportependingà vie).continue-on-error: true+id:, l'étape AGREGAT fait rougir le job — les 2 advisories tournent EN PREMIER (labels posés même si le bloquant échoue). Le nom du job ne porte ni "advisory" ni "optional" (is_advisory()de pr_gate.py ne doit pas le taire).event_name-scopée (enrich(genai,#11271): Image 01-3-Basic-Image-Operations density 597 -> 1287 (markdown-only) #11649) ; pas de triggerpush:main→ la conjonction refoulée par guard(ci): refuser la conjonction push:main + group portant github.ref + cancel-in-progress:true — le defaut de #13372 n'a aucun cliquet #13488 ne s'applique pas (vérifié par le garde lui-même, voir validation).if:) ce que les jobs d'origine skippaient en job-level (base≠main / base=main).Couplages mis à jour (aucune perte de couverture)
scripts/tests/test_base_not_main_no_paths_filter.pypaths:, les 5 types, signature METADONNEESscripts/tests/test_variation_tag_required.pyMETADATA_DEPENDENT_GUARDS: + umbrella (les sources y restent — skip-if-absent)scripts/notebook_tools/audit_workflow_path_filters.pyREQUIRED_UNFILTERED_WORKFLOWS: + umbrella, −stale-base-warning.yml(dormant), motif documenté du fichiercheck_workflow_label_paths.py: vert par construction (l'umbrella pose des labels SANSpaths:→ out of scope, elle peut toujours nettoyer ses labels — #8822).fast_lane_registry.py:671: commentaire historique (rationale tranche 5), laissé tel quel.Validation (relancée après le dernier commit
0a0a023e41)pull_requestactif, 3 sources DORMANT, jobs intacts.check_concurrency_conj.py --check --json:offenders: []— le garde guard(ci): refuser la conjonction push:main + group portant github.ref + cancel-in-progress:true — le defaut de #13372 n'a aucun cliquet #13488 parse la nouvelle YAML et la valide.pytest test_base_not_main_no_paths_filter.py test_variation_tag_required.py: 22 passed.pr_gate.py::derive_always_on_jobs: 6 jobs derivés,Always-on metadata guards -- 3 organes, 1 checkoutprésent — la canary s'est auto-mise à jour (dérivée, jamais hardcodée).check_workflow_label_paths.py: pass.audit_workflow_path_filters.py: unfiltered 6 (required 4, optional 2), positive control OK.Contrôles demandés par #14057
pull_requestde cette PR elle-même en fera foi (checkAlways-on metadata guardsprésent).Base-not-main advisory,Stale Base Branch Warning,concurrency-conj-guard) n'apparaîtront plus sur les nouvelles PRs — c'est le livrable (−2 runs/event).base_not_main.py, bash stale-base,check_concurrency_conj.py --check --json).Review Checklist
Note G-VAR-1 (honnête) : genre
guard(META) — ce cycle ne tient pas le plancher CONTENU. La PR exécute une mission coordinator dispatchée (Vague 2 HIGH, #14057 claimé par cette lane) ; le grain CONTENU de la lane (grothendieck Partie 66) est nommé pour le cycle suivant, la veine #2159 étant repoussée par ses 2 PRs en attente de merge.See #14057 (tranche 1 de la Vague 2 — l'issue reste ouverte : tranche 2 quand #13922/#13947 mergent), See #13384 (patron).