From f776e46e43525a4abd0aaeed996a3fcd66ec5c66 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Wed, 19 May 2021 10:11:36 +0200 Subject: Add tests after wheels build. Fix Windows build and package --- .github/workflows/pip-build-linux.yml | 11 ++++++--- .github/workflows/pip-build-osx.yml | 4 ++++ .github/workflows/pip-build-windows.yml | 27 +++++++++++++++++----- .github/workflows/pip-packaging-linux.yml | 35 +++++++++++++++++++++++------ .github/workflows/pip-packaging-osx.yml | 4 ++++ .github/workflows/pip-packaging-windows.yml | 25 ++++++++++++++++----- 6 files changed, 85 insertions(+), 21 deletions(-) diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml index cf8ddadf..12979a86 100644 --- a/.github/workflows/pip-build-linux.yml +++ b/.github/workflows/pip-build-linux.yml @@ -4,18 +4,23 @@ on: [push, pull_request] jobs: build: - name: build pip wheels + name: build pip wheel runs-on: ubuntu-latest + # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip container: gudhi/pip_for_gudhi steps: - uses: actions/checkout@v1 with: submodules: true - - name: Build wheels for Python 3.9 + - name: Build wheel for Python 3.9 run: | mkdir build_39 cd build_39 cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON39/bin/python .. cd src/python $PYTHON39/bin/python setup.py bdist_wheel - auditwheel repair dist/*.whl \ No newline at end of file + auditwheel repair dist/*.whl + - name: Install and test wheel for Python 3.9 + run: | + $PYTHON39/bin/python -m pip install --user pytest build_39/src/python/dist/*.whl + $PYTHON39/bin/python -m pytest src/python/test/test_alpha_complex.py diff --git a/.github/workflows/pip-build-osx.yml b/.github/workflows/pip-build-osx.yml index 50b8b09c..158aee02 100644 --- a/.github/workflows/pip-build-osx.yml +++ b/.github/workflows/pip-build-osx.yml @@ -32,3 +32,7 @@ jobs: 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 -m pytest src/python/test/test_alpha_complex.py diff --git a/.github/workflows/pip-build-windows.yml b/.github/workflows/pip-build-windows.yml index aacbbc52..a35acda3 100644 --- a/.github/workflows/pip-build-windows.yml +++ b/.github/workflows/pip-build-windows.yml @@ -20,18 +20,33 @@ jobs: architecture: x64 - name: Install dependencies run: | - vcpkg update - vcpkg upgrade --no-dry-run - type c:/vcpkg/ports/cgal/portfile.cmake - vcpkg install eigen3 cgal --triplet x64-windows + cd c:/vcpkg + git fetch --all --tags + git checkout 2020.11-1 + bootstrap-vcpkg.bat + set VCPKG_BUILD_TYPE=release + vcpkg install eigen3 mpfr boost-accumulators boost-algorithm boost-bimap boost-callable-traits boost-concept-check boost-container boost-core boost-detail boost-filesystem boost-functional boost-fusion boost-geometry boost-graph boost-heap boost-intrusive boost-iostreams boost-iterator boost-lambda boost-logic boost-math boost-mpl boost-multi-index boost-multiprecision boost-numeric-conversion boost-optional boost-parameter boost-pool boost-preprocessor boost-property-map boost-property-tree boost-ptr-container boost-random boost-range boost-serialization boost-spirit boost-thread boost-tuple boost-type-traits boost-units boost-utility boost-variant --triplet x64-windows + vcpkg version + ls C:/vcpkg/installed/x64-windows/bin + Invoke-WebRequest https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip -OutFile CGAL-5.2.1.zip + Expand-Archive -Path CGAL-5.2.1.zip -DestinationPath . + cd CGAL-5.2.1 + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DGMP_INCLUDE_DIR=c:/vcpkg/installed/x64-windows/include -DGMP_LIBRARIES=c:/vcpkg/installed/x64-windows/bin/mpir.dll . + cd ${{ github.workspace }} python -m pip install --user -r .github/build-requirements.txt 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 .. + cmake -DCGAL_DIR=c:/vcpkg/CGAL-5.2.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DGMP_INCLUDE_DIR=c:/vcpkg/installed/x64-windows/include -DGMP_LIBRARIES=c:/vcpkg/installed/x64-windows/bin/mpir.dll .. 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 \ No newline at end of file + python setup.py bdist_wheel + ls dist + - name: Install and test python wheel + run: | + cd ${{ github.workspace }} + python -m pip install --user pytest "build/src/python/dist/*.whl" + python -m pytest src/python/test/test_alpha_complex.py diff --git a/.github/workflows/pip-packaging-linux.yml b/.github/workflows/pip-packaging-linux.yml index 469c3b3b..0fa2c083 100644 --- a/.github/workflows/pip-packaging-linux.yml +++ b/.github/workflows/pip-packaging-linux.yml @@ -6,14 +6,15 @@ on: jobs: build: - name: build pip wheels + name: build pip wheel runs-on: ubuntu-latest + # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_pip container: gudhi/pip_for_gudhi steps: - uses: actions/checkout@v1 with: submodules: true - - name: Build wheels for Python 3.5 + - name: Build wheel for Python 3.5 run: | mkdir build_35 cd build_35 @@ -21,7 +22,11 @@ jobs: cd src/python $PYTHON35/bin/python setup.py bdist_wheel auditwheel repair dist/*.whl - - name: Build wheels for Python 3.6 + - name: Install and test wheel for Python 3.5 + run: | + $PYTHON35/bin/python -m pip install --user pytest build_35/src/python/dist/*.whl + $PYTHON35/bin/python -m pytest src/python/test/test_alpha_complex.py + - name: Build wheel for Python 3.6 run: | mkdir build_36 cd build_36 @@ -29,7 +34,11 @@ jobs: cd src/python $PYTHON36/bin/python setup.py bdist_wheel auditwheel repair dist/*.whl - - name: Build wheels for Python 3.7 + - name: Install and test wheel for Python 3.6 + run: | + $PYTHON36/bin/python -m pip install --user pytest build_36/src/python/dist/*.whl + $PYTHON36/bin/python -m pytest src/python/test/test_alpha_complex.py + - name: Build wheel for Python 3.7 run: | mkdir build_37 cd build_37 @@ -37,7 +46,11 @@ jobs: cd src/python $PYTHON37/bin/python setup.py bdist_wheel auditwheel repair dist/*.whl - - name: Build wheels for Python 3.8 + - name: Install and test wheel for Python 3.7 + run: | + $PYTHON37/bin/python -m pip install --user pytest build_37/src/python/dist/*.whl + $PYTHON37/bin/python -m pytest src/python/test/test_alpha_complex.py + - name: Build wheel for Python 3.8 run: | mkdir build_38 cd build_38 @@ -45,7 +58,11 @@ jobs: cd src/python $PYTHON38/bin/python setup.py bdist_wheel auditwheel repair dist/*.whl - - name: Build wheels for Python 3.9 + - name: Install and test wheel for Python 3.8 + run: | + $PYTHON38/bin/python -m pip install --user pytest build_38/src/python/dist/*.whl + $PYTHON38/bin/python -m pytest src/python/test/test_alpha_complex.py + - name: Build wheel for Python 3.9 run: | mkdir build_39 cd build_39 @@ -53,6 +70,10 @@ jobs: cd src/python $PYTHON39/bin/python setup.py bdist_wheel auditwheel repair dist/*.whl + - name: Install and test wheel for Python 3.9 + run: | + $PYTHON39/bin/python -m pip install --user pytest build_39/src/python/dist/*.whl + $PYTHON39/bin/python -m pytest src/python/test/test_alpha_complex.py - name: Publish on PyPi env: TWINE_USERNAME: __token__ @@ -62,4 +83,4 @@ jobs: $PYTHON39/bin/python -m twine upload build_36/src/python/wheelhouse/* $PYTHON39/bin/python -m twine upload build_37/src/python/wheelhouse/* $PYTHON39/bin/python -m twine upload build_38/src/python/wheelhouse/* - $PYTHON39/bin/python -m twine upload build_39/src/python/wheelhouse/* \ No newline at end of file + $PYTHON39/bin/python -m twine upload build_39/src/python/wheelhouse/* diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml index 46441e65..1bec0705 100644 --- a/.github/workflows/pip-packaging-osx.yml +++ b/.github/workflows/pip-packaging-osx.yml @@ -34,6 +34,10 @@ jobs: 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 -m pytest src/python/test/test_alpha_complex.py - name: Publish on PyPi env: TWINE_USERNAME: __token__ diff --git a/.github/workflows/pip-packaging-windows.yml b/.github/workflows/pip-packaging-windows.yml index 3a751486..e481d365 100644 --- a/.github/workflows/pip-packaging-windows.yml +++ b/.github/workflows/pip-packaging-windows.yml @@ -22,10 +22,19 @@ jobs: architecture: x64 - name: Install dependencies run: | - vcpkg update - vcpkg upgrade --no-dry-run - type c:/vcpkg/ports/cgal/portfile.cmake - vcpkg install eigen3 cgal --triplet x64-windows + cd c:/vcpkg + git fetch --all --tags + git checkout 2020.11-1 + bootstrap-vcpkg.bat + set VCPKG_BUILD_TYPE=release + vcpkg install eigen3 mpfr boost-accumulators boost-algorithm boost-bimap boost-callable-traits boost-concept-check boost-container boost-core boost-detail boost-filesystem boost-functional boost-fusion boost-geometry boost-graph boost-heap boost-intrusive boost-iostreams boost-iterator boost-lambda boost-logic boost-math boost-mpl boost-multi-index boost-multiprecision boost-numeric-conversion boost-optional boost-parameter boost-pool boost-preprocessor boost-property-map boost-property-tree boost-ptr-container boost-random boost-range boost-serialization boost-spirit boost-thread boost-tuple boost-type-traits boost-units boost-utility boost-variant --triplet x64-windows + vcpkg version + ls C:/vcpkg/installed/x64-windows/bin + Invoke-WebRequest https://github.com/CGAL/cgal/releases/download/v5.2.1/CGAL-5.2.1.zip -OutFile CGAL-5.2.1.zip + Expand-Archive -Path CGAL-5.2.1.zip -DestinationPath . + cd CGAL-5.2.1 + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DGMP_INCLUDE_DIR=c:/vcpkg/installed/x64-windows/include -DGMP_LIBRARIES=c:/vcpkg/installed/x64-windows/bin/mpir.dll . + cd ${{ github.workspace }} python -m pip install --user -r .github/build-requirements.txt python -m pip install --user twine python -m pip list @@ -33,11 +42,17 @@ jobs: 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 .. + cmake -DCGAL_DIR=c:/vcpkg/CGAL-5.2.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows -DGMP_INCLUDE_DIR=c:/vcpkg/installed/x64-windows/include -DGMP_LIBRARIES=c:/vcpkg/installed/x64-windows/bin/mpir.dll .. 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 + ls dist + - name: Install and test python wheel + run: | + cd ${{ github.workspace }} + python -m pip install --user pytest "build/src/python/dist/*.whl" + python -m pytest src/python/test/test_alpha_complex.py - name: Publish on PyPi env: TWINE_USERNAME: __token__ -- cgit v1.2.3