Dokumentation

Konfiguration för build och test

Så berättar du för Coroid hur projektet byggs och testas, och varför det här är viktigare än allt annat du konfigurerar.

En agent som inte kan bygga och testa projektet kan inte verifiera sitt eget arbete. Allt som följer – kvalitetsgrindar, granskning och förtroendet du sätter till en pull request – vilar på att de här kommandona är korrekta.

Coroid upptäcker dem när ett projekt skapas. Kontrollera vad som hittades.

Vad Coroid behöver

KommandoAnvänt för
InstalleraÅterställa beroenden i en ren arbetsyta
ByggBekräfta att projektet kompilerar
TestaKöra testsviten och läsa resultatet

Arbetsytan är ren och kan kastas efter varje uppgift, så varje kommando måste fungera från en ny kloning utan något cachat och utan något förinstallerat.

När identifieringen ofta blir fel

Monorepon. Kommandon finns i en underkatalog eller kräver ett workspace-filter. Kommandot på rotnivå kan finnas, men göra fel sak.

Förberedelsesteg. Testsviter som behöver kodgenerering, en migrering eller att fixtures byggs innan de kan köras. Identifieringen ser testkommandot men missar dess förutsättning.

Tjänsteberoenden. Tester som behöver en databas, cache eller kö som körs. Om din testsvit förutsätter att localhost:5432 är igång misslyckas den i en ren arbetsyta.

Miljövariabler. Testsviter som läser konfiguration från en .env som inte finns i källkoden.

Tecken på felaktig konfiguration

Det typiska tecknet är att uppgifter misslyckas under verifieringen av orsaker som inte har med ändringen att göra – samma fel på varje uppgift, i samma steg, oavsett vad som efterfrågades.

Om det första du ser är ett fel innan någon kod har skrivits är det nästan alltid byggkommandot. Om det misslyckas efter att ändringen har gjorts är det vanligtvis testkommandot eller något som testerna är beroende av.

Containrar

Om ett projekt kan köras i en container kan Coroid använda den som körningsmiljö – vilket löser tjänsteberoenden och skillnader i miljön på en gång, eftersom containern redan kodifierar dem.

Om du har en fungerande Dockerfile eller Compose-fil som kör dina tester är det vanligtvis den mest tillförlitliga konfigurationen du har tillgång till.

Språkstöd

Agenter fungerar i alla språk, men hur mycket Coroid kan verifiera på egen hand varierar – särskilt när det gäller semantisk navigering. Se språkstöd och agentmiljön för information om vad som är installerat i arbetsytan och vilka språk som har en språkserver.

Att få de här kommandona rätt är viktigare än vilket språk du använder. Ett korrekt bygg- och testpar i ett språk med svagt stöd slår ett felaktigt par i ett språk med starkt stöd.