@@ -31,70 +31,99 @@ 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- os : ubuntu-24.04-arm
37- toxenv : py
38- tox_extra_args : " -n 4"
39- test_mypyc : true
40- - name : Test suite with py310-ubuntu
34+ - name : Test suite with py310-ubuntu, mypyc-compiled
4135 python : ' 3.10'
4236 os : ubuntu-24.04-arm
4337 toxenv : py
4438 tox_extra_args : " -n 4"
39+ test_mypyc : true
4540 - name : Test suite with py311-ubuntu
4641 python : ' 3.11'
4742 os : ubuntu-24.04-arm
4843 toxenv : py
4944 tox_extra_args : " -n 4"
50- - name : Test suite with py312-ubuntu, mypyc-compiled
45+ - name : Test suite with py312-ubuntu
5146 python : ' 3.12'
5247 os : ubuntu-24.04-arm
5348 toxenv : py
5449 tox_extra_args : " -n 4"
55- test_mypyc : true
5650 - name : Test suite with py313-ubuntu, mypyc-compiled
5751 python : ' 3.13'
5852 os : ubuntu-24.04-arm
5953 toxenv : py
6054 tox_extra_args : " -n 4"
6155 test_mypyc : true
62- - name : Test suite with py313-windows-64
63- python : ' 3.13 '
64- os : windows-latest
56+ - name : Test suite with py314-ubuntu, mypyc-compiled
57+ python : ' 3.14 '
58+ os : ubuntu-24.04-arm
6559 toxenv : py
6660 tox_extra_args : " -n 4"
67-
68- - name : Test suite with py314-dev- ubuntu
69- python : ' 3.14-dev '
61+ test_mypyc : true
62+ - name : Test suite with py314t- ubuntu, mypyc-compiled
63+ python : ' 3.14t '
7064 os : ubuntu-24.04-arm
7165 toxenv : py
7266 tox_extra_args : " -n 4"
73- # allow_failure: true
7467 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"
73+
74+ # - name: Test suite with py315-dev-ubuntu
75+ # python: '3.15-dev'
76+ # os: ubuntu-24.04-arm
77+ # toxenv: py
78+ # tox_extra_args: "-n 4"
79+ # # allow_failure: true
80+ # test_mypyc: true
81+
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"
7587
76- - name : mypyc runtime tests with py39-macos
77- python : ' 3.9.21'
78- # TODO: macos-13 is the last one to support Python 3.9, change it to macos-latest when updating the Python version
79- os : macos-13
88+ - name : mypyc runtime tests with py310-ubuntu
89+ python : ' 3.10'
90+ os : ubuntu-latest
8091 toxenv : py
8192 tox_extra_args : " -n 3 mypyc/test/test_run.py mypyc/test/test_external.py"
93+
8294 # This is broken. See
8395 # - https://github.com/python/mypy/issues/17819
8496 # - https://github.com/python/mypy/pull/17822
85- # - name: mypyc runtime tests with py38 -debug-build-ubuntu
86- # python: '3.9.21 '
97+ # - name: mypyc runtime tests with py310 -debug-build-ubuntu
98+ # python: '3.10 '
8799 # os: ubuntu-latest
88100 # toxenv: py
89101 # tox_extra_args: "-n 4 mypyc/test/test_run.py mypyc/test/test_external.py"
90102 # debug_build: true
91103
92- - name : Type check our own code (py39-ubuntu)
93- python : ' 3.9'
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+ - name : Parallel tests with py314-windows-64, interpreted
116+ python : ' 3.14'
117+ os : windows-latest
118+ toxenv : py
119+ tox_extra_args : " -n 2 --mypy-num-workers=2 mypy/test/testcheck.py -k 'incremental or modules or classes'"
120+
121+ - name : Type check our own code (py310-ubuntu)
122+ python : ' 3.10'
94123 os : ubuntu-latest
95124 toxenv : type
96- - name : Type check our own code (py39 -windows-64)
97- python : ' 3.9 '
125+ - name : Type check our own code (py310 -windows-64)
126+ python : ' 3.10 '
98127 os : windows-latest
99128 toxenv : type
100129
@@ -128,24 +157,15 @@ jobs:
128157 with :
129158 persist-credentials : false
130159
131- - name : Debug build
132- if : ${{ matrix.debug_build }}
133- run : |
134- PYTHONVERSION=${{ matrix.python }}
135- PYTHONDIR=~/python-debug/python-$PYTHONVERSION
136- VENV=$PYTHONDIR/env
137- ./misc/build-debug-python.sh $PYTHONVERSION $PYTHONDIR $VENV
138- # TODO: does this do anything? env vars aren't passed to the next step right
139- source $VENV/bin/activate
140160 - name : Latest dev build
141161 if : ${{ endsWith(matrix.python, '-dev') }}
142162 run : |
143163 git clone --depth 1 https://github.com/python/cpython.git /tmp/cpython --branch $( echo ${{ matrix.python }} | sed 's/-dev//' )
144164 cd /tmp/cpython
145165 echo git rev-parse HEAD; git rev-parse HEAD
146166 git show --no-patch
147- sudo apt-get update
148- sudo apt-get install -y --no-install-recommends \
167+ sudo apt-get update -q
168+ sudo apt-get install -q - y --no-install-recommends \
149169 build-essential gdb lcov libbz2-dev libffi-dev libgdbm-dev liblzma-dev libncurses5-dev \
150170 libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
151171 ./configure --prefix=/opt/pythondev
@@ -154,6 +174,23 @@ jobs:
154174 sudo ln -s /opt/pythondev/bin/python3 /opt/pythondev/bin/python
155175 sudo ln -s /opt/pythondev/bin/pip3 /opt/pythondev/bin/pip
156176 echo "/opt/pythondev/bin" >> $GITHUB_PATH
177+ - name : Debug build
178+ if : ${{ matrix.debug_build }}
179+ run : |
180+ git clone --depth 1 https://github.com/python/cpython.git /tmp/cpython --branch ${{ matrix.python }}
181+ cd /tmp/cpython
182+ echo git rev-parse HEAD; git rev-parse HEAD
183+ git show --no-patch
184+ sudo apt-get update -q
185+ sudo apt-get install -q -y --no-install-recommends \
186+ build-essential gdb lcov libbz2-dev libffi-dev libgdbm-dev liblzma-dev libncurses5-dev \
187+ libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
188+ ./configure CFLAGS="-DPy_DEBUG -DPy_TRACE_REFS -DPYMALLOC_DEBUG" --with-pydebug -with-trace-refs --prefix=/opt/pythondev
189+ make -j$(nproc)
190+ sudo make install
191+ sudo ln -s /opt/pythondev/bin/python3 /opt/pythondev/bin/python
192+ sudo ln -s /opt/pythondev/bin/pip3 /opt/pythondev/bin/pip
193+ echo "/opt/pythondev/bin" >> $GITHUB_PATH
157194 - uses : actions/setup-python@v5
158195 if : ${{ !(matrix.debug_build || endsWith(matrix.python, '-dev')) }}
159196 with :
0 commit comments