diff options
Diffstat (limited to '.github/workflows/pip-packaging-osx.yml')
-rw-r--r-- | .github/workflows/pip-packaging-osx.yml | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml new file mode 100644 index 00000000..9ddbcfce --- /dev/null +++ b/.github/workflows/pip-packaging-osx.yml @@ -0,0 +1,61 @@ +name: pip packaging osx + +on: + release: + types: [published] + +env: + MACOSX_DEPLOYMENT_TARGET: 10.15 + _PYTHON_HOST_PLATFORM: macosx-10.15-universal2 + ARCHFLAGS: "-arch arm64 -arch x86_64" + +jobs: + build: + runs-on: macos-latest + strategy: + max-parallel: 4 + matrix: + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + name: Build wheels for Python ${{ matrix.python-version }} + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + - name: Install dependencies + run: | + brew update || true + brew install boost eigen gmp mpfr cgal || true + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt + python -m pip install --user twine delocate + ./scripts/build_osx_universal_gmpfr.sh + # Now the universal libs 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 -DPython_ADDITIONAL_VERSIONS=3 .. + cd src/python + python setup.py bdist_wheel + - name: Install and test python wheel + run: | + python -m pip install --user pytest build/src/python/dist/*.whl + python -c "import gudhi; print(gudhi.__version__)" + python -m pytest src/python/test/test_alpha_complex.py + - name: Publish on PyPi + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + mkdir wheelhouse + export PATH="$PATH:`python -m site --user-base`/bin" + delocate-listdeps build/src/python/dist/* + delocate-wheel --require-archs universal2 -w wheelhouse build/src/python/dist/* + python -m twine upload wheelhouse/* |