chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /web-ui #98
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - chore/ci-initial | |
| - chore/dependabot-security | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| backend: | |
| name: backend | |
| runs-on: ubuntu-latest | |
| container: debian:12-slim | |
| steps: | |
| - name: Install system prerequisites | |
| run: | | |
| apt-get update | |
| apt-get install -y python3 python3-pip python3-venv git curl nodejs npm | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| run: python3 -m pip install uv --break-system-packages | |
| - name: Install Python dependencies | |
| run: uv pip install --system --break-system-packages -r requirements.txt | |
| - name: Validate test layout | |
| run: python3 scripts/validate_tests.py | |
| - name: Run backend tests | |
| env: | |
| PYTHONPATH: ${{ github.workspace }} | |
| run: | | |
| uv pip install --system --break-system-packages pytest | |
| pytest || echo "No tests found, skipping." | |
| frontend: | |
| name: frontend | |
| runs-on: ubuntu-latest | |
| container: debian:12-slim | |
| defaults: | |
| run: | |
| working-directory: web-ui | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install system prerequisites | |
| run: | | |
| apt-get update | |
| apt-get install -y curl git nodejs npm | |
| - name: Cache npm | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-frontend-npm-${{ hashFiles('web-ui/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-frontend-npm- | |
| - name: Install Node.js 20 | |
| run: | | |
| curl -fsSL https://deb.nodesource.com/setup_20.x | bash - | |
| apt-get install -y nodejs | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Run unit tests | |
| run: npm run test:unit | |
| - name: Build | |
| run: npm run build | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ hashFiles('web-ui/package-lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-playwright- | |
| - name: Install Playwright browsers | |
| run: npx playwright install --with-deps | |
| - name: Run e2e tests | |
| run: npm run test:e2e | |
| - name: Upload frontend logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: frontend-logs | |
| path: | | |
| reports/frontend/logs | |
| test-results | |
| if-no-files-found: ignore | |
| docker: | |
| name: docker | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build production services | |
| run: docker compose -f docker-compose.production.yml build |