Ana içeriğe geç

Pipeline Fazları

Fazlar ci/scripts/run-ci.mjs içindeki PHASES dizisinde tanımlıdır. Bir faz kırmızı olsa bile kalan fazlar çalışır — rapor eksiksiz olsun diye.

# Faz Komut Konum CI'ı durdurur mu
1 Environment / dependencies npm ci her iki paket Evet
2 Backend Typecheck npm run typecheck backend Evet
3 Backend Unit Tests npx tsx tests/run.ts unit backend Evet
4 Backend Integration Tests npx tsx tests/run.ts integration backend Evet
5 Node-RED Migrated API Regression npm run nodered:test backend Evet
6 Swagger / OpenAPI npm run swagger:test backend Evet
7 Audit / Platform Logs npm run logs:test backend Evet
8 Reminder Mail tests/run-file.ts .../reminder-mail.test.ts backend Evet
9 API Middleware (Backend) tests/run-file.ts .../api-doc.test.ts backend Evet
10a Frontend Typecheck npm run typecheck dashboard Evet
10b Frontend Test Typecheck npm run typecheck:test dashboard Evet
11 Frontend Unit/Component/Service jest --ci --maxWorkers=2 dashboard Evet
12 Frontend ESLint npm run lint dashboard Hayır (uyarı)
13 Backend Production Build npm run build backend Evet
14 Frontend Production Build npm run build dashboard Evet
15 Security Scan dahili (harici araç yok) repo Evet
16 Quality Report Generation generate-ci-report.mjs repo —

Faz 8 ve 9 neden ayrı?

Reminder Mail ve API Middleware, Faz 4'ün (integration) içinde de çalışır. Ayrıca tek dosya olarak çalıştırılmalarının nedeni, raporda kendi başlarına sayılabilir olmalarıdır — bu iki alan ürünün en yeni ve en kırılgan parçalarıdır. Aynı test iki kez çalıştığı için toplam süre birkaç saniye artar; karşılığında regresyon hangi modülde olduğu doğrudan görünür.

Çıktı ayrıştırma

Kaynak Beklenen satır
tests/run.ts, scripts/*.ts SONUC: <n> basarili, <n> basarisiz[, <n> atlandi]
tests/run-file.ts __IQV_SUMMARY__{"passed":..,"failed":..,"skipped":..}
Jest Tests: <n> failed, <n> passed, <n> total
ESLint ✖ <n> problems (<n> errors, <n> warnings)

Ayrıştırıcı satırı bulamazsa counts üretilmez ve faz yalnızca exit koduna göre değerlendirilir — uydurma sayı raporlanmaz.

Zaman aşımı

Faz başına varsayılan üst sınır 30 dakikadır (IQV_CI_PHASE_TIMEOUT_MS ile değiştirilebilir). Aşan faz SIGKILL alır ve exit code 124 ile kaydedilir; pipeline durmaz, kalan fazlar çalışır.