@@ -31,28 +31,22 @@ 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
6559 toxenv : py
6660 tox_extra_args : " -n 4"
6761 test_mypyc : true
62+ - name : Test suite with py314t-ubuntu, mypyc-compiled
63+ python : ' 3.14t'
64+ os : ubuntu-24.04-arm
65+ toxenv : py
66+ tox_extra_args : " -n 4"
67+ test_mypyc : true
6868 - name : Test suite with py314-windows-64
6969 python : ' 3.14'
7070 os : windows-latest
@@ -79,28 +79,46 @@ jobs:
7979 # # allow_failure: true
8080 # test_mypyc: true
8181
82- - name : mypyc runtime tests with py39-macos
83- python : ' 3.9.21'
84- # TODO: macos-13 is the last one to support Python 3.9, change it to macos-latest when updating the Python version
85- 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
8691 toxenv : py
8792 tox_extra_args : " -n 3 mypyc/test/test_run.py mypyc/test/test_external.py"
93+
8894 # This is broken. See
8995 # - https://github.com/python/mypy/issues/17819
9096 # - https://github.com/python/mypy/pull/17822
91- # - name: mypyc runtime tests with py38 -debug-build-ubuntu
92- # python: '3.9.21 '
97+ # - name: mypyc runtime tests with py310 -debug-build-ubuntu
98+ # python: '3.10 '
9399 # os: ubuntu-latest
94100 # toxenv: py
95101 # tox_extra_args: "-n 4 mypyc/test/test_run.py mypyc/test/test_external.py"
96102 # debug_build: true
97103
98- - name : Type check our own code (py39-ubuntu)
99- 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+
116+ - name : Type check our own code (py310-ubuntu)
117+ python : ' 3.10'
100118 os : ubuntu-latest
101119 toxenv : type
102- - name : Type check our own code (py39 -windows-64)
103- python : ' 3.9 '
120+ - name : Type check our own code (py310 -windows-64)
121+ python : ' 3.10 '
104122 os : windows-latest
105123 toxenv : type
106124
@@ -134,24 +152,15 @@ jobs:
134152 with :
135153 persist-credentials : false
136154
137- - name : Debug build
138- if : ${{ matrix.debug_build }}
139- run : |
140- PYTHONVERSION=${{ matrix.python }}
141- PYTHONDIR=~/python-debug/python-$PYTHONVERSION
142- VENV=$PYTHONDIR/env
143- ./misc/build-debug-python.sh $PYTHONVERSION $PYTHONDIR $VENV
144- # TODO: does this do anything? env vars aren't passed to the next step right
145- source $VENV/bin/activate
146155 - name : Latest dev build
147156 if : ${{ endsWith(matrix.python, '-dev') }}
148157 run : |
149158 git clone --depth 1 https://github.com/python/cpython.git /tmp/cpython --branch $( echo ${{ matrix.python }} | sed 's/-dev//' )
150159 cd /tmp/cpython
151160 echo git rev-parse HEAD; git rev-parse HEAD
152161 git show --no-patch
153- sudo apt-get update
154- sudo apt-get install -y --no-install-recommends \
162+ sudo apt-get update -q
163+ sudo apt-get install -q - y --no-install-recommends \
155164 build-essential gdb lcov libbz2-dev libffi-dev libgdbm-dev liblzma-dev libncurses5-dev \
156165 libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
157166 ./configure --prefix=/opt/pythondev
@@ -160,6 +169,23 @@ jobs:
160169 sudo ln -s /opt/pythondev/bin/python3 /opt/pythondev/bin/python
161170 sudo ln -s /opt/pythondev/bin/pip3 /opt/pythondev/bin/pip
162171 echo "/opt/pythondev/bin" >> $GITHUB_PATH
172+ - name : Debug build
173+ if : ${{ matrix.debug_build }}
174+ run : |
175+ git clone --depth 1 https://github.com/python/cpython.git /tmp/cpython --branch ${{ matrix.python }}
176+ cd /tmp/cpython
177+ echo git rev-parse HEAD; git rev-parse HEAD
178+ git show --no-patch
179+ sudo apt-get update -q
180+ sudo apt-get install -q -y --no-install-recommends \
181+ build-essential gdb lcov libbz2-dev libffi-dev libgdbm-dev liblzma-dev libncurses5-dev \
182+ libreadline6-dev libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
183+ ./configure CFLAGS="-DPy_DEBUG -DPy_TRACE_REFS -DPYMALLOC_DEBUG" --with-pydebug -with-trace-refs --prefix=/opt/pythondev
184+ make -j$(nproc)
185+ sudo make install
186+ sudo ln -s /opt/pythondev/bin/python3 /opt/pythondev/bin/python
187+ sudo ln -s /opt/pythondev/bin/pip3 /opt/pythondev/bin/pip
188+ echo "/opt/pythondev/bin" >> $GITHUB_PATH
163189 - uses : actions/setup-python@v5
164190 if : ${{ !(matrix.debug_build || endsWith(matrix.python, '-dev')) }}
165191 with :
0 commit comments