Skip to content

chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /web-ui #98

chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /web-ui

chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /web-ui #98

Workflow file for this run

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