name: PR Checks on: pull_request: push: branches: - main permissions: contents: read jobs: smoke-and-tests: runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - name: Set up Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: 22 - name: Set up Bun uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2.0.1 with: bun-version: 1.3.11 - name: Set up Python uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 with: python-version: "3.12" cache: "pip" cache-dependency-path: python/requirements.txt - name: Install dependencies run: bun install --frozen-lockfile - name: Smoke check run: bun run smoke - name: Full unit test suite run: bun test --max-concurrency=1 - name: Install Python test dependencies run: python -m pip install -r python/requirements.txt - name: Python unit tests run: python -m pytest -q python/tests - name: Suspicious PR intent scan run: bun run security:pr-scan -- --base ${{ github.event.pull_request.base.sha || 'origin/main' }} - name: Provider tests run: bun run test:provider - name: Provider recommendation tests run: npm run test:provider-recommendation