name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: backend-test: name: Backend Tests (Python ${{ matrix.python-version }}) runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", "3.11", "3.12"] steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Run Pytest suite run: | pytest backend/tests -v frontend-build: name: Frontend Build & Typecheck runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' cache-dependency-path: frontend/package.json - name: Install frontend dependencies working-directory: frontend run: npm ci - name: Build and typecheck frontend working-directory: frontend run: npm run build