77 pull_request :
88
99jobs :
10- no_cython_install :
11- name : " Test install with generated cython files"
12- runs-on : " ubuntu-latest"
13-
14- steps :
15- - uses : " actions/checkout@v4"
16- with :
17- submodules : ' true'
18-
19- - uses : " actions/setup-python@v5"
20- with :
21- python-version : " 3.12"
22-
23- - name : Install dependencies
24- run : |
25- python -m pip install --upgrade pip
26- pip install Cython==3.0.11
27-
28- - name : Generate cython
29- run : |
30- chmod +x ./tools/generate_cython.sh
31- ./tools/generate_cython.sh
32-
33- - name : build
34- run : |
35- git apply ./tools/sdist.patch
36- pip install build; python -m build --sdist
37- # test whether tarball contains all files required for compiling
38- pip install dist/rapidfuzz-*.tar.gz -v
39-
40- - name : Install testing dependencies
41- run : |
42- pip install pytest hypothesis pandas
43-
44- - name : Test with pytest
45- run : |
46- pytest tests
47-
48- system_install :
49- name : " Test installation using system supplied libs"
50- runs-on : " ubuntu-latest"
51-
52- steps :
53- - uses : " actions/checkout@v4"
54-
55- - uses : " actions/setup-python@v5"
56- with :
57- python-version : " 3.12"
58-
59- - name : Install rapidfuzz-cpp
60- run : |
61- git clone https://github.com/rapidfuzz/rapidfuzz-cpp.git
62- cd rapidfuzz-cpp
63- git checkout v3.2.0
64- mkdir build && cd build
65- cmake .. -DCMAKE_BUILD_TYPE=Release
66- cmake --build .
67- sudo cmake --build . --target install
68-
69- - name : Install taskflow
70- run : |
71- git clone https://github.com/taskflow/taskflow.git
72- cd taskflow
73- git checkout v3.3.0
74- mkdir build && cd build
75- cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0
76- cmake --build .
77- sudo cmake --build . --target install
78-
79- - name : build
80- run : |
81- pip install . -v
82-
83- - name : Install testing dependencies
84- run : |
85- python -m pip install --upgrade pip
86- pip install pytest hypothesis pandas
87-
88- - name : Test with pytest
89- run : |
90- pytest tests
91-
92- system_install2 :
93- name : " Test installation using newest version of Taskflow"
94- runs-on : " ubuntu-latest"
95-
96- steps :
97- - uses : " actions/checkout@v4"
98-
99- - uses : " actions/setup-python@v5"
100- with :
101- python-version : " 3.12"
102-
103- - name : Install rapidfuzz-cpp
104- run : |
105- git clone https://github.com/rapidfuzz/rapidfuzz-cpp.git
106- cd rapidfuzz-cpp
107- git checkout v3.2.0
108- mkdir build && cd build
109- cmake .. -DCMAKE_BUILD_TYPE=Release
110- cmake --build .
111- sudo cmake --build . --target install
112-
113- - name : Install taskflow
114- run : |
115- git clone https://github.com/taskflow/taskflow.git
116- cd taskflow
117- git checkout v3.6.0
118- mkdir build && cd build
119- cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0
120- cmake --build .
121- sudo cmake --build . --target install
122-
123- - name : build
124- run : |
125- pip install . -v
126-
127- - name : Install testing dependencies
128- run : |
129- python -m pip install --upgrade pip
130- pip install pytest hypothesis pandas
131-
132- - name : Test with pytest
133- run : |
134- pytest tests
135-
13610 tests :
13711 name : " Python ${{ matrix.python-version }}"
13812 runs-on : ${{matrix.os}}
13913 strategy :
14014 fail-fast : false
14115 matrix :
142- python-version : ["3.9", "3.10", "3.11", "3.12", "3.13" ]
16+ python-version : ["3.9"]
14317 os : [ubuntu-latest, windows-latest, macos-13]
14418
14519 steps :
@@ -160,62 +34,10 @@ jobs:
16034 python -m pip install --upgrade pip
16135 pip install pytest hypothesis pandas mypy pyright pyinstaller[hook_testing]
16236
163- - name : Test type stubs
164- run : |
165- python tools/test_scorer_typing.py
166- python -m mypy tools/test_process_typing.py --warn-unused-ignores
167- python -m pyright -p tools/pyrightconfig.json tools/test_process_typing.py
168-
169- - name : Test with pytest and backtrace in case of SegFault
170- if : runner.os == 'Linux'
171- run : |
172- sudo apt update && sudo apt install systemd-coredump
173- tools/seg_wrapper.sh pytest tests
174- - name : Test with pytest
175- if : runner.os != 'Linux'
176- run : |
177- pytest tests
178-
179- - name : test pyinstaller packaging
180- run : |
181- python -m PyInstaller.utils.run_tests --include_only rapidfuzz.
182-
18337 - name : test cx_freeze packaging
18438 if : matrix.python-version != '3.13'
39+ working-directory : tests/freezeTools
18540 run : |
18641 pip install cx_freeze
187- cd tests/freezeTools
18842 cxfreeze --script script.py --target-dir cxfreezeDist
189- ls
190- ./cxFreezeDist/script
191-
192-
193- # validate sse2 code on gcc
194- sde_tests :
195- name : " Test sse2 code on Linux (gcc)"
196- runs-on : ubuntu-latest
197- steps :
198- - uses : " actions/checkout@v4"
199- with :
200- submodules : ' true'
201-
202- - uses : " actions/checkout@v4"
203- with :
204- repository : rapidfuzz/intel-sde
205- path : sde
206-
207- - uses : " actions/setup-python@v5"
208- with :
209- python-version : " 3.11"
210-
211- - name : build
212- run : |
213- pip install . -v
214-
215- - name : Install testing dependencies
216- run : |
217- python -m pip install --upgrade pip
218- pip install pytest hypothesis pandas mypy
219-
220- - name : Test on nehalem which does not support avx2
221- run : ./sde/sde -nhm -- pytest tests
43+ ./cxfreezeDist/script
0 commit comments