13
13
os : [ubuntu-20.04, windows-2019, macos-12]
14
14
15
15
steps :
16
- - uses : actions/checkout@v3
16
+ - uses : actions/checkout@v4
17
17
18
- - uses : actions/setup-python@v4
18
+ - uses : actions/setup-python@v5
19
19
with :
20
20
python-version : ' 3.10'
21
21
@@ -32,50 +32,58 @@ jobs:
32
32
if : ${{ matrix.os == 'windows-2019' }}
33
33
34
34
- name : Build wheels
35
- uses : pypa/cibuildwheel@v2.11.2
35
+ uses : pypa/cibuildwheel@v2.16.5
36
36
env :
37
- CIBW_BUILD : cp39-* cp310-* cp311-*
38
- CIBW_SKIP : " *-win32 *-manylinux_i686 *-musllinux_*"
39
- # CIBW_SKIP: "*-win32 *-musllinux_*"
40
- CIBW_MANYLINUX_X86_64_IMAGE : manylinux2014
41
- CIBW_MANYLINUX_I686_IMAGE : manylinux2014
42
- CIBW_BEFORE_ALL_LINUX : bin/cibw_before_all_linux.sh
43
- CIBW_BEFORE_ALL_MACOS : bin/cibw_before_all_macosx_x86_64.sh
37
+ # override setting in pyproject.toml to use msys2 instead of msys64 bash
44
38
CIBW_BEFORE_ALL_WINDOWS : msys2 -c bin/cibw_before_all_windows.sh
45
- CIBW_BEFORE_BUILD_WINDOWS : msys2 -c bin/cibw_before_build_windows.sh
46
- CIBW_BEFORE_BUILD : pip install numpy cython==3.0.0b2 delvewheel
47
- CIBW_ENVIRONMENT : >
48
- C_INCLUDE_PATH=$(pwd)/.local/include/
49
- LIBRARY_PATH=$(pwd)/.local/lib/
50
- LD_LIBRARY_PATH=$(pwd)/.local/lib:$LD_LIBRARY_PATH
51
- PYTHON_FLINT_MINGW64=true
52
- CIBW_REPAIR_WHEEL_COMMAND_WINDOWS : >-
53
- bin\cibw_repair_wheel_command_windows.bat {dest_dir} {wheel}
54
- CIBW_TEST_COMMAND : python -c "import flint; print(str(flint.fmpz(2)))"
55
-
56
- - uses : actions/upload-artifact@v3
39
+ CIBW_BEFORE_BUILD_WINDOWS : pip install delvewheel && msys2 -c bin/cibw_before_build_windows.sh
40
+
41
+ - uses : actions/upload-artifact@v4
57
42
with :
43
+ name : wheels-${{ matrix.os }}
58
44
path : wheelhouse/*.whl
59
45
60
46
build_sdist :
61
47
name : Build sdist
62
48
runs-on : ubuntu-20.04
63
49
64
50
steps :
65
- - uses : actions/checkout@v3
51
+ - uses : actions/checkout@v4
66
52
67
- - uses : actions/setup-python@v4
53
+ - uses : actions/setup-python@v5
68
54
with :
69
- python-version : ' 3.11 '
55
+ python-version : ' 3.12 '
70
56
71
- - run : pip install --upgrade pip
72
- - run : pip install cython numpy
73
- - run : python setup.py sdist
57
+ - run : pip install build
58
+ - run : python -m build --sdist
74
59
75
- - uses : actions/upload-artifact@v3
60
+ - uses : actions/upload-artifact@v4
76
61
with :
62
+ name : sdist
77
63
path : dist/*.tar.gz
78
64
65
+ test_rst :
66
+ needs : build_wheels
67
+ name : Test rst docs
68
+ runs-on : ubuntu-20.04
69
+
70
+ steps :
71
+ - uses : actions/checkout@v4
72
+
73
+ - uses : actions/setup-python@v5
74
+ with :
75
+ python-version : ' 3.12'
76
+
77
+ - uses : actions/download-artifact@v4
78
+ with :
79
+ name : wheels-ubuntu-20.04
80
+ path : wheelhouse
81
+
82
+ - run : pip install --upgrade pip
83
+ - run : pip install pytest
84
+ - run : pip install --no-index --find-links wheelhouse python_flint
85
+ - run : pytest --doctest-glob='*.rst' doc/source
86
+
79
87
test_wheels :
80
88
needs : build_wheels
81
89
name : Test ${{ matrix.python-version }} wheel on ${{ matrix.os }}
@@ -84,37 +92,49 @@ jobs:
84
92
fail-fast : false
85
93
matrix :
86
94
os : [ubuntu-20.04, windows-2019, macos-12]
87
- python-version : ['3.9', '3.10', '3.11']
95
+ python-version : ['3.9', '3.10', '3.11', '3.12' ]
88
96
89
97
steps :
90
- - uses : actions/setup-python@v4
98
+ - uses : actions/setup-python@v5
91
99
with :
92
100
python-version : ${{ matrix.python-version }}
93
- - uses : actions/download-artifact@v3
101
+ - uses : actions/download-artifact@v4
94
102
with :
95
- name : artifact
103
+ name : wheels-${{ matrix.os }}
96
104
path : wheelhouse
97
- - run : pip install --find-links wheelhouse python_flint
105
+ - run : pip install --no-index -- find-links wheelhouse python_flint
98
106
- run : python -m flint.test --verbose
99
107
100
- test_pip_linux_vcs :
101
- name : Install from git checkout on Ubuntu
108
+ test_pip_vcs_sdist :
109
+ name : pip install ${{ matrix.target }} on ${{ matrix.python-version }}
102
110
runs-on : ubuntu-22.04
111
+ strategy :
112
+ fail-fast : false
113
+ matrix :
114
+ python-version : ['3.11', '3.12', '3.13-dev']
115
+ # '.' means install from python-flint git checkout
116
+ # 'python-flint' means install from PyPI sdist
117
+ target : ['.', 'python-flint']
103
118
steps :
104
- - uses : actions/checkout@v3
105
- - uses : actions/setup-python@v4
119
+ - uses : actions/checkout@v4
120
+ - uses : actions/setup-python@v5
106
121
with :
107
- python-version : 3.11
108
- - run : bin/pip_install_ubuntu.sh . # Install from checkout
122
+ python-version : ${{ matrix.python-version }}
123
+ - run : bin/pip_install_ubuntu.sh ${{ matrix.target }}
109
124
- run : python -m flint.test --verbose
110
125
111
- test_pip_linux_pypi :
112
- name : Install from PyPI sdist on Ubuntu
126
+ test_flint_versions :
127
+ name : Test flint ${{ matrix.flinttag }}
113
128
runs-on : ubuntu-22.04
129
+ strategy :
130
+ fail-fast : false
131
+ matrix :
132
+ # Supported versions and latest git
133
+ flinttag : ['v3.0.0', 'v3.0.1', 'v3.1.0', 'main']
114
134
steps :
115
- - uses : actions/checkout@v3
116
- - uses : actions/setup-python@v4
135
+ - uses : actions/checkout@v4
136
+ - uses : actions/setup-python@v5
117
137
with :
118
- python-version : 3.11
119
- - run : bin/pip_install_ubuntu.sh python-flint # Install from PyPI sdist
138
+ python-version : 3.12
139
+ - run : bin/pip_install_ubuntu.sh . ${{ matrix.flinttag }}
120
140
- run : python -m flint.test --verbose
0 commit comments