Showcases & ResultatenGeplaatst door bram.vdh162 dagen geleden

CI/CD pipeline voor mijn side project: van push naar productie in 4 minuten

Even een showcase van iets waar ik best trots op ben. Ik heb voor mijn side project een complete CI/CD pipeline opgezet en Claude heeft het meeste werk gedaan. **De stack:** - Next.js app op Vercel - Supabase database - GitHub Actions voor CI - Playwright voor E2E tests **Wat er gebeurt bij elke git push:** 1. GitHub Actions draait: lint, type check, unit tests (Jest) 2. Als alles groen is: Playwright E2E tests tegen een preview deployment 3. Als E2E tests slagen: automatische merge naar main 4. Vercel deployt automatisch naar productie 5. Slack notificatie met deployment status **Totale tijd van push naar productie: ~4 minuten** **Hoe Claude hielp:** - De hele GitHub Actions workflow geschreven. Ik beschreef wat ik wilde en Claude produceerde een werkend YAML bestand - Playwright test setup inclusief 15 E2E tests voor de belangrijkste flows - Slack webhook integratie - Database migration check die automatisch draait bij schema changes **Wat ik zelf moest doen:** - Debug waarom de E2E tests faalden in CI maar niet lokaal (environment variables vergeten) - Vercel project settings configureren (dat kan Claude niet voor je doen) - De Playwright tests fine-tunen voor stabiliteit (flaky tests zijn een ding) Het hele proces van niks naar werkende pipeline duurde een dag. Zonder Claude was dit makkelijk een week geweest. En nu hoef ik nooit meer handmatig te deployen. Wie heeft er nog interessante CI/CD setups?
11
💬 3 reacties🔗 Delen

Reageer

floris_91161 dagen geleden

Die setup is mooi. Ik heb iets vergelijkbaars maar dan met Vitest in plaats van Jest. Sneller en beter compatibel met Vite-based projecten. Voor de E2E tests gebruik ik ook Playwright, dat ding is echt een game changer vergeleken met Cypress.

wouter_88159 dagen geleden

Flaky tests in CI is echt de pest. Mijn oplossing: retry logic in de GitHub Actions workflow. Als een test faalt, draai hem nog een keer. Niet ideaal maar het voorkomt dat je pipeline blokkeert door een random timeout. En markeer die tests zodat je ze later kunt fixen.

bram.vdh158 dagen geleden

Ja die retry heb ik ook toegevoegd na de eerste week. Werkt goed als tijdelijke fix. Het echte probleem was dat sommige tests afhankelijk waren van data die async geladen werd. Na het toevoegen van betere wait condities in Playwright waren de flaky tests bijna helemaal weg.