name: Lint and Test on: push: branches: - main - renovate/* pull_request: workflow_dispatch: jobs: pre-commit: runs-on: ubuntu-latest if: github.event_name == 'pull_request' # pre-commit-ci/lite-action only runs here strategy: matrix: python-version: [3.11, 3.12] # Our min and max supported Python versions steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - uses: pre-commit/action@v3.0.1 - uses: pre-commit-ci/lite-action@v1.1.0 if: always() lint: runs-on: ubuntu-latest strategy: matrix: python-version: [3.11, 3.12] # Our min and max supported Python versions steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v3 with: enable-cache: true - run: uv python pin ${{ matrix.python-version }} - run: uv sync --python-preference=only-managed - run: uv run refurb ldp tests - run: uv run pylint ldp tests - if: matrix.python-version == '3.11' # Only need to run this on one version uses: suzuki-shunsuke/github-action-renovate-config-validator@v1.1.0 test: runs-on: large-runner steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v3 with: enable-cache: true - run: uv sync - run: uv run pytest -n 16 --dist=loadfile # auto only launches 8 workers in CI, despite runners have 16 cores env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}