Skip to content

Commit

Permalink
Merge commit '903abb481295b315f5c4b399a52ece79da35756d'
Browse files Browse the repository at this point in the history
  • Loading branch information
wolfmanstout committed Nov 23, 2024
2 parents 0e8fa79 + 903abb4 commit 28dd7c9
Show file tree
Hide file tree
Showing 238 changed files with 33,293 additions and 25,136 deletions.
28 changes: 28 additions & 0 deletions .subtrees/rapidfuzz/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
ColumnLimit: 110
IndentWidth: 4
AccessModifierOffset: -4

AllowShortIfStatementsOnASingleLine: true
PointerAlignment: Left
AllowShortBlocksOnASingleLine: Always
AllowShortFunctionsOnASingleLine: None
AllowShortLambdasOnASingleLine: None
BreakBeforeBraces: Custom
AlwaysBreakTemplateDeclarations: true
BraceWrapping:
SplitEmptyFunction: false
AfterCaseLabel: true
AfterClass: false
AfterControlStatement: MultiLine
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterStruct: false
AfterUnion: false
BeforeCatch: true
BeforeElse: true
SplitEmptyRecord: false
SplitEmptyNamespace: false
AllowAllConstructorInitializersOnNextLine: true
ConstructorInitializerAllOnOneLineOrOnePerLine: true
AllowShortCaseLabelsOnASingleLine: true
1 change: 1 addition & 0 deletions .subtrees/rapidfuzz/.codespell-ignore-lines
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
>>> s2 = "cetain"
4 changes: 2 additions & 2 deletions .subtrees/rapidfuzz/.coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
plugins = Cython.Coverage
source = src
omit =
src/cpp_common.pxd
src/rapidfuzz/cpp_common.pxd

[precision]
show_missing = true
show_missing = true
2 changes: 2 additions & 0 deletions .subtrees/rapidfuzz/.gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
bench/results/* linguist-vendored
docs/img/* linguist-vendored
*.impl linguist-language=C++
*.incl linguist-language=C++
13 changes: 13 additions & 0 deletions .subtrees/rapidfuzz/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Keep GitHub Actions up to date with GitHub's Dependabot...
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
version: 2
updates:
- package-ecosystem: github-actions
directory: /
groups:
github-actions:
patterns:
- "*" # Group all Actions updates into a single larger pull request
schedule:
interval: weekly
136 changes: 103 additions & 33 deletions .subtrees/rapidfuzz/.github/workflows/branchbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,26 @@ on:
push:
paths-ignore:
- 'docs/**'
pull_request:

jobs:
no_cython_install:
name: "Test install with generated cython files"
runs-on: "ubuntu-latest"

steps:
- uses: "actions/checkout@v2"
- uses: "actions/checkout@v4"
with:
submodules: 'true'

- uses: "actions/setup-python@v5"
with:
python-version: "3.12"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy rapidfuzz_capi Cython==3.0.0a11
pip install Cython==3.0.11
- name: Generate cython
run: |
Expand All @@ -32,30 +37,30 @@ jobs:
# test whether tarball contains all files required for compiling
pip install dist/rapidfuzz-*.tar.gz -v
- name: Install testing dependencies
run: |
pip install pytest hypothesis pandas
- name: Test with pytest
run: |
pytest tests
system_install:
name: "Test installation using system supplied libs"
runs-on: "ubuntu-latest"

steps:
- uses: "actions/checkout@v2"
- uses: "actions/checkout@v4"

- uses: "actions/setup-python@v5"
with:
submodules: 'true'
python-version: "3.12"

- name: Install rapidfuzz-cpp
run: |
git clone https://github.com/maxbachmann/rapidfuzz-cpp.git
git clone https://github.com/rapidfuzz/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 jarowinkler-cpp
run: |
git clone https://github.com/maxbachmann/jarowinkler-cpp.git
cd jarowinkler-cpp
git checkout v1.0.0
git checkout v3.1.1
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
Expand All @@ -65,7 +70,7 @@ jobs:
run: |
git clone https://github.com/taskflow/taskflow.git
cd taskflow
git checkout v2.7.0
git checkout v3.3.0
mkdir build && cd build
cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0
cmake --build .
Expand All @@ -75,20 +80,41 @@ jobs:
run: |
pip install . -v
- name: Install testing dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas
- name: Test with pytest
run: |
pytest tests
system_install2:
name: "Test installation using newest version of Taskflow"
runs-on: "ubuntu-latest"

steps:
- uses: "actions/checkout@v2"
- uses: "actions/checkout@v4"

- uses: "actions/setup-python@v5"
with:
submodules: 'true'
python-version: "3.12"

- name: Install rapidfuzz-cpp
run: |
git clone https://github.com/rapidfuzz/rapidfuzz-cpp.git
cd rapidfuzz-cpp
git checkout v3.1.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 v3.3.0
git checkout v3.6.0
mkdir build && cd build
cmake .. -DTF_BUILD_TESTS=0 -DTF_BUILD_EXAMPLES=0
cmake --build .
Expand All @@ -98,44 +124,88 @@ jobs:
run: |
pip install . -v
- name: Install testing dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas
- name: Test with pytest
run: |
pytest tests
tests:
name: "Python ${{ matrix.python-version }}"
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
python-version: ["3.6", "3.9", "3.10"]
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
os: [ubuntu-latest, windows-latest, macos-13]

steps:
- uses: "actions/checkout@v2"
- uses: "actions/checkout@v4"
with:
submodules: 'true'
- uses: "actions/setup-python@v2"
- uses: "actions/setup-python@v5"
with:
allow-prereleases: true
python-version: "${{ matrix.python-version }}"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas mypy
- name: build
run: |
pip install . -v
- name: Install testing dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas mypy pyright pyinstaller[hook_testing]
- name: Test type stubs
if: matrix.python-version != '3.6'
# prevent import from rapidfuzz
working-directory: .github
run: |
python -m mypy.stubtest rapidfuzz --ignore-missing-stub
python tools/test_scorer_typing.py
python -m mypy tools/test_process_typing.py --warn-unused-ignores
python -m pyright -p tools/pyrightconfig.json tools/test_process_typing.py
- name: Test with pytest and backtrace in case of SegFault
if: runner.os == 'Linux'
run: |
sudo apt update && sudo apt install systemd-coredump
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@v4"
with:
submodules: 'true'

- uses: "actions/checkout@v4"
with:
repository: rapidfuzz/intel-sde
path: sde

- uses: "actions/setup-python@v5"
with:
python-version: "3.11"

- name: build
run: |
pip install . -v
- name: Install testing dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas mypy pyinstaller[hook_testing]
- name: Test on nehalem which does not support avx2
run: ./sde/sde -nhm -- pytest tests
46 changes: 46 additions & 0 deletions .subtrees/rapidfuzz/.github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Coverage of Test Build

on:
push:
paths-ignore:
- 'docs/**'

jobs:
tests:
name: "Generate coverage report for tests"
runs-on: ubuntu-latest
steps:
- uses: "actions/checkout@v4"
with:
submodules: 'true'
- uses: "actions/setup-python@v5"
with:
python-version: "3.11"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest hypothesis pandas coverage cython
- name: Generate cython
run: |
chmod +x ./src/rapidfuzz/generate.sh
./src/rapidfuzz/generate.sh
# for cython tests inplace installation is required
- name: build
run: CXXFLAGS=-DCYTHON_TRACE_NOGIL=1 pip install -e . -v

- name: Test with pytest and generate coverage info
run: |
PYTHONPATH=$(pwd)/src coverage run -m pytest tests
coverage xml
coverage report
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
flags: unittests
fail_ci_if_error: true
verbose: true
10 changes: 5 additions & 5 deletions .subtrees/rapidfuzz/.github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@ jobs:
build:
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: actions/setup-python@v2
- uses: actions/setup-python@v5

- name: Install dependencies
run: |
python -m pip install -r docs/requirements.txt
python -m pip install .
- name: Build Site
run: make html
run: sphinx-build -b html docs build/html

- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v3
with:
path: "build/html"

Expand All @@ -49,4 +49,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
uses: actions/deploy-pages@v4
Loading

0 comments on commit 28dd7c9

Please sign in to comment.