Ana içeriğe geç

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).

  1. mkdocs build --strict ile dokümantasyonu derler (kırık bağlantı veya uyarı varsa derleme başarısız olur).
  2. main dalındaki push'larda derlenen site/ klasörünü GitHub Pages'e actions/upload-pages-artifact + actions/deploy-pages ile 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.