2525 - name : Install just
2626 uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
2727 - name : Install uv
28- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
28+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
2929 with :
3030 enable-cache : true
3131 python-version : " 3.9"
6565 - name : Install just
6666 uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
6767 - name : Install uv
68- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
68+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
6969 with :
7070 enable-cache : true
7171 python-version : ${{ matrix.python-version }}
8888 - name : Install just
8989 uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
9090 - name : Install uv
91- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
91+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
9292 with :
9393 enable-cache : true
9494 python-version : " 3.9"
@@ -111,7 +111,7 @@ jobs:
111111 with :
112112 persist-credentials : false
113113 - name : Install uv
114- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
114+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
115115 with :
116116 enable-cache : true
117117 python-version : " 3.9"
@@ -130,7 +130,7 @@ jobs:
130130 with :
131131 persist-credentials : false
132132 - name : Install uv
133- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
133+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
134134 with :
135135 enable-cache : true
136136 python-version : " 3.9"
@@ -152,7 +152,7 @@ jobs:
152152 with :
153153 persist-credentials : false
154154 - name : Install uv
155- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
155+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
156156 with :
157157 enable-cache : true
158158 python-version : " ${{matrix.python}}"
@@ -220,3 +220,55 @@ jobs:
220220 which python
221221 pip install -e ".[test]"
222222 PYMONGO_MUST_CONNECT=1 pytest -v -k client_context
223+
224+ test_minimum :
225+ permissions :
226+ contents : read
227+ runs-on : ubuntu-latest
228+ name : Test using minimum dependencies and supported Python
229+ steps :
230+ - uses : actions/checkout@v4
231+ with :
232+ persist-credentials : false
233+ - name : Install uv
234+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
235+ with :
236+ python-version : ' 3.9'
237+ - name : Start MongoDB
238+ uses : supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
239+ with :
240+ mongodb-version : 6.0
241+ # Async and our test_dns do not support dnspython 1.X, so we don't run async or dns tests here
242+ - name : Run tests
243+ shell : bash
244+ run : |
245+ uv venv
246+ source .venv/bin/activate
247+ uv pip install -e ".[test]" --resolution=lowest-direct
248+ pytest -v test/test_srv_polling.py
249+
250+ test_minimum_for_async :
251+ permissions :
252+ contents : read
253+ runs-on : ubuntu-latest
254+ name : Test async's minimum dependencies and Python
255+ steps :
256+ - uses : actions/checkout@v4
257+ with :
258+ persist-credentials : false
259+ - name : Install uv
260+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
261+ with :
262+ python-version : ' 3.9'
263+ - name : Start MongoDB
264+ uses : supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # 1.12.0
265+ with :
266+ mongodb-version : 6.0
267+ # The lifetime kwarg we use in srv resolution was added to the async resolver API in dnspython 2.1.0
268+ - name : Run tests
269+ shell : bash
270+ run : |
271+ uv venv
272+ source .venv/bin/activate
273+ uv pip install -e ".[test]" --resolution=lowest-direct dnspython==2.1.0 --force-reinstall
274+ pytest -v test/test_srv_polling.py test/test_dns.py test/asynchronous/test_srv_polling.py test/asynchronous/test_dns.py
0 commit comments