Développement #86395
Installer les pre-commit hooks automatiquement
0%
Description
pre-commit install
sur tous les repos :
- C'est un peu long.
- C'est facile à oublier (bien sûr la CI ne laissera pas passer).
- Ça sort une erreur sur le hook wrap-and-sort et il faut aller lire les sources pour comprendre qu'il manque un
apt install devscript
, alors que ça pourrait être inclus dans les dépendances devinst.
Aucune idée de la complexité mais ça me paraîtrait un comportement sympa que devinst se charge de configurer tout ça.
Related issues
History
Updated by Emmanuel Cazenave 11 months ago
- Related to Développement #87970: installer devscripts added
Updated by Gael Pasgrimaud 9 months ago
Ce patch marche pour moi:
diff --git a/tasks/install_source.yml b/tasks/install_source.yml index 5e4b3ef..7874641 100644 --- a/tasks/install_source.yml +++ b/tasks/install_source.yml @@ -27,3 +27,21 @@ args: chdir: "{{ repo_dir }}" when: do_build | default(true) + +- name: "check if pre-commit config exists in {{ repo_dir }}" + stat: + path: "{{ repo_dir }}/.pre-commit-config.yaml" + register: pre_commit_config + +- block: + - name: "check if pre-commit hook exists in {{ repo_dir }}" + stat: + path: "{{ repo_dir }}/.git/hooks/pre-commit" + register: pre_commit_hook + + - name: "run pre-commit install in {{ repo_dir }}" + command: "pre-commit install" + args: + chdir: "{{ repo_dir }}" + when: not pre_commit_hook.stat.get("executable") + when: pre_commit_config.stat.get("exists")
Il manque l'installation du binaire pre-commit. Il y a le choix entre installer le paquet, tester si le binaire est disponible ou ignorer les erreurs du pre-commit install.
Updated by Emmanuel Cazenave 9 months ago
Gael Pasgrimaud a écrit :
Il manque l'installation du binaire pre-commit. Il y a le choix entre installer le paquet
Oui on peu ajouter ça roles/base/tasks/main.yml où il y a déjà toute une liste de paquets installés.
Si tu veux finaliser ça via une branche/PR etc, welcome, sinon merci pour le débroussaillage.
Updated by Robot Gitea 9 months ago
- Status changed from Nouveau to Solution proposée
(gpasgrimaud) a demandé une relecture de Emmanuel Cazenave (ecazenave) sur une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea 8 months ago
- Status changed from Solution proposée to Solution validée
Emmanuel Cazenave (ecazenave) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea 8 months ago
- Status changed from Solution validée to Résolu (à déployer)
Gael Pasgrimaud (gpasgrimaud) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/publik-devinst/pulls/26
- Titre : auto install pre-commit hooks (#86395)
- Modifications : https://git.entrouvert.org/entrouvert/publik-devinst/pulls/26/files
Updated by Paul Marillonnet 8 months ago
- Related to Développement #91402: Une option d’installation pour sauter l’activation automatique des hooks de pre-commit (?) added
Updated by Emmanuel Cazenave 8 months ago
- Status changed from Résolu (à déployer) to Solution déployée