25
25
- name : Install just
26
26
uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
27
27
- name : Install uv
28
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
28
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
29
29
with :
30
30
enable-cache : true
31
31
python-version : " 3.9"
65
65
- name : Install just
66
66
uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
67
67
- name : Install uv
68
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
68
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
69
69
with :
70
70
enable-cache : true
71
71
python-version : ${{ matrix.python-version }}
88
88
- name : Install just
89
89
uses : extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3
90
90
- name : Install uv
91
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
91
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
92
92
with :
93
93
enable-cache : true
94
94
python-version : " 3.9"
@@ -111,7 +111,7 @@ jobs:
111
111
with :
112
112
persist-credentials : false
113
113
- name : Install uv
114
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
114
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
115
115
with :
116
116
enable-cache : true
117
117
python-version : " 3.9"
@@ -130,7 +130,7 @@ jobs:
130
130
with :
131
131
persist-credentials : false
132
132
- name : Install uv
133
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
133
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
134
134
with :
135
135
enable-cache : true
136
136
python-version : " 3.9"
@@ -152,7 +152,7 @@ jobs:
152
152
with :
153
153
persist-credentials : false
154
154
- name : Install uv
155
- uses : astral-sh/setup-uv@f0ec1fc3b38f5e7cd731bb6ce540c5af426746bb # v5
155
+ uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v5
156
156
with :
157
157
enable-cache : true
158
158
python-version : " ${{matrix.python}}"
@@ -220,3 +220,55 @@ jobs:
220
220
which python
221
221
pip install -e ".[test]"
222
222
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