outillage: CODEOWNERS — relecture Tech Lead requise sur les chemins sensibles #98
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!98
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/0-codeowners"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce que ça change
Ajoute un fichier
CODEOWNERS: la forge demandera automatiquement ma relecture sur les MR qui touchentinfra/,.forgejo/,db/ettests/ci/— et plus sur les autres. C'est la suggestion du §7 du compte rendu du 31/08 : Tech Lead obligatoire sur le sensible seulement, relecteur tiré au sort partout ailleurs.Preuve
Rien d'exécutable ici : la demande de relecture automatique se constatera sur la première MR touchant
infra/après fusion.Relecture
Où regarder en priorité
Les motifs sont des expressions régulières (héritage Gitea), pas des globs GitHub :
infra/.*et noninfra/**.Not PO
Périmètre (infra / CI / sécurité seulement) conforme au §7 du compte rendu du 31/08, emplacement racine OK pour Forgejo. Deux remarques, aucune bloquante :
Ancrage des motifs. Les motifs Forgejo sont des regexps non ancrées matchées sur le chemin complet :
infra/.*matche aussidocs/infra/.... Aucun chemin de ce type aujourd'hui, mais autant écrire^infra/,^\.forgejo/,^db/,^tests/ci/.À vérifier pour que ça morde vraiment. Le fichier fait que la forge ajoute le Code Owner comme relecteur, mais pour bloquer le merge sans son aval il faut activer « relecture des Code Owners requise » dans la protection de branche de
developetmain. Aujourd'huirequired_approvals=1sans distinction : une MR surinfra/reste mergeable avec l'approbation d'un pair tiré au sort. Je m'occupe du réglage de protection de branche en parallèle.375243802b7366ad1fbbLes deux remarques sont prises, et la seconde valait mieux qu'un « non bloquant ».
L'ancrage. Corrigé :
^infra/,^\.forgejo/,^db/,^tests/ci/. Tu as raison surle fond — aucun
docs/infra/aujourd'hui, mais le jour où quelqu'un en crée un, unerelecture obligatoire se déclencherait sans que personne ne comprenne pourquoi, et c'est
le genre de règle qu'on finit par contourner plutôt que par corriger.
Ce que le fichier ne fait pas est maintenant écrit dedans, en majuscules. Un CODEOWNERS
qui n'exige rien pendant qu'on croit qu'il exige quelque chose est pire que pas de
CODEOWNERS du tout : il donne l'illusion d'une barrière. Le fichier dit donc qu'il faut
« relecture des Code Owners requise » sur la protection de
developet demain, et quetu t'en charges.
Dis-moi quand le réglage est posé, je le vérifierai en ouvrant une demande de test sur
infra/pour voir si elle se laisse fusionner sans moi. Tant que ce n'est pas fait, cefichier documente une intention, pas une règle.