São doze conferências, e todas rodam ao mesmo tempo. Quatro cuidam do código em si: uma padroniza o estilo do primeiro ao último arquivo, outra confere se cada informação é usada como aquilo que ela é, uma data como data e um número como número, a terceira roda a bateria de testes automáticos que repete o uso real do sistema, e a quarta reúne os resultados e acompanha se a qualidade sobe ou desce a cada mudança.
Duas cuidam da segurança: uma procura falhas já conhecidas tanto no código que escrevi quanto nas bibliotecas de terceiros que o sistema usa, e a outra varre o histórico inteiro do projeto atrás de senha ou chave de acesso esquecida no meio do código.
Três olham para o que o sistema carrega junto: se cada biblioteca tem licença compatível com a do projeto, se a versão instalada é exatamente a que eu revisei e não uma trocada no caminho, e uma espécie de lista de ingredientes, com tudo o que foi instalado naquela versão, guardada para responder na hora quando aparecer uma falha nova no mundo.
As três últimas olham para o resultado, do jeito que a pessoa vai encontrar: as configurações de produção são revisadas junto com a estrutura do banco de dados, um navegador de verdade percorre as telas clicando como um usuário faria, e um auditor confere se elas funcionam para quem navega pelo teclado ou usa leitor de tela.
No fim, um portão único resume o resultado. Verde, a mudança pode entrar no projeto. Vermelho, o próprio GitHub bloqueia a entrada, e não existe deixar para arrumar depois.