mapbox / mapbox/node-cpp-skel

clang-tidy support followup (actually error travis job with warnings/errors)

Ouverte
#105 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C++
Étoiles
74
Forks
9
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

As mentioned at https://github.com/mapbox/node-cpp-skel/pull/64#discussion_r133848127 and https://github.com/mapbox/node-cpp-skel/pull/64#discussion_r133848275 when I set up the make tidy target I was unable to find a way to have clang-tidy return non-zero on warnings/errors.

What this means is that the clang-tidy job on travis will only fail when clang tidy notices problems AND fixes them. Then it will leave behind a git diff and the presence of that diff will trigger the job to fail.

But because clang-tidy cannot auto-fix all problems their is a large class of warnings/errors that do not fail the script and therefore may be present but not failing the travis job.

The todo here is to figure out if the usage of clang-tidy can be fixed (are we doing something wrong, forgetting some flag?) to make clang-tidy return a non-zero error code when it encounters warnings/errors.

/cc @GretaCB who saw this recently with shaver - locally @GretaCB saw a number of pretty important clang-tidy warnings that were silently passing on travis since they were not causing the job to fail.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la make tidy target et le Travis clang-tidy job, puis lisez les deux commentaires liés de la discussion de la pull request concernant la configuration d’origine. Reproduisez un avertissement qui n’est pas corrigé automatiquement et vérifiez le code de sortie de la commande ainsi que le git diff obtenu. Le travail est terminé lorsque les avertissements ou les erreurs de clang-tidy font échouer de manière fiable le Travis job, y compris pour les problèmes qu’il ne peut pas corriger automatiquement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
build-system, ci-cd, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.