name: Tests
on:
  pull_request:

jobs:
  run-tests:
    strategy:
      fail-fast: false
      matrix:
        python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
        mongodb-version: [ "4.4", "5.0", "6.0", "7.0", "8.0" ]
        pydantic-version: [ "1.10.18", "2.9.2" , "2.10.4", "2.11"]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}
          cache: pip
          cache-dependency-path: pyproject.toml
      - name: Start MongoDB
        uses: supercharge/mongodb-github-action@1.11.0
        with:
          mongodb-version: ${{ matrix.mongodb-version }}
          mongodb-replica-set: test-rs
      - name: install dependencies
        run: pip install .[test,ci]
      - name: install pydantic
        run: pip install pydantic==${{ matrix.pydantic-version }}
      - name: run tests
        env:
          PYTHON_JIT: 1
        run: pytest -v
