@@ -25,14 +25,12 @@ concurrency:
2525
2626env :
2727 FORCE_COLOR : " 1"
28- # only affects Windows, but easiest to set here for now
29- SETUPTOOLS_ENABLE_FEATURES : " legacy-editable"
3028
3129jobs :
3230 test :
3331 runs-on : ${{ matrix.os }}
3432 timeout-minutes : 20
35- continue-on-error : ${{ matrix.zmq == 'head' }}
33+ continue-on-error : ${{ matrix.zmq == 'head' || matrix.python == '3.14' }}
3634
3735 env :
3836 MACOSX_DEPLOYMENT_TARGET : " 13.7"
4442 - os : macos-13
4543 python : " 3.8"
4644
47- - os : macos-14
48- python : " 3.12"
49- zmq : bundled
50-
5145 - os : macos-14
5246 python : " 3.13"
5347 zmq : bundled
7064
7165 - os : ubuntu-22.04
7266 python : " 3.9"
73- tornado : head
7467
7568 - os : ubuntu-22.04
7669 python : " 3.10"
8174
8275 - os : ubuntu-24.04
8376 python : " 3.12"
77+ tornado : head
8478
8579 - os : ubuntu-24.04
8680 python : " 3.13"
9387 python : " 3.13"
9488 free_threading : free_threading
9589
90+ - os : ubuntu-24.04
91+ python : " 3.14"
92+
93+ - os : ubuntu-24.04
94+ python : " 3.14"
95+ free_threading : free_threading
96+
9697 - os : windows-2022
9798 python : " 3.8"
9899 arch : x86
@@ -110,43 +111,26 @@ jobs:
110111
111112 - name : setup python
112113 uses : actions/setup-python@v5
113- if : ${{ !matrix.free_threading }}
114114 with :
115115 python-version : ${{ matrix.python }}
116116 architecture : ${{ matrix.arch || 'x64' }}
117117 # allows us to use '3.12' and get '-dev' while we wait
118118 allow-prereleases : true
119+ freethreaded : ${{ matrix.free_threading == 'free_threading' }}
120+ check-latest : ${{ matrix.python == '3.14' }}
119121 cache : pip
120122
121- - name : setup python (free threading)
122- if : ${{ matrix.free_threading }}
123- uses : mamba-org/setup-micromamba@v2
124- with :
125- environment-name : nogil
126- condarc : |
127- channels:
128- - ad-testing/label/py313_nogil
129- - defaults
130- create-args : >-
131- python=${{ matrix.python-version }}
132- pip
133-
134- - name : activate python (free threading)
123+ - name : setup free threading
135124 if : ${{ matrix.free_threading }}
136- # light activate, just add env to path
137- # run this in micromamba-shell
138- # so we don't have to for the rest
139125 run : |
140- echo $PATH
141- echo "PATH=$PATH" >> "$GITHUB_ENV"
142126 echo "PYTHON_GIL=0" >> "$GITHUB_ENV"
143127 # need prerelease Cython until 3.1 is out
144128 echo "PIP_PRE=1" >> "$GITHUB_ENV"
145129 echo "PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" >> "$GITHUB_ENV"
146- shell : micromamba-shell {0}
130+ echo "EXTRA_PIP=--no-binary coverage" >> "$GITHUB_ENV"
147131
148132 - name : setup coverage
149- if : startsWith(matrix.python, 'pypy') || startsWith(matrix.python, '3.12 ')
133+ if : startsWith(matrix.python, 'pypy') || startsWith(matrix.python, '3.14 ')
150134 run : |
151135 grep -v plugins .coveragerc > .coveragerc-save
152136 mv .coveragerc-save .coveragerc
@@ -159,7 +143,7 @@ jobs:
159143 - name : install dependencies
160144 run : |
161145 pip install --upgrade pip wheel
162- pip install -r test-requirements.txt
146+ pip install ${EXTRA_PIP:-} -r test-requirements.txt
163147
164148 - name : remove tornado
165149 if : matrix.tornado == 'none'
0 commit comments