name: CI on: pull_request: push: branches: [master] concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install uv run: python -m pip install --upgrade pip uv - name: Cache uv uses: actions/cache@v4 with: path: | ~/.cache/uv backend/.venv key: uv-${{ runner.os }}-${{ hashFiles('backend/uv.lock') }} - name: Set up Node uses: actions/setup-node@v4 with: node-version: "20" cache: npm cache-dependency-path: frontend/package-lock.json - name: Install dependencies run: make setup - name: Run checks env: # Keep CI builds deterministic and secretless. NEXT_TELEMETRY_DISABLED: "1" # Clerk is required at Next build/prerender time in this repo. # Use a dummy publishable key so forks/PRs can still validate. NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: "pk_test_00000000000000000000000000000000" run: make check