#1427: Introduce rust and gitlab-ci-linter pre-commit hooks
- Introduce Rust and
gitlab-ci-linter
pre-commit
hooks - Document
pre-commit
usage - Remove
rusty-hook
Close #1427 (closed).
Merge request reports
Activity
changed milestone to %2.0
@moul il est totalement hors de question de faire un
cargo check
en pre-commit hook, cette commande prend beaucoup trop de temps, je l'ai déjà expérimenté par le passé et ça me faisait perdre beaucoup trop de temps. Le temps d'exécution des pre-commit hook doivent être très cours.De plus, je préfère rusty-hook car ça ne demande rien à installer pour le contributeur, donc c'est plus léger pour l'environnement de dev.
Edited by Éloïscargo check
prends du temps car ça compile. Je peux enlever cette vérification. Ça irait ? Il resterait le formatfmt
etgitlab-ci-linter
qui sont très pratiques.Edited by MoulJe peux enlever cette vérification. Ça irait ?
Pourquoi vouloir remplacer rusty-hook par pre-commit ? Ça à l'inconvénient de devoir installer quelque chose. rusty-hook à l'avantage de s'installer automatiquement à la première exécution des tests (qui sont forcément joués par un contributeur régulier).
L'un de mes objectifs est de faciliter au maximum l'on-boarding des contributeurs. Je suis donc contre l'idée de devoir leur faire installer un truc en plus.
l resterait le format fmt et gitlab-ci-linter qui sont très pratiques.
fmt est déjà mis en place par rusty-hook.
Pour le lintage du gitlab-ci j'ai déjà ure extension qui fait ça dans mon IDE, et c'est généralement un ficher que les contributeurs vont pas toucher, on pourrait le faire via rusty-hook, mais ça forcerait le contributeur à installer de quoi vérifier un fichier qu'il ne va dans 99% des cas jamais modifié.
Est-ce que
rusty-hook
applique les changements de formatage comme le faitfmt
depre-commit
? Je découvre encore l’outil. Je trouve ça très pratique et je trouve que ça vaut la peine d’« alourdir » l’env de dév. De toute façon, quand tu contribues au code de Duniter t’es pas un contributeur lambda. Avoirpre-commit
en plus d’installé ça va pas changer grand-chose pour un contributeur avancé.Est-ce que rusty-hook applique les changements de formatage comme le fait fmt de pre-commit?
rusty-hook fait ce qu'on lui demande de faire. Tu peux configurer n'importe qu'elle commande pour n’importe-quel type de git-hook, et pas seulement pre-commit. Tout se configure dans le fichier
.rusty-hook.toml
. Par exemple on pourrait faire un hook depre-push
qui exécuterai le linter clippy, ça ce n'est pas possible avecpre-commit
;)C'est moi qui ai choisi sciemment de faire un
cargo fmt -- --check
au lieu d'uncargo fmt
car je ne veux pas que le hook de pre-commit modifie mon code. Dans certains cas fmt peut faire un changement qui ne va pas, pour moi il est impératif de pouvoir garder le contrôle sur ce que je commit, donc le hook de pre-commit ne doit contenir que des contrôles, pas des actions qui modifient le code.Edited by Éloïsquand tu contribues au code de Duniter t’es pas un contributeur lambda. Avoir pre-commit en plus d’installé ça va pas changer grand-chose pour un contributeur avancé.
Tu pars du constat de la situation actuelle, pour justifier de faire en sorte qu'elle ne puisse pas changer. J'espère bien qu'un jour des contributeurs moins avancés pourront contribuer à certaines petites parties de Duniter, même si c'est des contributions cosmétiques.
Mais même pour moi, j'essaye de minimiser le nombre de truc à installer pour avoir un environnement de dev facile et rapide à redéployer quand je reformate mon ordi ou que je change de machine ou que je déploie un serveur git de test pour faire un nœud de test.
Edited by Éloïs