Добавить единый CI-прогон и workflow
scripts/ci.sh собирает все решения, гоняет тесты всех сервисов, сканирует уязвимые NuGet-зависимости и собирает фронт; build.sh/test.sh расширены на все решения. Плюс .github/workflows/ci.yml. Закрывает BL-CI.
This commit is contained in:
@@ -367,13 +367,17 @@ DEAL_MTLS_ENABLED=0|1 DEAL_MTLS_CERT_PASSWORD=... DEAL_DEFAULT_AI_BU
|
||||
Секреты — только через env/secret-хранилище, не в коде и не в репозитории.
|
||||
|
||||
### CI/CD
|
||||
- Сборка: `scripts/build.sh` (core) + сервисные sln — 0 warnings/0 errors (`TreatWarningsAsErrors`);
|
||||
тесты: `scripts/test.sh` (unit core + `npm run lint:i18n`) + сервисные тесты. Фронт — `npm run build`.
|
||||
- Единый прогон: `scripts/ci.sh` (BL-CI, 2026-09-11) — сборка всех 5 решений (`scripts/build.sh`),
|
||||
тесты всех сервисов (`scripts/test.sh`: core/telegram/ai/ml/storage + `npm run lint:i18n`),
|
||||
скан уязвимых NuGet-зависимостей (`dotnet list package --vulnerable --include-transitive`),
|
||||
сборка фронта (`npm ci && npm run build`). Сборка — 0 warnings/0 errors (`TreatWarningsAsErrors`).
|
||||
- Готовый workflow: `.github/workflows/ci.yml` (setup-dotnet 10 + setup-node 20 → `sh scripts/ci.sh`);
|
||||
первый прогон в удалённом CI — при публикации репозитория.
|
||||
- Нагрузочный прогон: `scripts/loadtest/` (bash+curl и k6-вариант; логин admin/admin → контейнеры/карточки;
|
||||
RPS/avg/p95; см. README рядом).
|
||||
- Доставка на VPS: сборка образов → `docker compose ... up -d --build`.
|
||||
- Внешний CI/SAST и k8s — вне этапа (заделы). Скан уязвимостей зависимостей выполнен вручную
|
||||
(`dotnet list package --vulnerable`, `npm audit`) — чисто на 2026-09-10.
|
||||
- Результат локального прогона `scripts/ci.sh` (2026-09-11): core 1315, telegram 130, ai 52, ml 38,
|
||||
storage 9 — всё PASS; фронт `lint:i18n`/`build` зелёные. k8s — вне этапа (задел).
|
||||
|
||||
---
|
||||
|
||||
@@ -942,8 +946,9 @@ docker exec deal-postgres psql -U deal -d deal -c '\dt tenant_*.*'
|
||||
### 6. Тесты и сборка (из корня репозитория)
|
||||
|
||||
```sh
|
||||
sh scripts/build.sh # dotnet build Deal.sln (ожидается 0 warnings / 0 errors)
|
||||
sh scripts/test.sh # dotnet test tests/Deal.Tests.Unit (ожидается 1275 PASS — этап 12)
|
||||
sh scripts/build.sh # сборка всех 5 решений (0 warnings / 0 errors)
|
||||
sh scripts/test.sh # тесты всех сервисов + lint:i18n (core 1315, telegram 130, ai 52, ml 38, storage 9)
|
||||
sh scripts/ci.sh # полный CI-прогон: build + test + скан уязвимостей + сборка фронта
|
||||
```
|
||||
|
||||
Сквозные приёмки этапов — curl-сценарии на :5080 в `.superpowers/sdd/deal-stage{4,5}-projects/`
|
||||
|
||||
Reference in New Issue
Block a user