| name: CI | |
| on: | |
| push: | |
| branches: ['**'] | |
| pull_request: | |
| branches: ['**'] | |
| jobs: | |
| test-python: | |
| name: Python Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| cache: 'pip' | |
| - name: Install Python dependencies | |
| run: pip install -e "api/[dev]" | |
| - name: Run pytest | |
| run: pytest tests/ -v | |
| typecheck-typescript: | |
| name: TypeScript Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js 20 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: cap-provider/package-lock.json | |
| - name: Install dependencies | |
| working-directory: cap-provider | |
| run: npm ci | |
| - name: Run TypeScript type check | |
| working-directory: cap-provider | |
| run: npm run typecheck | |