@@ -31,82 +31,94 @@ jobs:
3131 include :
3232 # Make sure to run mypyc compiled unit tests for both
3333 # the oldest and newest supported Python versions
34- - name : Test suite with py39-ubuntu, mypyc-compiled
35- python : ' 3.9'
36- arch : x64
37- os : ubuntu-latest
34+ - name : Test suite with py310-ubuntu, mypyc-compiled
35+ python : ' 3.10'
36+ os : ubuntu-24.04-arm
3837 toxenv : py
3938 tox_extra_args : " -n 4"
4039 test_mypyc : true
41- - name : Test suite with py39-windows-64
42- python : ' 3.9'
43- arch : x64
44- os : windows-latest
45- toxenv : py39
40+ - name : Test suite with py311-ubuntu
41+ python : ' 3.11'
42+ os : ubuntu-24.04-arm
43+ toxenv : py
4644 tox_extra_args : " -n 4"
47- - name : Test suite with py310-ubuntu
48- python : ' 3.10'
49- arch : x64
50- os : ubuntu-latest
45+ - name : Test suite with py312-ubuntu
46+ python : ' 3.12'
47+ os : ubuntu-24.04-arm
5148 toxenv : py
5249 tox_extra_args : " -n 4"
53- - name : Test suite with py311-ubuntu, mypyc-compiled
54- python : ' 3.11'
55- arch : x64
56- os : ubuntu-latest
50+ - name : Test suite with py313-ubuntu, mypyc-compiled
51+ python : ' 3.13'
52+ os : ubuntu-24.04-arm
5753 toxenv : py
5854 tox_extra_args : " -n 4"
5955 test_mypyc : true
60- - name : Test suite with py312-ubuntu, mypyc-compiled
61- python : ' 3.12'
62- arch : x64
63- os : ubuntu-latest
56+ - name : Test suite with py314-ubuntu, mypyc-compiled
57+ python : ' 3.14'
58+ os : ubuntu-24.04-arm
6459 toxenv : py
6560 tox_extra_args : " -n 4"
6661 test_mypyc : true
67- - name : Test suite with py313-ubuntu, mypyc-compiled
68- python : ' 3.13'
69- arch : x64
70- os : ubuntu-latest
62+ - name : Test suite with py314t-ubuntu, mypyc-compiled
63+ python : ' 3.14t'
64+ os : ubuntu-24.04-arm
7165 toxenv : py
7266 tox_extra_args : " -n 4"
7367 test_mypyc : true
68+ - name : Test suite with py314-windows-64
69+ python : ' 3.14'
70+ os : windows-latest
71+ toxenv : py
72+ tox_extra_args : " -n 4"
7473
75- # - name: Test suite with py314-dev-ubuntu
76- # python: '3.14-dev'
77- # arch: x64
78- # os: ubuntu-latest
74+ # - name: Test suite with py315-dev-ubuntu
75+ # python: '3.15-dev'
76+ # os: ubuntu-24.04-arm
7977 # toxenv: py
8078 # tox_extra_args: "-n 4"
81- # allow_failure: true
79+ # # allow_failure: true
8280 # test_mypyc: true
8381
84- - name : mypyc runtime tests with py39-macos
85- python : ' 3.9.21'
86- arch : x64
87- # TODO: macos-13 is the last one to support Python 3.9, change it to macos-latest when updating the Python version
88- os : macos-13
82+ - name : mypyc runtime tests with py313-macos
83+ python : ' 3.13'
84+ os : macos-latest
85+ toxenv : py
86+ tox_extra_args : " -n 3 mypyc/test/test_run.py mypyc/test/test_external.py"
87+
88+ - name : mypyc runtime tests with py310-ubuntu
89+ python : ' 3.10'
90+ os : ubuntu-latest
8991 toxenv : py
9092 tox_extra_args : " -n 3 mypyc/test/test_run.py mypyc/test/test_external.py"
93+
9194 # This is broken. See
9295 # - https://github.com/python/mypy/issues/17819
9396 # - https://github.com/python/mypy/pull/17822
9497 # - name: mypyc runtime tests with py38-debug-build-ubuntu
9598 # python: '3.9.21'
96- # arch: x64
9799 # os: ubuntu-latest
98100 # toxenv: py
99101 # tox_extra_args: "-n 4 mypyc/test/test_run.py mypyc/test/test_external.py"
100102 # debug_build: true
101103
102- - name : Type check our own code (py39-ubuntu)
103- python : ' 3.9'
104- arch : x64
104+ - name : Parallel tests with py314-ubuntu, interpreted
105+ python : ' 3.14'
106+ os : ubuntu-24.04-arm
107+ toxenv : py
108+ tox_extra_args : " -n 4 --mypy-num-workers=4 mypy/test/testcheck.py"
109+ - name : Parallel tests with py314-ubuntu, mypyc-compiled
110+ python : ' 3.14'
111+ os : ubuntu-24.04-arm
112+ toxenv : py
113+ tox_extra_args : " -n 4 --mypy-num-workers=4 mypy/test/testcheck.py"
114+ test_mypyc : true
115+
116+ - name : Type check our own code (py310-ubuntu)
117+ python : ' 3.10'
105118 os : ubuntu-latest
106119 toxenv : type
107- - name : Type check our own code (py39-windows-64)
108- python : ' 3.9'
109- arch : x64
120+ - name : Type check our own code (py310-windows-64)
121+ python : ' 3.10'
110122 os : windows-latest
111123 toxenv : type
112124
@@ -115,7 +127,6 @@ jobs:
115127 # to ensure the tox env works as expected
116128 - name : Formatting and code style with Black + ruff
117129 python : ' 3.10'
118- arch : x64
119130 os : ubuntu-latest
120131 toxenv : lint
121132
@@ -127,6 +138,8 @@ jobs:
127138 FORCE_COLOR : ${{ !(startsWith(matrix.os, 'windows-') && startsWith(matrix.toxenv, 'py')) && 1 || 0 }}
128139 # Tox
129140 PY_COLORS : 1
141+ # Python -- Disable argparse help colors (3.14+)
142+ PYTHON_COLORS : 0
130143 # Mypy (see https://github.com/python/mypy/issues/7771)
131144 TERM : xterm-color
132145 MYPY_FORCE_COLOR : 1
@@ -136,6 +149,8 @@ jobs:
136149
137150 steps :
138151 - uses : actions/checkout@v4
152+ with :
153+ persist-credentials : false
139154
140155 - name : Debug build
141156 if : ${{ matrix.debug_build }}
@@ -167,7 +182,6 @@ jobs:
167182 if : ${{ !(matrix.debug_build || endsWith(matrix.python, '-dev')) }}
168183 with :
169184 python-version : ${{ matrix.python }}
170- architecture : ${{ matrix.arch }}
171185
172186 - name : Install tox
173187 run : |
@@ -178,7 +192,7 @@ jobs:
178192 echo debug build; python -c 'import sysconfig; print(bool(sysconfig.get_config_var("Py_DEBUG")))'
179193 echo os.cpu_count; python -c 'import os; print(os.cpu_count())'
180194 echo os.sched_getaffinity; python -c 'import os; print(len(getattr(os, "sched_getaffinity", lambda *args: [])(0)))'
181- pip install setuptools==75.1.0 tox==4.21.2
195+ pip install setuptools==75.1.0 tox==4.26.0
182196
183197 - name : Compiled with mypyc
184198 if : ${{ matrix.test_mypyc }}
@@ -217,6 +231,8 @@ jobs:
217231 CC : i686-linux-gnu-gcc
218232 steps :
219233 - uses : actions/checkout@v4
234+ with :
235+ persist-credentials : false
220236 - name : Install 32-bit build dependencies
221237 run : |
222238 sudo dpkg --add-architecture i386 && \
@@ -239,7 +255,7 @@ jobs:
239255 default : 3.11.1
240256 command : python -c "import platform; print(f'{platform.architecture()=} {platform.machine()=}');"
241257 - name : Install tox
242- run : pip install setuptools==75.1.0 tox==4.21.2
258+ run : pip install setuptools==75.1.0 tox==4.26.0
243259 - name : Setup tox environment
244260 run : tox run -e py --notest
245261 - name : Test
0 commit comments