Je gaat snel. Tot je niet meer gaat. Veel teams optimaliseren hun pipeline voor snelheid en vergeten dat de pipeline zelf het kwaliteitscontract is.
Dat contract werkt alleen als de juiste controles erin zitten. Wat niet wordt gecontroleerd, glipt erdoor. En wat faalt zonder gevolgen voor de release, is geen kwaliteitsbarrière maar decoratie.
Goedkoop, snel, en vangt de simpele fouten voor ze ergens anders opduiken.
Altijd, bij elke commit. Dit is de basislaag die nooit mag ontbreken.
Bij elke push naar een feature branch, zodat je snel weet of onderdelen nog samenwerken.
Bij merge naar main, als laatste check voor de belangrijkste gebruikersflows.
Niet alles hoeft bij elke commit te draaien. Unit tests altijd, zware end-to-end tests bij merge naar main, performance en security elke nacht of elke week. Maak bewuste keuzes over wanneer wat draait.
Dat laatste punt wordt vaak onderschat. Een pipeline die te lang duurt, nodigt uit tot workarounds: rechtstreeks naar productie pushen, tests overslaan "voor deze ene keer", of de pipeline gewoon negeren als hij toch altijd rood staat. De pipeline moet dus niet alleen grondig zijn, hij moet ook snel genoeg zijn om nageleefd te worden.
Als een falende test geen gevolgen heeft, heeft hij ook geen waarde. Koppel je tests aan het deploymentproces, want kwaliteit afdwingbaar maken is de enige manier om ze te garanderen.
Concreet betekent dat: de deploy-stap heeft een needs-afhankelijkheid van de teststap, en niets meer dan dat.
// deploy start pas als beide teststappen slagen
jobs:
test:
runs-on: ubuntu-latest
steps:
- run: npm run lint
- run: npm run test:unit
- run: npm run test:integration
deploy:
needs: test
runs-on: ubuntu-latest
if: success()
steps:
- run: npm run deploy
Geen needs: test? Dan draaien je tests wel, maar de deploy wacht er niet op. Precies dat ene sleuteltje maakt het verschil tussen een kwaliteitscontract en een rapport dat niemand leest.
De pipeline is je kwaliteitscontract, bij elke wijziging, zonder uitzondering. Een goede pipeline is geen technisch kunstwerk. Het is een geautomatiseerd kwaliteitscontract dat precies doet wat het belooft: niets doorlaten dat niet gecontroleerd is.
We nemen je testaanpak door en zeggen eerlijk waar de winst zit. En waar niet.
Plan een gesprek