increase required rapidfuzz-cpp version #568
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Build | |
on: | |
push: | |
paths-ignore: | |
- 'docs/**' | |
jobs: | |
no_cython_install: | |
name: "Test install with generated cython files" | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: "actions/checkout@v3" | |
with: | |
submodules: 'true' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install numpy rapidfuzz_capi Cython==3.0.3 | |
- name: Generate cython | |
run: | | |
chmod +x ./src/rapidfuzz/generate.sh | |
./src/rapidfuzz/generate.sh | |
- name: build | |
run: | | |
git apply ./tools/sdist.patch | |
pip install build; python -m build --sdist | |
# test whether tarball contains all files required for compiling | |
pip install dist/rapidfuzz-*.tar.gz -v | |
system_install: | |
name: "Test installation using system supplied libs" | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: "actions/checkout@v3" | |
with: | |
submodules: 'true' | |
- name: Install rapidfuzz-cpp | |
run: | | |
git clone https://github.com/maxbachmann/rapidfuzz-cpp.git | |
cd rapidfuzz-cpp | |
git checkout v1.0.1 | |
mkdir build && cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release | |
cmake --build . | |
sudo cmake --build . --target install | |
- name: Install taskflow | |
run: | | |
git clone https://github.com/taskflow/taskflow.git | |
cd taskflow | |
git checkout v2.7.0 | |
mkdir build && cd build | |
cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0 | |
cmake --build . | |
sudo cmake --build . --target install | |
- name: build | |
run: | | |
pip install . -v | |
system_install2: | |
name: "Test installation using newest version of Taskflow" | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: "actions/checkout@v3" | |
with: | |
submodules: 'true' | |
- name: Install taskflow | |
run: | | |
git clone https://github.com/taskflow/taskflow.git | |
cd taskflow | |
git checkout v3.3.0 | |
mkdir build && cd build | |
cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0 | |
cmake --build . | |
sudo cmake --build . --target install | |
- name: build | |
run: | | |
pip install . -v | |
tests: | |
name: "Python ${{ matrix.python-version }}" | |
runs-on: ${{matrix.os}} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
steps: | |
- uses: "actions/checkout@v3" | |
with: | |
submodules: 'true' | |
- uses: "actions/setup-python@v4" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pytest hypothesis pandas mypy pyinstaller[hook_testing] | |
- name: build | |
run: | | |
pip install . -v | |
#- name: Test type stubs | |
# run: | | |
# python -m mypy.stubtest rapidfuzz --ignore-missing-stub | |
- name: Test with pytest and backtrace in case of SegFault | |
if: runner.os == 'Linux' | |
run: | | |
tools/seg_wrapper.sh pytest tests | |
- name: Test with pytest | |
if: runner.os != 'Linux' | |
run: | | |
pytest tests | |
- name: test pyinstaller packaging | |
run: | | |
python -m PyInstaller.utils.run_tests --include_only rapidfuzz. | |
# validate sse2 code on gcc | |
sde_tests: | |
name: "Test sse2 code on Linux (gcc)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v3" | |
with: | |
submodules: 'true' | |
- uses: "actions/checkout@v3" | |
with: | |
repository: maxbachmann/intel-sde | |
path: sde | |
- uses: "actions/setup-python@v4" | |
with: | |
python-version: "3.11" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pytest hypothesis pandas mypy pyinstaller[hook_testing] | |
- name: build | |
run: | | |
pip install . -v | |
- name: Test on nehalem which does not support avx2 | |
run: ./sde/sde -nhm -- pytest tests |