Wenn bei deinem Workflow der Fehler 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
auftritt, weist dies darauf hin, dass CodeQL deinen Code nicht überwachen konnte. Dafür gibt es sechs mögliche Gründe:
-
Keine unterstützten Sprachen: Das Repository darf keinen Quellcode enthalten, der in Sprachen geschrieben ist, die von CodeQL unterstützt werden. Überprüfe die Liste der unterstützten Sprachen, und entferne den CodeQL-Workflow, wenn dies der Fall sein sollte. Weitere Informationen findest du unter Informationen zu Codescans 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 unter „Workflowextraktion“ in Einige Sprachen wurden nicht mit dem erweiterten Setup von CodeQL analysiert.
-
Kompilierung einer kompilierten Sprache fehlgeschlagen: Ihr code scanning Workflow versucht, eine kompilierte Sprache (C, C++, C#, Go, or Java) zu kompilieren, aber der Code wurde nicht kompiliert. Wenn ein Workflow
build-mode: autobuild
für eine Sprache angibt oder einenautobuild
-Schritt enthält, CodeQL bemüht sich nach Kräften, eine geeignete Build-Methode zu finden und Ihren Code zu bauen. Je nach Ihrer spezifischen Build-Umgebung ist derautobuild
Prozess 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 Definieren von Build-Schritten finden Sie unter “CodeQL-Codeüberprüfung für kompilierte Sprachen.“ -
Zwischengespeicherte Komponenten nicht erkannt: Ihr Arbeitsablauf erstellt eine kompilierte Sprache (C, C++, C#, Go, or Java), um eine CodeQL Datenbank für die Analyse zu erstellen, aber Teile Ihres Builds werden zwischengespeichert, um die Leistung zu verbessern (was am ehesten bei Build-Systemen wie Gradle oder Bazel der Fall ist). Da CodeQL die Aktivität des Compilers beobachtet, um die Datenflüsse in einem Repository nachvollziehen zu können, erfordert CodeQL einen vollständigen Build, um eine Analyse durchzuführen.
-
Kompilierung außerhalb der Schritte
init
undanalyze
: Ihr Workflow erstellt eine kompilierte Sprache (C, C++, C#, Go, or Java), aber die Kompilierung erfolgt nicht zwischen den Schritteninit
undanalyze
im Workflow. CodeQL erfordert, dass dein Build zwischen diesen beiden Schritten erfolgt, um die Aktivität des Compilers beobachten und die Analyse durchführen zu können. -
Kompilierung von CodeQL nicht erkannt: Der kompilierte Code (in C, C++, C#, Go, or Java) wurde erfolgreich kompiliert, aber CodeQL konnte die Compiler-Aufrufe nicht erkennen. Folgende Ursachen sind am häufigsten anzutreffen:
- Dein Buildvorgang wurde in einem separaten Container für CodeQL ausgeführt. Weitere Informationen findest du unter Ausführen der CodeQL-Codeüberprüfung in einem Container.
- Beim Build wurde ein verteiltes Buildsystem außerhalb von GitHub Actions und ein Daemonprozess verwendet.
- CodeQL kennt den von dir verwendeten spezifischen Compiler nicht.
Wenn ein anderes Problem mit deinem spezifischen Compiler oder deiner Konfiguration auftritt, wende dich an Ihrer Websiteadministratoren.
Weitere Informationen zum Angeben der Buildschritte findest du unter CodeQL-Codeüberprüfung für kompilierte Sprachen.