diff options
author | Vincent Rouvreau <vincent.rouvreau@inria.fr> | 2022-01-21 08:24:16 +0100 |
---|---|---|
committer | Vincent Rouvreau <vincent.rouvreau@inria.fr> | 2022-01-21 08:24:16 +0100 |
commit | 854cb0726336013cf9faede10ba61b0c6da938d3 (patch) | |
tree | 2af6906f741904761064349f547811fb85b6000b /.github | |
parent | a6e7f96f7d2c391e4548309174cc05f5ae05d871 (diff) | |
parent | de5aa9c891ef13c9fc2b2635bcd27ab873b0057b (diff) |
Merge master
Diffstat (limited to '.github')
-rw-r--r-- | .github/build-requirements.txt | 5 | ||||
-rw-r--r-- | .github/for_maintainers/new_gudhi_version_creation.md | 39 | ||||
-rw-r--r-- | .github/next_release.md | 7 | ||||
-rw-r--r-- | .github/test-requirements.txt | 15 | ||||
-rw-r--r-- | .github/workflows/pip-build-linux.yml | 19 | ||||
-rw-r--r-- | .github/workflows/pip-build-osx.yml | 7 | ||||
-rw-r--r-- | .github/workflows/pip-build-windows.yml | 36 | ||||
-rw-r--r-- | .github/workflows/pip-packaging-linux.yml | 61 | ||||
-rw-r--r-- | .github/workflows/pip-packaging-osx.yml | 7 | ||||
-rw-r--r-- | .github/workflows/pip-packaging-windows.yml | 32 |
10 files changed, 137 insertions, 91 deletions
diff --git a/.github/build-requirements.txt b/.github/build-requirements.txt deleted file mode 100644 index 7de60d23..00000000 --- a/.github/build-requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -setuptools -wheel -numpy -Cython -pybind11
\ No newline at end of file diff --git a/.github/for_maintainers/new_gudhi_version_creation.md b/.github/for_maintainers/new_gudhi_version_creation.md index aadfae7d..19ef168e 100644 --- a/.github/for_maintainers/new_gudhi_version_creation.md +++ b/.github/for_maintainers/new_gudhi_version_creation.md @@ -26,7 +26,7 @@ md5sum gudhi.@GUDHI_VERSION@.tar.gz > md5sum.txt sha256sum gudhi.@GUDHI_VERSION@.tar.gz > sha256sum.txt sha512sum gudhi.@GUDHI_VERSION@.tar.gz > sha512sum.txt -make -j 4 all && ctest -j 4 --output-on-failure +make && ctest --output-on-failure ``` ***[Check there are no error]*** @@ -34,16 +34,21 @@ make -j 4 all && ctest -j 4 --output-on-failure ## Create the documentation ```bash mkdir gudhi.doc.@GUDHI_VERSION@ -make doxygen 2>&1 | tee dox.log && grep warning dox.log ``` ***[Check there are no error and the warnings]*** ```bash -cp -R gudhi.@GUDHI_VERSION@/doc/html gudhi.doc.@GUDHI_VERSION@/cpp cd gudhi.@GUDHI_VERSION@ rm -rf build; mkdir build; cd build cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DPython_ADDITIONAL_VERSIONS=3 .. +make doxygen 2>&1 | tee dox.log && grep warning dox.log +``` + +***[Check there are no error and the warnings]*** + +```bash +cp -R html ../../gudhi.doc.@GUDHI_VERSION@/cpp export LC_ALL=en_US.UTF-8 # cf. bug https://github.com/GUDHI/gudhi-devel/issues/111 make sphinx ``` @@ -56,27 +61,25 @@ cd ../.. tar -czvf gudhi.doc.@GUDHI_VERSION@.tar.gz gudhi.doc.@GUDHI_VERSION@ cd gudhi.@GUDHI_VERSION@/build -make -j 4 all && ctest -j 4 --output-on-failure +make && ctest --output-on-failure ``` ***[Check there are no error]*** ## Upload the documentation -Upload by ftp the content of the directory gudhi.doc.@GUDHI_VERSION@/cpp in a new directory on ForgeLogin@scm.gforge.inria.fr:/home/groups/gudhi/htdocs/doc/@GUDHI_VERSION@ +[GUDHI GitHub pages](https://gudhi.github.io/) is only used as a _"qualification"_ web hosting service. +The _"production"_ web hosting service is https://files.inria.fr (cf. [this doc](https://doc-si.inria.fr/display/SU/Espace+web) +or [this one](https://www.nextinpact.com/article/30325/109058-se-connecter-a-serveur-webdav-sous-linux-macos-ou-windows)). -Upload by ftp the content of the directory gudhi.doc.@GUDHI_VERSION@/python in a new directory on ForgeLogin@scm.gforge.inria.fr:/home/groups/gudhi/htdocs/python/@GUDHI_VERSION@ +Upload the content of the directory gudhi.doc.@GUDHI_VERSION@/cpp in a new directory on gudhi WebDAV in doc/@GUDHI_VERSION@ +Delete the directory doc/latest on gudhi WebDAV. +Copy gudhi WebDAV doc/@GUDHI_VERSION@ as doc/latest (no symbolic link with WebDAV). + +Upload the content of the directory gudhi.doc.@GUDHI_VERSION@/python in a new directory on gudhi WebDAV in python/@GUDHI_VERSION@ +Delete the directory python/latest on gudhi WebDAV. +Copy gudhi WebDAV python/@GUDHI_VERSION@ as python/latest (no symbolic link with WebDAV). -Through ssh, make the **latest** link to your new version of the documentation: -```bash -ssh ForgeLogin@scm.gforge.inria.fr -cd /home/groups/gudhi/htdocs/doc -rm latest -ln -s @GUDHI_VERSION@ latest -cd /home/groups/gudhi/htdocs/python -rm latest -ln -s @GUDHI_VERSION@ latest -``` ## Put a version label on files @@ -123,5 +126,5 @@ docker image on docker hub. ## Mail sending Send version mail to the following lists : -* gudhi-devel@lists.gforge.inria.fr -* gudhi-users@lists.gforge.inria.fr (not for release candidate) +* gudhi-devel@inria.fr +* gudhi-users@inria.fr (not for release candidate) diff --git a/.github/next_release.md b/.github/next_release.md index 26143b0e..0a8b2bbb 100644 --- a/.github/next_release.md +++ b/.github/next_release.md @@ -1,10 +1,10 @@ -We are pleased to announce the release 3.5.0 of the GUDHI library. +We are pleased to announce the release 3.X.X of the GUDHI library. As a major new feature, the GUDHI library now offers ... We are now using GitHub to develop the GUDHI library, do not hesitate to [fork the GUDHI project on GitHub](https://github.com/GUDHI/gudhi-devel). From a user point of view, we recommend to download GUDHI user version (gudhi.3.X.X.tar.gz). -Below is a list of changes made since GUDHI 3.4.0: +Below is a list of changes made since GUDHI 3.5.0: - [Module](link) - ... @@ -13,7 +13,7 @@ Below is a list of changes made since GUDHI 3.4.0: - ... - Miscellaneous - - The [list of bugs that were solved since GUDHI-3.4.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.5.0+is%3Aclosed) is available on GitHub. + - The [list of bugs that were solved since GUDHI-3.5.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.6.0+is%3Aclosed) is available on GitHub. All modules are distributed under the terms of the MIT license. However, there are still GPL dependencies for many modules. We invite you to check our [license dedicated web page](https://gudhi.inria.fr/licensing/) for further details. @@ -25,3 +25,4 @@ We provide [bibtex entries](https://gudhi.inria.fr/doc/latest/_citation.html) fo Feel free to [contact us](https://gudhi.inria.fr/contact/) in case you have any questions or remarks. For further information about downloading and installing the library ([C++](https://gudhi.inria.fr/doc/latest/installation.html) or [Python](https://gudhi.inria.fr/python/latest/installation.html)), please visit the [GUDHI web site](https://gudhi.inria.fr/). + diff --git a/.github/test-requirements.txt b/.github/test-requirements.txt deleted file mode 100644 index d0803574..00000000 --- a/.github/test-requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -pytest -pytest-cov -sphinx -sphinxcontrib-bibtex==1.0.0 -sphinx-paramlinks -matplotlib -scipy -scikit-learn -POT -tensorflow -tensorflow-addons -torch<1.5 -pykeops -hnswlib -eagerpy diff --git a/.github/workflows/pip-build-linux.yml b/.github/workflows/pip-build-linux.yml index 726ed0d5..a2b4f085 100644 --- a/.github/workflows/pip-build-linux.yml +++ b/.github/workflows/pip-build-linux.yml @@ -4,7 +4,7 @@ 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 @@ -12,11 +12,16 @@ jobs: - uses: actions/checkout@v1 with: submodules: true - - name: Build wheels for Python 3.9 + - name: Build wheel for Python 3.10 run: | - mkdir build_39 - cd build_39 - cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON39/bin/python .. + mkdir build_310 + cd build_310 + cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON310/bin/python .. cd src/python - $PYTHON39/bin/python setup.py bdist_wheel - auditwheel repair dist/*.whl
\ No newline at end of file + $PYTHON310/bin/python setup.py bdist_wheel + auditwheel repair dist/*.whl + - name: Install and test wheel for Python 3.10 + run: | + $PYTHON310/bin/python -m pip install --user pytest build_310/src/python/dist/*.whl + $PYTHON310/bin/python -c "import gudhi; print(gudhi.__version__)" + $PYTHON310/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 732e26af..99d515ff 100644 --- a/.github/workflows/pip-build-osx.yml +++ b/.github/workflows/pip-build-osx.yml @@ -8,7 +8,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.9'] + python-version: ['3.10'] name: Build wheels for Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v1 @@ -32,3 +32,8 @@ 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 -c "import gudhi; print(gudhi.__version__)" + 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 d07e8c46..954b59d5 100644 --- a/.github/workflows/pip-build-windows.yml +++ b/.github/workflows/pip-build-windows.yml @@ -8,7 +8,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.9'] + python-version: ['3.10'] name: Build wheels for Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v1 @@ -20,18 +20,30 @@ jobs: architecture: x64 - name: Install dependencies run: | - vcpkg update - vcpkg upgrade --no-dry-run - type c:/vcpkg/ports/cgal/portfile.cmake + set VCPKG_BUILD_TYPE=release vcpkg install eigen3 cgal --triplet x64-windows - python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt + vcpkg version + ls "C:\vcpkg\installed\x64-windows\bin\" + python -m pip install --user -r .\ext\gudhi-deploy\build-requirements.txt python -m pip list - - name: Build python wheel + - name: Build python wheel and install it 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
\ No newline at end of file + cd ".\build\" + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows .. + Get-Location + dir + cd ".\src\python\" + cp "C:\vcpkg\installed\x64-windows\bin\mpfr-6.dll" ".\gudhi\" + cp "C:\vcpkg\installed\x64-windows\bin\gmp.dll" ".\gudhi\" + python setup.py bdist_wheel + ls dist + cd ".\dist\" + Get-ChildItem *.whl | ForEach-Object{python -m pip install --user $_.Name} + - name: Test python wheel + run: | + Get-Location + dir + python -m pip install --user pytest + python -c "import gudhi; print(gudhi.__version__)" + 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 95e8f034..98173ed3 100644 --- a/.github/workflows/pip-packaging-linux.yml +++ b/.github/workflows/pip-packaging-linux.yml @@ -6,7 +6,7 @@ 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 @@ -14,15 +14,7 @@ jobs: - 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 + - name: Build wheel for Python 3.6 run: | mkdir build_36 cd build_36 @@ -30,7 +22,12 @@ 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 -c "import gudhi; print(gudhi.__version__)" + $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 @@ -38,7 +35,12 @@ 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 -c "import gudhi; print(gudhi.__version__)" + $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 @@ -46,7 +48,12 @@ 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 -c "import gudhi; print(gudhi.__version__)" + $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 @@ -54,13 +61,31 @@ 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 -c "import gudhi; print(gudhi.__version__)" + $PYTHON39/bin/python -m pytest src/python/test/test_alpha_complex.py + - name: Build wheel for Python 3.10 + run: | + mkdir build_310 + cd build_310 + cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=$PYTHON310/bin/python .. + cd src/python + $PYTHON310/bin/python setup.py bdist_wheel + auditwheel repair dist/*.whl + - name: Install and test wheel for Python 3.10 + run: | + $PYTHON310/bin/python -m pip install --user pytest build_310/src/python/dist/*.whl + $PYTHON310/bin/python -c "import gudhi; print(gudhi.__version__)" + $PYTHON310/bin/python -m pytest src/python/test/test_alpha_complex.py - name: Publish on PyPi env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} run: | - $PYTHON39/bin/python -m twine upload build_35/src/python/wheelhouse/* - $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 + $PYTHON36/bin/python -m twine upload build_36/src/python/wheelhouse/* + $PYTHON36/bin/python -m twine upload build_37/src/python/wheelhouse/* + $PYTHON36/bin/python -m twine upload build_38/src/python/wheelhouse/* + $PYTHON36/bin/python -m twine upload build_39/src/python/wheelhouse/* + $PYTHON36/bin/python -m twine upload build_310/src/python/wheelhouse/* diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml index 56309b88..7417300a 100644 --- a/.github/workflows/pip-packaging-osx.yml +++ b/.github/workflows/pip-packaging-osx.yml @@ -10,7 +10,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.5', '3.6', '3.7', '3.8', '3.9'] + python-version: ['3.7', '3.8', '3.9', '3.10'] name: Build wheels for Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v1 @@ -34,6 +34,11 @@ 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 -c "import gudhi; print(gudhi.__version__)" + 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 a428eaba..962ae68a 100644 --- a/.github/workflows/pip-packaging-windows.yml +++ b/.github/workflows/pip-packaging-windows.yml @@ -10,7 +10,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: ['3.5', '3.6', '3.7', '3.8', '3.9'] + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] name: Build wheels for Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v1 @@ -22,22 +22,32 @@ jobs: architecture: x64 - name: Install dependencies run: | - vcpkg update - vcpkg upgrade --no-dry-run - type c:/vcpkg/ports/cgal/portfile.cmake + set VCPKG_BUILD_TYPE=release vcpkg install eigen3 cgal --triplet x64-windows - python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt + vcpkg version + ls "C:\vcpkg\installed\x64-windows\bin\" + python -m pip install --user -r .\ext\gudhi-deploy\build-requirements.txt python -m pip install --user twine python -m pip list - - name: Build python wheel + - name: Build python wheel and install it 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/ + cd ".\build\" + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows .. + Get-Location + dir + cd ".\src\python\" + cp "C:\vcpkg\installed\x64-windows\bin\mpfr-6.dll" ".\gudhi\" + cp "C:\vcpkg\installed\x64-windows\bin\gmp.dll" ".\gudhi\" python setup.py bdist_wheel + ls dist + cd ".\dist\" + Get-ChildItem *.whl | ForEach-Object{python -m pip install --user $_.Name} + - name: Test python wheel + run: | + python -m pip install --user pytest + 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__ |