SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/ Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue, контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер), Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог). Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0, тесты 1340/130/52/38/9 зелёные.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
name: ci
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: .NET 10
|
||||
uses: actions/setup-dotnet@v4
|
||||
with:
|
||||
dotnet-version: '10.0.x'
|
||||
|
||||
- name: Node 20
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
cache: npm
|
||||
cache-dependency-path: src/frontend/package-lock.json
|
||||
|
||||
- name: Сборка 5 решений
|
||||
run: |
|
||||
dotnet build src/core/Deal.sln --nologo -v q
|
||||
dotnet build src/telegram-service/Deal.Telegram.sln --nologo -v q
|
||||
dotnet build src/ai-service/Deal.Ai.sln --nologo -v q
|
||||
dotnet build src/ml-service/Deal.Ml.sln --nologo -v q
|
||||
dotnet build src/storage-service/Deal.Storage.sln --nologo -v q
|
||||
|
||||
- name: Тесты
|
||||
run: |
|
||||
dotnet test src/core/tests/Deal.Tests.Unit/Deal.Tests.Unit.csproj --nologo
|
||||
dotnet test src/telegram-service/Deal.Telegram.Tests/Deal.Telegram.Tests.csproj --nologo --no-build
|
||||
dotnet test src/ai-service/Deal.Ai.Tests/Deal.Ai.Tests.csproj --nologo --no-build
|
||||
dotnet test src/ml-service/Deal.Ml.Tests/Deal.Ml.Tests.csproj --nologo --no-build
|
||||
dotnet test src/storage-service/Deal.Storage.Tests/Deal.Storage.Tests.csproj --nologo --no-build
|
||||
|
||||
- name: Скан уязвимых NuGet-зависимостей
|
||||
run: |
|
||||
fail=0
|
||||
for sln in src/core/Deal.sln src/telegram-service/Deal.Telegram.sln src/ai-service/Deal.Ai.sln src/ml-service/Deal.Ml.sln src/storage-service/Deal.Storage.sln; do
|
||||
echo "-- $sln"
|
||||
OUTPUT=$(dotnet list "$sln" package --vulnerable --include-transitive 2>&1 || true)
|
||||
if printf '%s' "$OUTPUT" | grep -qi "has the following vulnerable"; then
|
||||
printf '%s\n' "$OUTPUT"
|
||||
echo "ОШИБКА: уязвимые зависимости в $sln"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
exit $fail
|
||||
|
||||
- name: Фронтенд (сборка + линтер i18n)
|
||||
run: |
|
||||
cd src/frontend
|
||||
npm ci
|
||||
npm run build
|
||||
npm run lint:i18n
|
||||
Reference in New Issue
Block a user