Si votre workflow échoue avec l'erreur Error: "No source code was seen during the build"
ou The process '/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/codeql' failed with exit code 32
, cela indique que CodeQL n'est pas parvenu à surveiller votre code. Il existe six raisons possibles à cela :
-
Le dépôt peut ne pas contenir de code source écrit dans des langages pris en charge par CodeQL. Vérifiez la liste des langages pris en charge et, si c'est le cas, supprimez le workflow CodeQL. Pour plus d'informations, consultez « À propos de l’analyse du code avec CodeQL ».
-
La détection automatique du langage a identifié un langage pris en charge, mais il n'existe aucun code analysable de ce langage dans le dépôt. Par exemple, notre service de détection de langage trouve un fichier associé à un langage de programmation particulier, tel qu'un fichier
.h
ou.gyp
, mais aucun code exécutable correspondant n'est présent dans le dépôt. Pour résoudre le problème, vous pouvez définir manuellement les langages que vous souhaitez analyser en mettant à jour la liste des langages dans la matricelanguage
. Par exemple, la configuration suivante analyse uniquement Go et JavaScript.strategy: fail-fast: false matrix: # Override automatic language detection by changing the list below. # Supported options are listed in a comment in the default workflow. language: ['go', 'javascript' ]
Pour plus d'informations, consultez l'extrait de workflow disponible dans « Certains langages n'ont pas été analysés avec l’installation avancée de CodeQL ».
-
Votre workflow d'code scanning analyse un langage compilé (C, C++, C#, Go, ou Java), mais le code n'a pas été compilé. Par défaut, le workflow d'analyse CodeQL contient une étape
autobuild
, mais, suivant votre environnement de génération, il n'est pas garanti que cette étape parvienne à générer votre code. La compilation peut également échouer si vous avez supprimé l'étapeautobuild
et n'avez pas inclus les étapes de génération manuellement. Pour plus d'informations sur la spécification des étapes de build, consultez « Analyse du code CodeQL pour les langages compilés ». -
Votre workflow analyse un langage compilé (C, C++, C#, Go, ou Java), mais des parties de votre build sont mises en cache pour améliorer les performances (généralement avec des systèmes de génération comme Gradle ou Bazel). Étant donné que CodeQL observe l'activité du compilateur pour comprendre les flux de données dans un dépôt, CodeQL nécessite qu'une génération complète ait lieu pour effectuer une analyse.
-
Votre workflow analyse un langage compilé (C, C++, C#, Go, ou Java), mais la compilation ne se produit pas entre les étapes
init
etanalyze
du workflow. CodeQL nécessite que votre génération se produise entre ces deux étapes afin d'observer l'activité du compilateur et d'effectuer une analyse. -
Votre code compilé (en C, C++, C#, Go, ou Java) a été compilé, mais CodeQL n'a pas pu détecter les appels du compilateur. Les causes les plus courantes sont :
- Exécution de votre processus de génération dans un conteneur distinct vers CodeQL. Pour plus d'informations, consultez « Exécution de l’analyse du code CodeQL dans un conteneur ».
- Réalisation de la génération avec un système de génération distribué externe à GitHub Actions, utilisant un processus de démon.
- CodeQL ne sait pas quel est le compilateur que vous utilisez.
Si vous rencontrez un autre problème avec votre compilateur ou configuration, contactez le votre administrateur de site.
Pour plus d'informations sur la spécification des étapes de build, consultez « Analyse du code CodeQL pour les langages compilés ».