@@ -107,6 +107,7 @@ jobs:
107
107
detached : true
108
108
timeout-minutes : 60
109
109
- name : Install Basic Dependencies
110
+ # it'd be great if you could just tell poetry to lock to specific versions
110
111
run : |
111
112
poetry config virtualenvs.in-project true
112
113
poetry run pip install --upgrade pip
@@ -143,7 +144,7 @@ jobs:
143
144
- name : Run Full Unit Tests
144
145
run : |
145
146
poetry run pytest --cov-append
146
- mv py${{ matrix.python-version }}-dj${{ matrix.django-version }}-${{ matrix.psycopg-version }}-pg${{ matrix.postgres-version }}.coverage
147
+ mv .coverage py${{ matrix.python-version }}-dj${{ matrix.django-version }}-${{ matrix.psycopg-version }}-pg${{ matrix.postgres-version }}.coverage
147
148
148
149
- name : Store coverage files
149
150
uses : actions/upload-artifact@v4
@@ -158,34 +159,16 @@ jobs:
158
159
strategy :
159
160
matrix :
160
161
python-version : [ '3.8', '3.12']
161
- mysqlclient-version : ['^1.0.3']
162
+ # mysqlclient-version: ['^1.0.3']
162
163
django-version :
163
164
- ' 3.2' # LTS April 2024
164
165
- ' 4.2' # LTS April 2026
165
166
- ' 5.1' # December 2025
166
- drf-version :
167
- - ' >=3.14.0,<3.15.0'
168
- - ' ^3.15'
169
- filter-version :
170
- - ' 23.5'
171
- - ' 24.0'
172
167
exclude :
173
168
- python-version : ' 3.8'
174
169
django-version : ' 5.1'
175
170
- python-version : ' 3.12'
176
171
django-version : ' 3.2'
177
- - django-version : ' 3.2'
178
- drf-version : ' ^3.15'
179
- - django-version : ' 3.2'
180
- filter-version : ' 24.0'
181
- - django-version : ' 4.2'
182
- drf-version : ' >=3.14.0,<3.15.0'
183
- - django-version : ' 4.2'
184
- filter-version : ' 23.5'
185
- - django-version : ' 5.1'
186
- drf-version : ' >=3.14.0,<3.15.0'
187
- - django-version : ' 5.1'
188
- filter-version : ' 23.5'
189
172
190
173
steps :
191
174
- uses : actions/checkout@v4
@@ -215,12 +198,18 @@ jobs:
215
198
poetry run pip install --upgrade pip
216
199
sed -i 's/^python = .*/python = "^${{ matrix.python-version }}"/' pyproject.toml
217
200
poetry add django@^${{ matrix.django-version }}
218
- poetry add django-filter@^${{ matrix.filter-version }} --optional
219
- poetry add djangorestframework@"${{ matrix.drf-version }}" --optional
220
201
poetry install --no-interaction -E all
221
202
- name : Run Full Unit Tests
222
203
run : |
223
204
poetry run pytest
205
+ mv .coverage py${{ matrix.python-version }}-dj${{ matrix.django-version }}-sqlite.coverage
206
+
207
+ - name : Store coverage files
208
+ uses : actions/upload-artifact@v4
209
+ with :
210
+ name : coverage-py${{ matrix.python-version }}-dj${{ matrix.django-version }}-sqlite
211
+ path : py${{ matrix.python-version }}-dj${{ matrix.django-version }}-sqlite.coverage
212
+
224
213
225
214
mysql :
226
215
runs-on : ubuntu-latest
@@ -235,12 +224,6 @@ jobs:
235
224
- ' 3.2' # LTS April 2024
236
225
- ' 4.2' # LTS April 2026
237
226
- ' 5.1' # December 2025
238
- drf-version :
239
- - ' >=3.14.0,<3.15.0'
240
- - ' ^3.15'
241
- filter-version :
242
- - ' 23.5'
243
- - ' 24.0'
244
227
exclude :
245
228
- python-version : ' 3.12'
246
229
django-version : ' 3.2'
@@ -259,18 +242,6 @@ jobs:
259
242
- mysql-version : ' latest'
260
243
mysqlclient-version : ' 1.4.3'
261
244
262
- - django-version : ' 3.2'
263
- drf-version : ' ^3.15'
264
- - django-version : ' 3.2'
265
- filter-version : ' 24.0'
266
- - django-version : ' 4.2'
267
- drf-version : ' >=3.14.0,<3.15.0'
268
- - django-version : ' 4.2'
269
- filter-version : ' 23.5'
270
- - django-version : ' 5.1'
271
- drf-version : ' >=3.14.0,<3.15.0'
272
- - django-version : ' 5.1'
273
- filter-version : ' 23.5'
274
245
275
246
services :
276
247
mysql :
@@ -318,8 +289,6 @@ jobs:
318
289
poetry run pip install --upgrade pip
319
290
sed -i 's/^python = .*/python = "^${{ matrix.python-version }}"/' pyproject.toml
320
291
poetry add django@^${{ matrix.django-version }}
321
- poetry add django-filter@^${{ matrix.filter-version }} --optional
322
- poetry add djangorestframework@"${{ matrix.drf-version }}" --optional
323
292
poetry install -E all --with mysql
324
293
- name : Install mysqlclient if needed
325
294
if : ${{ matrix.mysqlclient-version != '' }}
@@ -329,6 +298,14 @@ jobs:
329
298
MYSQL_VERSION : ${{ matrix.mysql-version }}
330
299
run : |
331
300
poetry run pytest
301
+ mv .coverage py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mysql${{ matrix.mysql-version }}.coverage
302
+
303
+ - name : Store coverage files
304
+ uses : actions/upload-artifact@v4
305
+ with :
306
+ name : coverage-py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mysql${{ matrix.mysql-version }}
307
+ path : py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mysql${{ matrix.mysql-version }}.coverage
308
+
332
309
333
310
mariadb :
334
311
runs-on : ubuntu-latest
@@ -344,12 +321,6 @@ jobs:
344
321
- ' 3.2' # LTS April 2024
345
322
- ' 4.2' # LTS April 2026
346
323
- ' 5.1' # December 2025
347
- drf-version :
348
- - ' >=3.14.0,<3.15.0'
349
- - ' ^3.15'
350
- filter-version :
351
- - ' 23.5'
352
- - ' 24.0'
353
324
exclude :
354
325
- python-version : ' 3.12'
355
326
django-version : ' 3.2'
@@ -373,19 +344,6 @@ jobs:
373
344
- mariadb-version : ' 10.2'
374
345
mariadb-healthcheck : " healthcheck.sh --connect --innodb_initialized"
375
346
376
- - django-version : ' 3.2'
377
- drf-version : ' ^3.15'
378
- - django-version : ' 3.2'
379
- filter-version : ' 24.0'
380
- - django-version : ' 4.2'
381
- drf-version : ' >=3.14.0,<3.15.0'
382
- - django-version : ' 4.2'
383
- filter-version : ' 23.5'
384
- - django-version : ' 5.1'
385
- drf-version : ' >=3.14.0,<3.15.0'
386
- - django-version : ' 5.1'
387
- filter-version : ' 23.5'
388
-
389
347
services :
390
348
mysql :
391
349
# Docker Hub image
@@ -432,15 +390,21 @@ jobs:
432
390
poetry run pip install --upgrade pip
433
391
sed -i 's/^python = .*/python = "^${{ matrix.python-version }}"/' pyproject.toml
434
392
poetry add django@^${{ matrix.django-version }}
435
- poetry add django-filter@^${{ matrix.filter-version }} --optional
436
- poetry add djangorestframework@"${{ matrix.drf-version }}" --optional
437
393
poetry install -E all --with mysql
438
394
- name : Install mysqlclient if needed
439
395
if : ${{ matrix.mysqlclient-version != '' }}
440
396
run : poetry run pip install -U mysqlclient=="${{ matrix.mysqlclient-version }}"
441
397
- name : Run Full Unit Tests
442
398
run : |
443
399
poetry run pytest
400
+ mv .coverage py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mariadb${{ matrix.mariadb-version }}.coverage
401
+
402
+ - name : Store coverage files
403
+ uses : actions/upload-artifact@v4
404
+ with :
405
+ name : coverage-py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mariadb${{ matrix.mariadb-version }}
406
+ path : py${{ matrix.python-version }}-dj${{ matrix.django-version }}-myclient${{ matrix.mysqlclient-version }}-mariadb${{ matrix.mariadb-version }}.coverage
407
+
444
408
445
409
oracle :
446
410
runs-on : ubuntu-latest
@@ -456,12 +420,6 @@ jobs:
456
420
oracle-version :
457
421
- ' 18'
458
422
- ' latest'
459
- drf-version :
460
- - ' >=3.14.0,<3.15.0'
461
- - ' ^3.15'
462
- filter-version :
463
- - ' 23.5'
464
- - ' 24.0'
465
423
exclude :
466
424
- python-version : ' 3.8'
467
425
django-version : ' 5.1'
@@ -481,19 +439,6 @@ jobs:
481
439
oracle-version : ' 18'
482
440
- django-version : ' 5.1'
483
441
oracle-version : ' 18'
484
-
485
- - django-version : ' 3.2'
486
- drf-version : ' ^3.15'
487
- - django-version : ' 3.2'
488
- filter-version : ' 24.0'
489
- - django-version : ' 4.2'
490
- drf-version : ' >=3.14.0,<3.15.0'
491
- - django-version : ' 4.2'
492
- filter-version : ' 23.5'
493
- - django-version : ' 5.1'
494
- drf-version : ' >=3.14.0,<3.15.0'
495
- - django-version : ' 5.1'
496
- filter-version : ' 23.5'
497
442
498
443
services :
499
444
oracle :
@@ -554,12 +499,17 @@ jobs:
554
499
poetry run pip install --upgrade pip
555
500
sed -i 's/^python = .*/python = "^${{ matrix.python-version }}"/' pyproject.toml
556
501
poetry add django@^${{ matrix.django-version }}
557
- poetry add django-filter@^${{ matrix.filter-version }} --optional
558
- poetry add djangorestframework@"${{ matrix.drf-version }}" --optional
559
502
poetry install -E all --with oracle
560
503
- name : Run Full Unit Tests
561
504
run : |
562
505
poetry run pytest -s
506
+ mv .coverage py${{ matrix.python-version }}-dj${{ matrix.django-version }}-oracle${{ matrix.oracle-version }}.coverage
507
+
508
+ - name : Store coverage files
509
+ uses : actions/upload-artifact@v4
510
+ with :
511
+ name : coverage-py${{ matrix.python-version }}-dj${{ matrix.django-version }}-oracle${{ matrix.oracle-version }}
512
+ path : py${{ matrix.python-version }}-dj${{ matrix.django-version }}-oracle${{ matrix.oracle-version }}.coverage
563
513
564
514
565
515
coverage-combine :
0 commit comments