name: CI on: push: branches: [main] pull_request: branches: [main] jobs: backend: name: Backend (build + test) runs-on: ubuntu-latest defaults: run: working-directory: backend steps: - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '10.0.x' - name: Restore run: dotnet restore PnvPanel.slnx - name: Build run: dotnet build PnvPanel.slnx -c Release --no-restore # Docker доступен на ubuntu-latest — интеграционные тесты (Testcontainers.PostgreSql) реально # поднимают Postgres и проверяют HTTP-контракт + pg_advisory_xact_lock под нагрузкой. - name: Test run: dotnet test PnvPanel.slnx -c Release --no-build --logger "console;verbosity=normal" frontend: name: Frontend (lint + typecheck + build) runs-on: ubuntu-latest defaults: run: working-directory: frontend steps: - uses: actions/checkout@v4 - name: Enable corepack run: corepack enable - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' - name: Setup pnpm run: corepack prepare pnpm@11.9.0 --activate - name: Install dependencies run: pnpm install --frozen-lockfile - name: Lint run: pnpm lint - name: Typecheck run: pnpm typecheck - name: Build run: pnpm build