name: Tests on: push: branches: [main] pull_request: branches: [main] # Cancel in-progress runs for the same PR/branch concurrency: group: tests-${{ github.ref }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout code uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 - name: Set up Python 3.11 run: uv python install 3.11 - name: Install dependencies run: | uv venv .venv --python 3.11 source .venv/bin/activate uv pip install -e ".[all,dev]" - name: Run tests run: | source .venv/bin/activate python -m pytest tests/ -q --ignore=tests/integration --tb=short -n auto env: # Ensure tests don't accidentally call real APIs OPENROUTER_API_KEY: "" OPENAI_API_KEY: "" NOUS_API_KEY: ""