4242 if : ${{ matrix.os == 'windows-2019' }}
4343
4444 - name : Build wheels
45- uses : pypa/cibuildwheel@v2.19.2
45+ uses : pypa/cibuildwheel@v2.20.0
4646 env :
4747 # override setting in pyproject.toml to use msys2 instead of msys64 bash
4848 CIBW_BEFORE_ALL_WINDOWS : msys2 -c bin/cibw_before_all_windows.sh
@@ -107,7 +107,7 @@ jobs:
107107 fail-fast : false
108108 matrix :
109109 os : [ubuntu-20.04, windows-2019, macos-13, macos-14]
110- python-version : ['3.9', '3.10', '3.11', '3.12']
110+ python-version : ['3.9', '3.10', '3.11', '3.12', '3.13-dev' ]
111111
112112 steps :
113113 - uses : actions/setup-python@v5
@@ -138,8 +138,62 @@ jobs:
138138 - run : pip install .
139139 - run : python -m flint.test --verbose
140140
141- # Test that we can still make a coverage build with setuptools.
142- test_coverage_setuptools :
141+ # Test build with minimum Cython and meson-python versions.
142+ test_old_build_requires :
143+ name : ' Test old Cython/meson-python'
144+ runs-on : ubuntu-24.04
145+ steps :
146+ - uses : actions/checkout@v4
147+ - uses : actions/setup-python@v5
148+ with :
149+ python-version : ' 3.12'
150+ - run : sudo apt-get update
151+ - run : sudo apt-get install libflint-dev
152+ # The versions of cython and meson-python here should be kept in sync
153+ # with those in pyproject.toml so that we test the stated minimum
154+ # versions.
155+ #
156+ # We don't need to specify ninja as a requirement in pyproject.toml
157+ # because without --no-build-isolation meson-python handles it
158+ # automatically in get_requirements_for_build_wheel().
159+ - run : ' pip install "cython==3.0" "meson-python==0.13" "ninja<1.11"'
160+ - run : pip install --no-build-isolation .
161+ - run : python -m flint.test --verbose
162+
163+ # For older Ubuntu we have to build Flint >= 3.0.0
164+ test_flint_releases :
165+ name : Test flint ${{ matrix.flint-tag }}
166+ runs-on : ubuntu-22.04
167+ strategy :
168+ fail-fast : false
169+ matrix :
170+ # Supported Flint versions:
171+ flint-tag : ['v3.0.0', 'v3.0.1', 'v3.1.0', 'v3.1.1', 'v3.1.2']
172+ steps :
173+ - uses : actions/checkout@v4
174+ - uses : actions/setup-python@v5
175+ with :
176+ python-version : ' 3.12'
177+ - run : bin/install_flint_ubuntu.sh ${{ matrix.flint-tag }}
178+ - run : pip install .
179+ - run : python -m flint.test --verbose
180+
181+ # Test against flint main
182+ test_flint_main :
183+ name : Test flint main
184+ runs-on : ubuntu-22.04
185+ steps :
186+ - uses : actions/checkout@v4
187+ - uses : actions/setup-python@v5
188+ with :
189+ python-version : ' 3.12'
190+ - run : bin/install_flint_ubuntu.sh main
191+ # Need to disable flint version check to build against main
192+ - run : pip install --config-settings=setup-args="-Dflint_version_check=false" .
193+ - run : python -m flint.test --verbose
194+
195+ # Test that we can make a coverage build and report coverage
196+ test_coverage_build :
143197 name : Test coverage setuptools build
144198 runs-on : ubuntu-24.04
145199 steps :
@@ -149,6 +203,8 @@ jobs:
149203 python-version : ' 3.12'
150204 - run : sudo apt-get update
151205 - run : sudo apt-get install libflint-dev
206+ # This is branch is for a Cython PR:
207+ # https://github.com/cython/cython/pull/6341
152208 - run : pip install git+https://github.com/oscarbenjamin/cython.git@pr_relative_paths
153209 - run : pip install -r requirements-dev.txt
154210 - run : bin/coverage.sh
@@ -173,24 +229,6 @@ jobs:
173229 - run : pip install sympy==${{ matrix.sympy-version }}
174230 - run : python -c 'import sympy; sympy.test(parallel=True)'
175231
176- # For older Ubuntu we have to build Flint >= 3.0.0
177- test_flint_versions :
178- name : Test flint ${{ matrix.flint-tag }}
179- runs-on : ubuntu-22.04
180- strategy :
181- fail-fast : false
182- matrix :
183- # Supported versions and latest git
184- flint-tag : ['v3.0.0', 'v3.0.1', 'v3.1.0', 'v3.1.1', 'v3.1.2', 'main']
185- steps :
186- - uses : actions/checkout@v4
187- - uses : actions/setup-python@v5
188- with :
189- python-version : ' 3.12'
190- - run : bin/install_flint_ubuntu.sh ${{ matrix.flint-tag }}
191- - run : pip install .
192- - run : python -m flint.test --verbose
193-
194232 # Deploy wheels and sdist to PyPI
195233
196234 pypi_release :
0 commit comments