Documentação

Configuração de compilação e teste

Explicando ao Coroid como compilar e testar seu projeto, e por que fazer isso corretamente é mais importante do que qualquer outra configuração.

Um agente que não consegue compilar e testar seu projeto não pode verificar seu próprio trabalho. Tudo o que vem depois — portas de qualidade, revisão e a confiança que você deposita em um pull request — depende da correção desses comandos.

Coroid os detecta quando um projeto é criado. Verifique o que foi encontrado.

O que o Coroid precisa

ComandoUtilizado para
InstalarRestaurar dependências em um ambiente de trabalho limpo
CompilarConfirmar que o projeto compila
TestarExecutar sua suíte de testes e ler o resultado

O ambiente de trabalho é limpo e descartável por tarefa; portanto, todo comando deve funcionar a partir de um clone novo, sem nada em cache ou pré-instalado.

Onde a detecção costuma falhar

Monorepos. Os comandos ficam em um subdiretório ou precisam de um filtro de ambiente de trabalho. O comando no nível raiz pode existir, mas executar a ação incorreta.

Etapas de configuração. Suítes que exigem geração de código, uma migração ou a criação de fixtures antes de serem executadas. A detecção identifica o comando de teste, mas ignora seus pré-requisitos.

Dependências de serviço. Testes que necessitam de um banco de dados, cache ou fila em execução. Se sua suíte presume que localhost:5432 está ativo, ela falhará em um ambiente de trabalho limpo.

Variáveis de ambiente. Suítes que leem configurações de um .env que não está no repositório.

Sintomas de uma configuração incorreta

A assinatura indica tarefas falhando durante a verificação por motivos não relacionados à alteração — a mesma falha em todas as tarefas, na mesma etapa, independentemente do solicitado.

Se o primeiro erro que você vê ocorrer antes de qualquer código ser escrito, quase sempre é o comando de compilação. Se falhar após a alteração, geralmente é o comando de teste ou algo do qual os testes dependem.

Contêineres

Quando um projeto pode ser conteinerizado, o Coroid pode usar esse ambiente de execução — o que resolve dependências de serviço e deriva de ambiente de uma só vez, pois o contêiner já as inclui.

Se você tem um Dockerfile ou arquivo Compose funcional que executa seus testes, essa costuma ser a configuração mais confiável disponível para você.

Suporte a linguagens

Os agentes funcionam em qualquer linguagem, mas o quanto o Coroid pode verificar sozinho varia — especialmente a navegação semântica. Consulte suporte a linguagens e o ambiente do agente para saber o que está instalado no ambiente de trabalho e quais linguagens possuem servidor de linguagem.

Fazer esses comandos corretos é mais importante do que a linguagem utilizada. Um par de compilação e teste correto em uma linguagem com suporte limitado supera um par incorreto em uma linguagem bem suportada.