CI/CD + GitHub Actions + Code Coverage
Adicionei métricas de cobertura de código ao projeto open-source que estou desenvolvendo.
Agora, toda vez que um PR é aberto no 𝐒𝐲𝐤𝐢 (https://github.com/ZaqueuCavalcante/syki), um workflow roda no 𝐆𝐢𝐭𝐇𝐮𝐛 𝐀𝐜𝐭𝐢𝐨𝐧𝐬 para buildar e testar o código enviado.
Ao final, 3 comentários são automaticamente adicionados ao PR:
• Sumário com o total de testes que passaram/falharam
• Tabela com os índices de cobertura (line/branch) de cada projeto
• Link para um relatório completo de cobertura do código submetido no PR
Os testes que eventualmente falharem são agrupados em uma página específica, cujo link é inserido junto com o sumário no primeiro comentário.
Utilizei o 𝐑𝐞𝐩𝐨𝐫𝐭𝐆𝐞𝐧𝐞𝐫𝐚𝐭𝐨𝐫 para gerar o relatório de cobertura e o 𝐆𝐢𝐭𝐇𝐮𝐛 𝐏𝐚𝐠𝐞𝐬 para hospedá-lo.
Com ele é possível visualizar a cobertura do código a nível de classe/método/linha.
Quando o PR é mergeado, um outro workflow roda para buildar, testar, executar migrations no banco de dados e realizar o deploy do sistema no 𝐑𝐚𝐢𝐥𝐰𝐚𝐲.
Referências
• Beautiful .NET Test Reports Using GitHub Actions, by Sean Killeen (https://seankilleen.com/2024/03/beautiful-net-test-reports-using-github-actions)
• ReportGenerator, by Daniel Palme (https://github.com/danielpalme/ReportGenerator)