Mesclar automaticamente relatórios de compilação individuais
Nas compilações em lote de fanout, o AWS CodeBuild permite a mesclagem automática de relatórios de compilação individuais em um relatório consolidado no nível de lote. Esse recurso fornece uma visão abrangente dos resultados dos testes e da cobertura do código em todas as compilações em um lote.
Como funciona
Ao executar compilações de fanout em lote, cada compilação individual gera relatórios de teste. Depois, o CodeBuild consolida automaticamente relatórios idênticos de diferentes compilações em um relatório unificado, que é anexado à criação em lote. Esses relatórios consolidados podem ser acessados facilmente por meio do campo reportArns da API BatchGetBuildBatches e também podem ser visualizados na guia Relatórios do console. Esse recurso de mesclagem também se estende aos relatórios descobertos automaticamente.
Os relatórios consolidados são criados em grupos de relatórios que são especificados no buildspec ou descobertos automaticamente pelo CodeBuild. É possível analisar as tendências dos relatórios mesclados diretamente nesses grupos de relatórios, fornecendo informações valiosas sobre o desempenho geral da compilação e as métricas de qualidade em compilações históricas do mesmo projeto de compilação em lote.
Para cada compilação individual dentro do lote, o CodeBuild cria automaticamente grupos de relatórios separados. Eles seguem uma convenção de nomenclatura específica, combinando o nome do grupo de relatórios de criação em lote com um sufixo de BuildFanoutShard<shard_number>, onde shard_number representa o número do fragmento no qual o grupo de relatórios é criado. Essa organização permite que você acompanhe e analise tendências nos níveis de compilação consolidado e individual, oferecendo flexibilidade na forma de monitorar e avaliar seus processos de compilação.
O relatório de compilação em lote segue a mesma estrutura dos relatórios de compilação individual. Os seguintes campos-chave na guia Relatório são específicos dos relatórios de compilação em lote:
- Status do relatório de compilação em lote
-
O status dos relatórios de compilação em lote segue regras específicas, dependendo do tipo de relatório:
-
Relatórios de teste:
-
Bem-sucedido: o status será definido como “bem-sucedido” quando todos os relatórios de compilação individual tiverem sido bem-sucedidos.
-
Falha: o status será definido como “falha” se algum relatório de compilação individual falhar.
-
Incompleto: o status será marcado como “incompleto” se algum relatório de compilação individual estiver ausente ou tiver um status de “incompleto”.
-
-
Relatórios de cobertura de código:
-
Concluído: o status será definido como “concluído” quando todos os relatórios de compilação individual forem concluídos.
-
Falha: o status será definido como “falha” se algum relatório de compilação individual falhar.
-
Incompleto: o status será marcado como “incompleto” se algum relatório de compilação individual estiver ausente ou tiver um status de “incompleto”.
-
-
- Resumo de teste
-
O relatório de teste mesclado consolida os seguintes campos de todos os relatórios de compilação individual:
-
duration-in-nano-seconds: tempo máximo de duração do teste em nanossegundos entre todos os relatórios de compilação individual.
-
total: a contagem combinada de todos os casos de teste, somando o número total de testes de cada compilação.
-
status-counts: fornece uma visão consolidada dos status do teste, como “aprovado”, “reprovado” ou “ignorado”, o que é calculado agregando a contagem de cada tipo de status em todas as compilações individuais.
-
- Resumo da cobertura de código
-
O relatório de cobertura de código mesclado combina campos de todas as compilações individuais usando os seguintes cálculos:
-
branches-covered: soma de todas as ramificações cobertas de relatórios individuais.
-
branches-missed: soma de todas as ramificações cobertas de relatórios individuais.
-
branch-coverage-percentage:
(Total covered branches / Total branches) * 100 -
lines-covered: soma de todas as linhas cobertas de relatórios individuais.
-
lines-missed: soma de todas as linhas perdidas de relatórios individuais.
-
lines-coverage-percentage:
(Total covered lines / Total lines) * 100
-
- ID de execução
-
O ARN de compilação em lote.
- Casos de teste
-
O relatório mesclado contém uma lista consolidada de todos os casos de teste de compilações individuais, que pode ser acessada por meio da API DescribeTestCases e do relatório de compilação em lote no console.
- Coberturas de código
-
O relatório de cobertura de código mesclado fornece informações consolidadas de cobertura de linha e ramificação para cada arquivo em todas as compilações individuais. Ele pode ser acessado por meio da API DescribeCodeCoverages e do relatório de compilação em lote no console. Nota: para arquivos cobertos por vários arquivos de teste distribuídos em diferentes fragmentos, o relatório mesclado usa os seguintes critérios de seleção:
-
A seleção primária é baseada na maior cobertura de linha entre os fragmentos.
-
Se a cobertura da linha for igual em vários fragmentos, aquele com a maior cobertura de ramificação será selecionado.
-