Skip to content
Snippets Groups Projects

#1427: Introduce rust and gitlab-ci-linter pre-commit hooks

Closed #1427: Introduce rust and gitlab-ci-linter pre-commit hooks
Closed Moul requested to merge 1427_pre-commit into dev
  • Introduce Rust and gitlab-ci-linter pre-commit hooks
  • Document pre-commit usage
  • Remove rusty-hook

Close #1427 (closed).

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Moul changed milestone to %2.0

    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ïs
  • closed

  • Author Owner

    cargo check prends du temps car ça compile. Je peux enlever cette vérification. Ça irait ? Il resterait le format fmt et gitlab-ci-linter qui sont très pratiques.

    Edited by Moul
  • Je 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é.

  • Author Owner

    Est-ce que rusty-hook applique les changements de formatage comme le fait fmt de pre-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. Avoir pre-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 de pre-push qui exécuterai le linter clippy, ça ce n'est pas possible avec pre-commit ;)

    C'est moi qui ai choisi sciemment de faire un cargo fmt -- --check au lieu d'un cargo 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ïs
  • quand 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
Please register or sign in to reply
Loading