Description
- Ajout à la CI de :
- black et isort, le build faile si l'un ou l'autre n'est pas content,
- flake8, juste en check, cf TODO plus bas.
- Ajout d'un hook de pre-commit (à installer, voir plus bas) :
- black reformate le code des fichiers .py en staging area, s'il est disponible,
- isort reformate le code des imports dans les fichiers .py en staging area, s'il est disponible,
- flake8 ne fait que signaler ses erreurs et n'empêche pas de commit.
À savoir
- black: "The uncompromising Python code formatter"
- isort: "A Python utility / library to sort imports"
Pour installer le hook (dans le README):
ln -s ../../.pre-commit.sh .git/hooks/pre-commit
et installer les dépendances pip install black isort flake8
(ajouté à requirements-devel.txt
).
Todos
-
Le wiki devrait être mis à jour. -
Fix les erreurs flake8 (ou ajouter à setup.cfg > [flake8] > ignore), cf. logs du build de cette MR. Puis retirer --exit-zero de la CI.
-> En fait non, flake8 a tendance à un peu trop l'ouvrir (déjà 2 ignore dans setup.cfg dus à des conflits avec pep8/black).
Va rester en check-only. -
Une fois mergé, mettre à jour les branches (MRs) existantes. -
optionnel S'amuser à faire en sorte que le hook ne s'applique qu'aux modifs staged. Cf TODO dans .pre-commit.sh
.
Fixes #200 (closed).