@@ -16,7 +16,7 @@ concurrency:
1616jobs :
1717 test :
1818 name : >-
19- ${{ matrix.py || matrix.tox_env }} on
19+ ${{ matrix.py || matrix.name }} on
2020 ${{ matrix.os == 'windows-latest' && 'Windows' || (matrix.os == 'macos-latest' && 'macOS' || 'Ubuntu') }}
2121 strategy :
2222 fail-fast : false
@@ -25,13 +25,20 @@ jobs:
2525 os : [ubuntu-24.04, windows-latest, macos-latest]
2626 tox_env : ['']
2727 include :
28- - tox_env : py3.12-black24
29- - tox_env : py3.12-black23
30- - tox_env : py3.12-black22
31- - tox_env : py3.12-isort7
32- - tox_env : py3.12-isort6
33- - tox_env : py3.12-isort5
34- - tox_env : py3.12-pydantic1
28+ - tox_env : py3.12-black24-parallel
29+ name : py3.12-black24
30+ - tox_env : py3.12-black23-parallel
31+ name : py3.12-black23
32+ - tox_env : py3.12-black22-parallel
33+ name : py3.12-black22
34+ - tox_env : py3.12-isort7-parallel
35+ name : py3.12-isort7
36+ - tox_env : py3.12-isort6-parallel
37+ name : py3.12-isort6
38+ - tox_env : py3.12-isort5-parallel
39+ name : py3.12-isort5
40+ - tox_env : py3.12-pydantic1-parallel
41+ name : py3.12-pydantic1
3542 runs-on : ${{ matrix.os == '' && 'ubuntu-24.04' || matrix.os }}
3643 env :
3744 OS : ${{ matrix.os == '' && 'ubuntu-24.04' || matrix.os}}
@@ -47,17 +54,19 @@ jobs:
4754 - name : Install tox
4855 run : uv tool install --python-preference only-managed --python 3.13 tox --with tox-uv
4956 - name : Setup Python test environment
50- run : tox run -vv --notest --skip-missing-interpreters false -e ${{ matrix.py || matrix.tox_env }}
57+ run : tox run -vv --notest --skip-missing-interpreters false -e ${{ matrix.py && format('{0}-parallel', matrix.py) || matrix.tox_env }}
5158 env :
5259 UV_PYTHON_PREFERENCE : " only-managed"
5360 - name : Run test suite
54- run : tox run --skip-uv-sync --skip-pkg-install -e ${{ matrix.py || matrix.tox_env }}
61+ run : tox run --skip-uv-sync --skip-pkg-install -e ${{ matrix.py && format('{0}-parallel', matrix.py) || matrix.tox_env }}
5562 env :
5663 UV_PYTHON_PREFERENCE : " only-managed"
5764 - name : Rename coverage report file
5865 run : |
5966 import os; import sys
60- os.rename(f".tox/.coverage.${{ matrix.py || matrix.tox_env }}", f".tox/.coverage.${{ matrix.py || matrix.tox_env}}-${{ matrix.os }}")
67+ env_name = "${{ matrix.py && format('{0}-parallel', matrix.py) || matrix.tox_env }}"
68+ base_name = "${{ matrix.py || matrix.tox_env }}"
69+ os.rename(f".tox/.coverage.{env_name}", f".tox/.coverage.{base_name}-${{ matrix.os }}")
6170 shell : python
6271 - name : Upload coverage data
6372 uses : actions/upload-artifact@v4
0 commit comments