summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorGard Spreemann <gspr@nonempty.org>2020-08-11 13:55:57 +0200
committerGard Spreemann <gspr@nonempty.org>2020-08-11 13:55:57 +0200
commit1c05c20d7cf92c96b5036620cc892cb956c96785 (patch)
tree8ae9a9396ea2b97f617915b8730632917cf786ec /.github/workflows
parent9b3079646ee3f6a494b83e864b3e10b8a93597d0 (diff)
parent92fe082aed387ef050d5077157daea9ee3a7c7f4 (diff)
Merge tag 'tags/gudhi-release-3.3.0' into dfsg/latest
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/pip-packaging-linux.yml56
-rw-r--r--.github/workflows/pip-packaging-osx.yml45
-rw-r--r--.github/workflows/pip-packaging-windows.yml49
3 files changed, 150 insertions, 0 deletions
diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml
new file mode 100644
index 00000000..bd524af9
--- /dev/null
+++ b/.github/workflows/pip-packaging-linux.yml
@@ -0,0 +1,56 @@
+name: pip packaging linux
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ build:
+ name: build pip wheels
+ runs-on: ubuntu-latest
+ container: gudhi/pip_for_gudhi
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ submodules: true
+ - name: Build wheels for Python 3.5
+ run: |
+ mkdir build_35
+ cd build_35
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON35/bin/python ..
+ cd src/python
+ $PYTHON35/bin/python setup.py bdist_wheel
+ auditwheel repair dist/*.whl
+ - name: Build wheels for Python 3.6
+ run: |
+ mkdir build_36
+ cd build_36
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON36/bin/python ..
+ cd src/python
+ $PYTHON36/bin/python setup.py bdist_wheel
+ auditwheel repair dist/*.whl
+ - name: Build wheels for Python 3.7
+ run: |
+ mkdir build_37
+ cd build_37
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON37/bin/python ..
+ cd src/python
+ $PYTHON37/bin/python setup.py bdist_wheel
+ auditwheel repair dist/*.whl
+ - name: Build wheels for Python 3.8
+ run: |
+ mkdir build_38
+ cd build_38
+ cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON38/bin/python ..
+ cd src/python
+ $PYTHON38/bin/python setup.py bdist_wheel
+ auditwheel repair dist/*.whl
+ - name: Publish on PyPi
+ env:
+ TWINE_USERNAME: __token__
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
+ run: |
+ $PYTHON38/bin/python -m twine upload build_35/src/python/wheelhouse/*
+ $PYTHON38/bin/python -m twine upload build_36/src/python/wheelhouse/*
+ $PYTHON38/bin/python -m twine upload build_37/src/python/wheelhouse/*
+ $PYTHON38/bin/python -m twine upload build_38/src/python/wheelhouse/* \ No newline at end of file
diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml
new file mode 100644
index 00000000..c94369ac
--- /dev/null
+++ b/.github/workflows/pip-packaging-osx.yml
@@ -0,0 +1,45 @@
+name: pip packaging osx
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ build:
+ runs-on: macos-latest
+ strategy:
+ max-parallel: 4
+ matrix:
+ python-version: ['3.5', '3.6', '3.7', '3.8']
+ name: Build wheels for Python ${{ matrix.python-version }}
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ submodules: true
+ - uses: actions/setup-python@v1
+ 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 .github/build-requirements.txt
+ python -m pip install --user twine delocate
+ - name: Build python wheel
+ run: |
+ python --version
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DPython_ADDITIONAL_VERSIONS=3 ..
+ cd src/python
+ python setup.py bdist_wheel
+ - name: Publish on PyPi
+ env:
+ TWINE_USERNAME: __token__
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
+ run: |
+ mkdir wheelhouse
+ /Users/runner/.local/bin/delocate-listdeps build/src/python/dist/*
+ /Users/runner/.local/bin/delocate-wheel --require-archs x86_64 -w wheelhouse build/src/python/dist/*
+ python -m twine upload wheelhouse/* \ No newline at end of file
diff --git a/.github/workflows/pip-packaging-windows.yml b/.github/workflows/pip-packaging-windows.yml
new file mode 100644
index 00000000..2e45ad71
--- /dev/null
+++ b/.github/workflows/pip-packaging-windows.yml
@@ -0,0 +1,49 @@
+name: pip packaging windows
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ build:
+ runs-on: windows-latest
+ strategy:
+ max-parallel: 4
+ matrix:
+ python-version: ['3.5', '3.6', '3.7', '3.8']
+ name: Build wheels for Python ${{ matrix.python-version }}
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ submodules: true
+ - uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python-version }}
+ architecture: x64
+ - name: Patch
+ run: |
+ (new-object System.Net.WebClient).DownloadFile('https://github.com/microsoft/vcpkg/files/4978792/vcpkg_fixup_pkgconfig.cmake.txt','c:\vcpkg\scripts\cmake\vcpkg_fixup_pkgconfig.cmake')
+ (new-object System.Net.WebClient).DownloadFile('https://github.com/microsoft/vcpkg/files/4978796/vcpkg_acquire_msys.cmake.txt','c:\vcpkg\scripts\cmake\vcpkg_acquire_msys.cmake')
+ shell: powershell
+ - name: Install dependencies
+ run: |
+ vcpkg update
+ vcpkg upgrade --no-dry-run
+ vcpkg install boost-graph boost-serialization boost-date-time boost-system boost-filesystem boost-units boost-thread boost-program-options eigen3 mpfr mpir cgal --triplet x64-windows
+ python -m pip install --user -r .github/build-requirements.txt
+ python -m pip install --user twine
+ python -m pip list
+ - name: Build python wheel
+ run: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DGMP_INCLUDE_DIR="c:/vcpkg/installed/x64-windows/include" -DGMP_LIBRARIES="c:/vcpkg/installed/x64-windows/lib/mpir.lib" -DGMP_LIBRARIES_DIR="c:/vcpkg/installed/x64-windows/lib" -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DPython_ADDITIONAL_VERSIONS=3 ..
+ cd src/python
+ cp c:/vcpkg/installed/x64-windows/bin/mpfr.dll gudhi/
+ cp c:/vcpkg/installed/x64-windows/bin/mpir.dll gudhi/
+ python setup.py bdist_wheel
+ - name: Publish on PyPi
+ env:
+ TWINE_USERNAME: __token__
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
+ run: python -m twine upload build/src/python/dist/*