summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorVincent Rouvreau <vincent.rouvreau@inria.fr>2022-01-21 08:24:16 +0100
committerVincent Rouvreau <vincent.rouvreau@inria.fr>2022-01-21 08:24:16 +0100
commit854cb0726336013cf9faede10ba61b0c6da938d3 (patch)
tree2af6906f741904761064349f547811fb85b6000b /.github
parenta6e7f96f7d2c391e4548309174cc05f5ae05d871 (diff)
parentde5aa9c891ef13c9fc2b2635bcd27ab873b0057b (diff)
Merge master
Diffstat (limited to '.github')
-rw-r--r--.github/build-requirements.txt5
-rw-r--r--.github/for_maintainers/new_gudhi_version_creation.md39
-rw-r--r--.github/next_release.md7
-rw-r--r--.github/test-requirements.txt15
-rw-r--r--.github/workflows/pip-build-linux.yml19
-rw-r--r--.github/workflows/pip-build-osx.yml7
-rw-r--r--.github/workflows/pip-build-windows.yml36
-rw-r--r--.github/workflows/pip-packaging-linux.yml61
-rw-r--r--.github/workflows/pip-packaging-osx.yml7
-rw-r--r--.github/workflows/pip-packaging-windows.yml32
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__