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 :
-
Aucun langage pris en charge : le rĂ©fĂ©rentiel 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 ».
-
Aucun code analysable des langages dĂ©tectĂ©s : 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 rĂ©fĂ©rentiel. 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-typescript']
Pour plus dâinformations, consultez lâextrait de flux de travail disponible dans Certains langages n'ont pas Ă©tĂ© analysĂ©s avec lâinstallation avancĂ©e de CodeQL.
-
Ăchec de compilation dâun langage compilĂ© : votre workflow dâcode scanning tente de compiler un langage compilĂ© (C, C++, C#, Go ou Java), mais le code nâa pas Ă©tĂ© compilĂ©. Lorsquâun flux de travail spĂ©cifie
build-mode: autobuild
pour une langue ou contient une étapeautobuild
, CodeQL fait le meilleur effort pour détecter une méthode de génération appropriée et générer votre code. Le processusautobuild
peut ne pas réussir à générer votre code, en fonction de votre environnement de génération spécifique. 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 dĂ©finition des Ă©tapes de build, consultez Analyse du code CodeQL pour les langages compilĂ©s. -
Pas de dĂ©tection des composants mis en cache : votre workflow gĂ©nĂšre un langage compilĂ© (C, C++, C#, Go ou Java) pour crĂ©er une base de donnĂ©es dâanalyse CodeQL, mais des parties de votre gĂ©nĂ©ration 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.
-
Compilation en dehors des étapes
init
etanalyze
: votre workflow génÚre un langage compilé (C, C++, C#, Go ou Java), mais la compilation ne se produit pas entre les étapesinit
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. -
Compilation non dĂ©tectĂ©e par CodeQL : 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 nous via le portail de support GitHub.
Pour plus dâinformations sur la spĂ©cification des Ă©tapes de build, consultez Analyse du code CodeQL pour les langages compilĂ©s.