From 5140e8571d15fb0026dd63a67a75d0ef770a1751 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Sat, 30 May 2020 07:45:15 +0200 Subject: Add github actions --- .github/workflows/pip-packaging-linux.yml | 59 +++++++++++++++++++++++++++++ .github/workflows/pip-packaging-osx.yml | 43 +++++++++++++++++++++ .github/workflows/pip-packaging-windows.yml | 43 +++++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 .github/workflows/pip-packaging-linux.yml create mode 100644 .github/workflows/pip-packaging-osx.yml create mode 100644 .github/workflows/pip-packaging-windows.yml diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml new file mode 100644 index 00000000..6ca28588 --- /dev/null +++ b/.github/workflows/pip-packaging-linux.yml @@ -0,0 +1,59 @@ +name: pip packaging linux + +on: + push: {} + pull_request: {} +# 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/twine upload build_35/src/python/wheelhouse/* + $PYTHON38/bin/twine upload build_36/src/python/wheelhouse/* + $PYTHON38/bin/twine upload build_37/src/python/wheelhouse/* + $PYTHON38/bin/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..a571f8e0 --- /dev/null +++ b/.github/workflows/pip-packaging-osx.yml @@ -0,0 +1,43 @@ +name: pip packaging osx + +on: + push: {} + pull_request: {} +# 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 && brew install boost eigen gmp mpfr cgal + python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user twine + - 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: twine upload dist/* \ 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..18c6aa94 --- /dev/null +++ b/.github/workflows/pip-packaging-windows.yml @@ -0,0 +1,43 @@ +name: pip packaging osx + +on: + push: {} + pull_request: {} +# 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: Install dependencies + run: | + vcpkg install tbb:x64-windows boost-disjoint-sets:x64-windows boost-serialization:x64-windows boost-date-time:x64-windows boost-system:x64-windows boost-filesystem:x64-windows boost-units:x64-windows boost-thread:x64-windows boost-program-options:x64-windows eigen3:x64-windows mpfr:x64-windows mpir:x64-windows cgal:x64-windows + python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user twine + - 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: twine upload dist/* \ No newline at end of file -- cgit v1.2.3