Добавить единый CI-прогон и workflow

scripts/ci.sh собирает все решения, гоняет тесты всех сервисов, сканирует уязвимые NuGet-зависимости и собирает фронт; build.sh/test.sh расширены на все решения. Плюс .github/workflows/ci.yml. Закрывает BL-CI.
This commit is contained in:
Rustam Khalimov
2026-09-11 17:46:03 +03:00
parent 1d7c9980ba
commit be457d7286
7 changed files with 110 additions and 20 deletions
+10 -10
View File
@@ -1,15 +1,18 @@
#!/usr/bin/env sh
# test.sh — общий прогон тестов и линтеров проекта Дейл (этап 12, пакет C):
# 1) core: юнит-тесты Deal.Tests.Unit (dotnet test);
# 2) frontend: линтер локализации (npm run lint:i18n) — если установлен npm; иначе шаг мягко
# пропускается (установка фронт-зависимостей `npm ci` — отдельное действие, и прогон
# тестов не должен падать из-за её отсутствия).
# test.sh — тесты всех сервисов Дейла + линтер локализации фронта. CI-шаг «test».
set -e
REPO_DIR=$(cd "$(dirname "$0")/.." && pwd)
echo "== core: dotnet test =="
(cd "$REPO_DIR/src/core" && dotnet test tests/Deal.Tests.Unit)
for PROJECT in \
src/core/tests/Deal.Tests.Unit/Deal.Tests.Unit.csproj \
src/telegram-service/Deal.Telegram.Tests/Deal.Telegram.Tests.csproj \
src/ai-service/Deal.Ai.Tests/Deal.Ai.Tests.csproj \
src/ml-service/Deal.Ml.Tests/Deal.Ml.Tests.csproj \
src/storage-service/Deal.Storage.Tests/Deal.Storage.Tests.csproj; do
echo "== test: $PROJECT =="
(cd "$REPO_DIR" && dotnet test "$PROJECT" --nologo --logger "console;verbosity=minimal")
done
echo
echo "== frontend: lint:i18n =="
@@ -18,6 +21,3 @@ if command -v npm >/dev/null 2>&1; then
else
echo " пропуск: npm не установлен (линтер локализации не запущен)"
fi
echo
echo "== TEST ОК =="