Sobre o Fluxo de trabalho de análise do CodeQL e as linguagens compiladas
O Code scanning funciona executando consultas em um ou mais bancos de dados do CodeQL. Cada banco de dados contém uma representação do código em uma linguagem única no seu repositório. Para as linguagens compiladas de C/C++, C#, Go, Java, Kotlin, Rust (versão prévia pública), e Swift, o processo de preenchimento deste banco de dados geralmente envolve a construção do código e extração de dados.
Quando você habilita code scanning, a configuração padrão e avançada gera um banco de dados CodeQL para análise usando o método mais simples disponível. Para Java, o banco de dados CodeQL é gerado diretamente da base de código sem exigir uma compilação (modo de compilaçãonone ). Para outras linguagens compiladas, CodeQL cria a base de código usando o modo de compilação autobuild. Como alternativa, é possível usar o manual modo de compilação para especificar comandos de compilação explícitos para analisar apenas os arquivos criados por esses comandos personalizados.
Modos de compilação CodeQL
A ação CodeQL oferece suporte a três modos de compilação diferentes para linguagens compiladas:
-
`none` - o banco de dados CodeQL é criado diretamente a partir do código-fonte, sem a necessidade de recompilá-lo (compatível com todas as linguagens interpretadas e também com Java). -
`autobuild` - CodeQL detecta o método de build mais provável e o utiliza para tentar compilar a base de código e criar um banco de dados para análise (compatível com C/C++, C#, Go, Java, Kotlin e Swift). -
`manual` – você define as etapas de construção a serem usadas para a base de código no fluxo de trabalho (com suporte para C/C++, C#, Go, Java, Kotlin e Swift).
Para obter comportamentos autobuild específicos ao idioma, requisitos do runner e diretrizes para builds manuais, consulte Opções e etapas de build do CodeQL para idiomas compilados.