[Simplex tree] Generalization of filtration values in Simplex_tree #2690
Workflow file for this run
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: pip build osx | |
on: [push, pull_request] | |
env: | |
MACOSX_DEPLOYMENT_TARGET: 12.0 | |
_PYTHON_HOST_PLATFORM: macosx-12.0-universal2 | |
ARCHFLAGS: "-arch arm64 -arch x86_64" | |
jobs: | |
build: | |
# Should use macos-latest, but python 3.8 and 3.9 is no more available from macos-14 | |
runs-on: macos-13 | |
strategy: | |
max-parallel: 4 | |
matrix: | |
python-version: ['3.9'] | |
include: | |
- python-version: '3.9' | |
numpy-version: '1.21.4' | |
name: Build wheels for Python ${{ matrix.python-version }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: x64 | |
# For python >=3.9, numpy >= 2.0 for package build and ABI compatibility with numpy 1.X and 2.X | |
# cf. https://numpy.org/doc/stable/dev/depending_on_numpy.html#numpy-2-0-specific-advice | |
- name: Install dependencies | |
run: | | |
brew update || true | |
brew install boost eigen gmp mpfr cgal || true | |
python -m pip install --user numpy>=2.0 | |
python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt | |
python -m pip install --user delocate | |
./scripts/build_osx_universal_gmpfr.sh | |
# Now the universal libraries are in $PWD/deps-uni/lib | |
- name: Build python wheel | |
run: | | |
export GMP_LIB_DIR=$PWD/deps-uni/lib | |
export GMPXX_LIB_DIR=$PWD/deps-uni/lib | |
export MPFR_LIB_DIR=$PWD/deps-uni/lib | |
python --version | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=Release .. | |
cd src/python | |
python -m build -n -w | |
export PATH="$PATH:`python -m site --user-base`/bin" | |
delocate-wheel --require-archs universal2 -v dist/*.whl | |
# Test ABI compatibility with numpy 1.X | |
- name: Install and test python wheel | |
run: | | |
python -m pip install --user numpy~=${{ matrix.numpy-version }} | |
python -m pip install --user pytest build/src/python/dist/*.whl | |
python -c "import gudhi; print(gudhi.__version__)" | |
python -m pytest -v src/python/test/test_alpha_complex.py | |
python -m pytest -v src/python/test/test_delaunay_complex.py | |
python -m pytest -v src/python/test/test_bottleneck_distance.py | |
python -m pytest -v src/python/test/test_cubical_complex.py | |
python -m pytest -v src/python/test/test_rips_complex.py | |
- name: Upload OSx python wheel | |
uses: actions/upload-artifact@v4 | |
with: | |
name: osx python wheel | |
path: build/src/python/dist/*.whl |