Si votre flux de travail échoue avec 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’a pas pu surveiller votre code. Il existe six raisons possibles à cela :
-
Aucune langue prise en charge : Le référentiel peut ne pas contenir de code source écrit dans des langues prises en charge par CodeQL. Vérifiez la liste des langues prises en charge et, si c’est le cas, supprimez le CodeQL flux de travail. Pour plus d’informations, consultez « 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
.hou.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 la compilation d’un langage compilé : Votre code scanning flux de travail 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: autobuildpour une langue ou contient uneautobuildétape, CodeQL fait de son mieux pour détecter une méthode de compilation appropriée et construire votre code. Le processusautobuildpeut 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'étapeautobuildet n'avez pas inclus les étapes de génération manuellement. Pour plus d’informations sur la définition des étapes de build, consultez CodeQL code scanning for compiled languages. -
Composants mis en cache non détectés : Votre flux de travail génère un langage compilé (C, C++, C#, Go ou Java) pour créer une base de données à des fins d’analyse CodeQL , mais les parties de votre build sont mises en cache pour améliorer les performances (probablement avec des systèmes de génération tels que Gradle ou Bazel). Puisque CodeQL observe l'activité du compilateur pour comprendre les flux de données dans un référentiel, CodeQL une compilation complète est nécessaire pour que l'analyse soit réalisée.
-
Compilation en dehors des étapes
initetanalyze: votre workflow génère un langage compilé (C, C++, C#, Go ou Java), mais la compilation ne se produit pas entre les étapesinitetanalyzedu workflow. CodeQL nécessite que votre build 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é avec succès, 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 ».
- Construire en utilisant un système de compilation distribué en dehors de GitHub Actions, avec un processus démon.
- CodeQL n’est pas conscient du compilateur spécifique que vous utilisez.
Si vous rencontrez un autre problème avec votre compilateur ou configuration spécifique, contactez votre administrateur de site.
Pour plus d’informations sur la spécification des étapes de build, consultez CodeQL code scanning for compiled languages.