name: CI on: pull_request: branches: [main] permissions: contents: read jobs: backend-tests: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Python uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 with: python-version: "3.10" cache: "pip" - name: Install dependencies run: | pip install -r requirements-base.txt pip install -r requirements-shelfmark.txt pip install pytest - name: Run tests run: pytest tests/ -x --tb=short frontend-checks: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 cache: "npm" cache-dependency-path: src/frontend/package-lock.json - name: Install dependencies working-directory: src/frontend run: npm ci - name: Typecheck working-directory: src/frontend run: npm run typecheck - name: Unit tests working-directory: src/frontend run: npm run test:unit