Wenn Ihr Workflow mit Error: "No source code was seen during the build" oder The process '/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/codeql' failed with exit code 32 fehlschlägt, deutet dies darauf hin, dass CodeQL Ihren Code nicht überwachen konnte. Dafür gibt es sechs mögliche Gründe:
-
Keine unterstützten Sprachen: Das Repository enthält möglicherweise keinen Quellcode, der in Sprachen geschrieben ist, die von CodeQL unterstützt werden. Überprüfen Sie die Liste der unterstützten Sprachen, und entfernen Sie den CodeQL Workflow, falls dies der Fall ist. Weitere Informationen finden Sie unter Codeüberprüfung mit CodeQL.
-
Kein analysierbarer Code der erkannten Sprachen: Die automatische Spracherkennung hat eine unterstützte Sprache identifiziert, aber es gibt keinen analysierbaren Code dieser Sprache im Repository. Ein typisches Beispiel hierfür ist, dass der Spracherkennungsdienst eine Datei findet (z. B.
.h- oder.gyp-Datei), die einer bestimmten Programmiersprache zugeordnet ist, aber kein ausführbarer Code im Repository vorhanden ist. Um das Problem zu beheben, kannst du die zu analysierenden Sprachen manuell definieren, indem du die Liste der Sprachen in derlanguage-Matrix aktualisierst. Bei der folgenden Konfiguration wird beispielsweise nur Go und JavaScript analysiert.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']Weitere Informationen findest du im Workflowextrakt unter Einige Sprachen wurden nicht mit dem erweiterten Setup von CodeQL analysiert.
-
Fehler bei der Kompilierung einer kompilierten Sprache: Ihr code scanning Workflow versucht, eine kompilierte Sprache (C, C++, C#, Go oder Java) zu kompilieren, der Code wurde jedoch nicht kompiliert. Wenn ein Workflow für eine Sprache
build-mode: autobuildangibt oder einenautobuild-Schritt enthält, unternimmt CodeQL den bestmöglichen Versuch, eine passende Buildmethode zu identifizieren und Ihren Code zu erstellen. Je nach Ihrer spezifischen Build-Umgebung ist derautobuildProzess möglicherweise nicht erfolgreich beim Erstellen des Codes. Bei der Kompilierung kann auch ein Fehler auftreten, wenn du denautobuild-Schritt entfernt und keine Buildschritte manuell eingeschlossen hast. Weitere Informationen zum Angeben von Buildschritten findest du unter CodeQL-Codeüberprüfung für kompilierte Sprachen. -
Zwischengespeicherte Komponenten wurden nicht erkannt: Ihr Workflow erstellt eine kompilierte Sprache (C, C++, C#, Go oder Java), um eine CodeQL Datenbank für die Analyse zu erstellen, aber Teile Ihres Builds werden zwischengespeichert, um die Leistung zu verbessern (höchstwahrscheinlich mit Buildsystemen wie Gradle oder Bazel). Da CodeQL die Aktivität des Compilers beobachtet, um die Datenflüsse in einem Repository zu verstehen, ist es erforderlich, dass ein vollständiger Build durchgeführt wird, damit CodeQL eine Analyse vorgenommen werden kann.
-
Kompilierung außerhalb der Schritte
initundanalyze: Ihr Workflow erstellt eine kompilierte Sprache (C, C++, C#, Go, or Java), aber die Kompilierung erfolgt nicht zwischen den Schritteninitundanalyzeim Workflow. CodeQL erfordert, dass Ihr Build zwischen diesen beiden Schritten erfolgt, um die Aktivität des Compilers zu beobachten und Analysen durchzuführen. -
Kompilierung nicht erkannt von CodeQL: Ihr kompilierter Code (in C, C++, C#, Go oder Java) wurde erfolgreich kompiliert, konnte jedoch CodeQL die Compileraufrufe nicht erkennen. Folgende Ursachen sind am häufigsten anzutreffen:
- Ausführen des Buildprozesses in einem separaten Container zu CodeQL. Weitere Informationen finden Sie unter Ausführen der CodeQL-Codeüberprüfung in einem Container.
- Beim Build wird ein verteiltes Buildsystem außerhalb von GitHub Actions unter Nutzung eines Daemon-Prozesses verwendet.
- CodeQL ist nicht über den spezifischen Compiler informiert, den Sie verwenden.
Wenn ein weiteres Problem mit Ihrem spezifischen Compiler oder ihrer Konfiguration auftritt, wenden Sie sich an uns über das GitHub-Support-Portal.
Weitere Informationen zum Angeben von Buildschritten findest du unter CodeQL-Codeüberprüfung für kompilierte Sprachen.