Skip to main content

Erro: “Nenhum código-fonte visto durante o build”

Quando o CodeQL não encontrar nenhum código-fonte, você precisará resolver esse problema para desbloquear a análise do code scanning.

Se o fluxo de trabalho falhar com 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, isso indicará que o CodeQL não conseguiu monitorar o código. Há seis possíveis motivos para isso:

  1. Linguagens não compatíveis: o repositório pode não conter código-fonte escrito em idiomas compatíveis com CodeQL. Verifique a lista de idiomas com suporte e, se esse for o caso, remova o fluxo de trabalho CodeQL. Para saber mais, confira Sobre a varredura de código com CodeQL.

  2. Nenhum código analisável nas linguagens detectadas: a detecção automática da linguagem identificou uma linguagem compatível, mas não há código analisável dessa linguagem no repositório. Um exemplo típico é quando o serviço de detecção de linguagem encontra um arquivo associado a determinada linguagem de programação, como um arquivo .h ou .gyp, mas nenhum código executável correspondente está presente no repositório. Para resolver o problema, defina manualmente as linguagens que deseja analisar atualizando a lista de linguagens na matriz language. Por exemplo, a configuração a seguir analisará somente Go, e 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' ]
    

    Para obter mais informações, confira a extração de fluxo de trabalho em Algumas linguagens não foram analisadas com a configuração avançada do CodeQL.

  3. Falha na compilação de uma linguagem compilada: o fluxo de trabalho de code scanning tenta compilar uma linguagem compilada (C, C++, C#, Go ou Java), mas o código não foi compilado. Por padrão, o fluxo de trabalho de análise do CodeQL contém uma etapa autobuild e CodeQL tentará detectar um método de compilação adequado para compilar seu código. O processo de autobuild pode não conseguir compilar o seu código, dependendo do seu ambiente de desenvolvimento. A compilação também pode falhar se você removeu a etapa autobuild e não incluiu as etapas de build manualmente. Para saber mais sobre como definir as etapas de build, confira Verificação de código do CodeQL para linguagens compiladas.

  4. Componentes em cache não detectados: o fluxo de trabalho compila uma linguagem (C, C++, C#, Go ou Java) para criar um banco de dados CodeQL para análise, mas partes da sua compilação estão em cache para melhorar o desempenho (que provavelmente ocorrerá com sistemas de compilação como Gradle ou Bazel). Uma vez que o CodeQL observa a atividade do compilador para entender os fluxos de dados em um repositório, CodeQL exige uma compilação completa para realizar a análise.

  5. Compilação fora das etapas init e analyze : seu fluxo de trabalho cria uma linguagem compilada (C, C++, C#, Go ou Java), mas a compilação não ocorre entre as etapas init e analyze no fluxo de trabalho. O CodeQL exige que a sua compilação aconteça entre essas duas etapas para observar a atividade do compilador e realizar a análise.

  6. Compilação não detectada por CodeQL: o código compilado (em C, C++, C# ou Java) foi compilado com sucesso, mas o CodeQL não conseguiu detectar as invocações do compilador. As causas mais comuns são:

    • Executar seu processo de criação em um contêiner separado para CodeQL. Para saber mais, confira Executar a varredura de código CodeQL em um contêiner.
    • Criar usando um sistema de compilação distribuído externo às Ações GitHub, usando um processo de daemon.
    • CodeQL não está ciente do compilador específico que você está usando.

Se você encontrar outro problema com seu compilador específico ou configuração, entre em contato com seu administrador do site.

Para obter mais informações sobre como especificar etapas de build, confira Verificação de código do CodeQL para linguagens compiladas.