CI/CD¶
Pipeline'lar .github/workflows/ altındadır ve depo köküne yerleştirilmiştir
(GitHub Actions yalnızca depo kökündeki .github/workflows/ klasörünü
tarar — alt dizinlere yerleştirilmiş workflow dosyaları çalışmaz).
ci.yml¶
main dalına yapılan push ve pull_request olaylarında tetiklenir.
| Job | Ne yapar |
|---|---|
dashboard |
npm ci → lint → prettier → typecheck → birim testleri → npm run build, derleme çıktısını artifact olarak yükler |
backend |
npm ci → npm test (birim + smoke) |
e2e |
Frontend'i derleyip önizleme sunucusunu başlatır, Playwright Chromium kurar, uçtan uca senaryoları çalıştırır |
docker-build |
Backend ve frontend Dockerfile'larını docker/build-push-action ile derler (push edilmez, yalnızca derleme doğrulaması) |
k6-smoke |
Backend'i test ortam değişkenleriyle ayağa kaldırır, grafana/setup-k6-action ile k6 kurar, test/k6/smoke.js çalıştırır |
Tüm job'lar bağımsız ve gerçek hata durumunda başarısız olacak şekilde
kurgulanmıştır; hiçbir adımda continue-on-error veya hata bastırma
kullanılmaz.
docs.yml¶
docs/, mkdocs.yml veya kendisi değiştiğinde main dalında tetiklenir
(ayrıca workflow_dispatch ile elle de çalıştırılabilir).
mkdocs build --strictile dokümantasyonu derler (kırık bağlantı veya uyarı varsa derleme başarısız olur).maindalındaki push'larda derlenensite/klasörünü GitHub Pages'eactions/upload-pages-artifact+actions/deploy-pagesile yayınlar.
Pull request'lerde yalnızca derleme adımı çalışır; yayın yapılmaz.
GitHub Pages'i etkinleştirme¶
Depo ayarlarında Settings → Pages → Build and deployment → Source olarak
GitHub Actions seçilmelidir; aksi hâlde deploy job'ı devreye girmez.
Dependabot¶
.github/dependabot.yml, dashboard/, iqvflex/backend/ ve iqvflex/e2e/
için npm; her iki Dockerfile için docker; ve .github/workflows/ için
github-actions ekosistemlerini aylık olarak tarar.