Skip to main content

エラー: "ビルド中にソース コードが見つかりませんでした"

CodeQL でソース コードが見つからない場合は、この問題を解決して、code scanning 分析のブロックを解除する必要があります。

ワークフローが Error: "No source code was seen during the build" または The process '/opt/hostedtoolcache/CodeQL/0.0.0-20200630/x64/codeql/codeql' failed with exit code 32 で失敗した場合は、CodeQL でコードを監視できなかったことを示します。 これには、次の 6 つの理由が考えられます。

  1. サポートされている言語がない: リポジトリには、CodeQL でサポートされている言語で記述されたソース コードが含まれていない場合があります。 サポートされている言語の一覧を確認し、その場合は CodeQL ワークフローを削除します。 詳しくは、「CodeQL によるコード スキャンについて」を参照してください。

  2. 検出された言語の分析可能なコードがない: 自動言語検出により、サポートされている言語が特定されましたが、リポジトリにその言語の分析可能なコードがありません。 一般的な例としては、言語検出サービスが .h ファイルや .gyp ファイルなどの特定のプログラミング言語に関連付けられたファイルを見つけたが、対応する実行可能コードがリポジトリに存在しない場合です。 この問題を解決するには、language マトリクスにある言語のリストを更新し、解析する言語を手動で定義します。 たとえば、次の設定では Go と 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']
    

    詳しくは、「一部の言語は CodeQL の高度なセットアップで分析されませんでした」のワークフロー抽出を参照してください。

  3. コンパイル型言語のコンパイルに失敗した: code scanning ワークフローでコンパイル型言語 (C、C++、C#、Go、 または Java) のコンパイルが試行されましたが、コードはコンパイルされませんでした。 ワークフローで言語に build-mode: autobuild が指定されている場合、または autobuild ステップが含まれている場合、 CodeQL では、適切なビルド メソッドを検出してコードをビルドするためのベスト エフォートが行われます。 特定のビルド環境によっては、autobuild プロセスでコードのビルドが成功しない場合があります。 autobuild ステップを削除し、ビルド ステップを手動で含めない場合も、コンパイルが失敗する可能性があります。 ビルド ステップの定義の詳細については、「"コンパイル済み言語の CodeQL コード スキャン"」を参照してください。

  4. キャッシュされたコンポーネントが検出されない: ワークフローでコンパイル型言語 (C、C++、C#、Go、 または Java) がビルドされ、分析用の CodeQL データベースが作成されていますが、パフォーマンスを向上させるためにビルドの一部がキャッシュされています (Gradle や Bazel などのビルド システムで発生する可能性が最も高い)。 CodeQL はコンパイラのアクティビティを監視してリポジトリ内のデータフローを理解するため、CodeQL は分析を実行するために完全なビルドを実行する必要があります。

  5. init および analyze ステップ以外でのコンパイル: ワークフローでコンパイル型言語 (C、C++、C#、Go、 または Java) がビルドされていますが、ワークフローの init および analyze ステップ間でのコンパイルが行われていません。 CodeQL では、コンパイラのアクティビティを監視して分析を実行するために、これらの 2 つのステップ間でビルドを行う必要があります。

  6. CodeQL によってコンパイルが検出されない: コンパイル済みコード (C、C++、C#、Go、または Java) は正常にコンパイルされましたが、CodeQL でコンパイラの呼び出しを検出できませんでした。 最も一般的な原因を次に示します。

    • ビルドプロセスを CodeQL とは別のコンテナで実行している。 詳しくは、「コンテナで CodeQL Code scanningを実行する」を参照してください。
    • デーモンプロセスを使用して、GitHub Actions の外部で分散ビルドシステムによりビルドしている。
    • CodeQL は、使用されているコンパイラを認識していない。

特定のコンパイラまたは設定で別の問題が発生した場合は、GitHub サポート ポータル までお問い合わせください。

ビルド ステップの指定方法について詳しくは、「コンパイル済み言語の CodeQL コード スキャン」をご覧ください。