From 88d5c8e795b1b32fd44349500aad0da7aa9cea59 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Tue, 11 Aug 2020 10:48:16 +0200 Subject: gudhi 3.3.0 + new gudhi version improvement --- .github/for_maintainers/new_gudhi_version_creation.md | 8 ++++---- CMakeGUDHIVersion.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/for_maintainers/new_gudhi_version_creation.md b/.github/for_maintainers/new_gudhi_version_creation.md index 86c393a0..0dcb25fe 100644 --- a/.github/for_maintainers/new_gudhi_version_creation.md +++ b/.github/for_maintainers/new_gudhi_version_creation.md @@ -18,7 +18,7 @@ Checkin the modifications, build and test the version: ```bash git submodule update --init rm -rf build; mkdir build; cd build -cmake -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_BENCHMARK=ON -DUSER_VERSION_DIR=gudhi.@GUDHI_VERSION@ -DPython_ADDITIONAL_VERSIONS=3 .. +cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_BENCHMARK=ON -DUSER_VERSION_DIR=gudhi.@GUDHI_VERSION@ -DPython_ADDITIONAL_VERSIONS=3 .. make user_version date +"%d-%m-%Y-%T" > gudhi.@GUDHI_VERSION@/timestamp.txt tar -czvf gudhi.@GUDHI_VERSION@.tar.gz gudhi.@GUDHI_VERSION@ @@ -43,8 +43,8 @@ make doxygen 2>&1 | tee dox.log && grep warning dox.log cp -R gudhi.@GUDHI_VERSION@/doc/html gudhi.doc.@GUDHI_VERSION@/cpp cd gudhi.@GUDHI_VERSION@ rm -rf build; mkdir build; cd build -cmake -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DPython_ADDITIONAL_VERSIONS=3 .. -export LC_ALL=en_US.UTF-8 # cf. bug +cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DPython_ADDITIONAL_VERSIONS=3 .. +export LC_ALL=en_US.UTF-8 # cf. bug https://github.com/GUDHI/gudhi-devel/issues/111 make sphinx ``` @@ -82,7 +82,7 @@ ln -s @GUDHI_VERSION@ latest * Go on page https://github.com/GUDHI/gudhi-devel/releases/new * Name the tag: tags/gudhi-release-@GUDHI_VERSION@ -* Name the release GUDHI @GUDHI_VERSION@ +* Name the release GUDHI @GUDHI_VERSION@ release * Write the release note * Drag'n drop *gudhi.@GUDHI_VERSION@.tar.gz*, *md5sum.txt*, *sha256sum.txt*, *sha512sum.txt* files * Tick the *This is a pre-release* check button if this is a release candidate (untick if this is an official version) diff --git a/CMakeGUDHIVersion.txt b/CMakeGUDHIVersion.txt index 4ed57729..a08b7b4d 100644 --- a/CMakeGUDHIVersion.txt +++ b/CMakeGUDHIVersion.txt @@ -2,7 +2,7 @@ set (GUDHI_MAJOR_VERSION 3) set (GUDHI_MINOR_VERSION 3) # GUDHI_PATCH_VERSION can be 'ZaN' for Alpha release, 'ZbN' for Beta release, 'ZrcN' for release candidate or 'Z' for a final release. -set (GUDHI_PATCH_VERSION 0rc2) +set (GUDHI_PATCH_VERSION 0) set(GUDHI_VERSION ${GUDHI_MAJOR_VERSION}.${GUDHI_MINOR_VERSION}.${GUDHI_PATCH_VERSION}) message(STATUS "GUDHI version : ${GUDHI_VERSION}") -- cgit v1.2.3 From a08971af8be1405c91429cf52e4c3301ffd50945 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Tue, 11 Aug 2020 17:13:22 +0200 Subject: Next release + version creation improvement --- .../for_maintainers/new_gudhi_version_creation.md | 41 ++++++++++++++++++- .github/next_release.md | 47 +++++----------------- CMakeGUDHIVersion.txt | 4 +- Dockerfile_gudhi_installation | 6 +-- 4 files changed, 54 insertions(+), 44 deletions(-) diff --git a/.github/for_maintainers/new_gudhi_version_creation.md b/.github/for_maintainers/new_gudhi_version_creation.md index 0dcb25fe..4de81b8a 100644 --- a/.github/for_maintainers/new_gudhi_version_creation.md +++ b/.github/for_maintainers/new_gudhi_version_creation.md @@ -88,8 +88,47 @@ ln -s @GUDHI_VERSION@ latest * Tick the *This is a pre-release* check button if this is a release candidate (untick if this is an official version) * Click the *Publish the release* button +## Pip package + +The pip package construction shall be started on release creation, you just have to check [gudhi github actions](https://github.com/GUDHI/gudhi-devel/actions) results. +The version number must be conform to [pep440](https://www.python.org/dev/peps/pep-0440/#pre-releases) + +## Conda package + +You have to fork [conda-forge/gudhi-feedstock](https://github.com/conda-forge/gudhi-feedstock). +The main changes consist into changing in the `recipe/meta.yaml`: +* `{% set version = "@GUDHI_VERSION@" %}` +* The cgal-cpp version number with the last one (you can find it [here](https://anaconda.org/conda-forge/cgal-cpp)) in the `host:` and the `run:` sections + +Create a Pull Request (PR) from this fork. +If you need to update conda tools (conda-build, conda-smithy, ...), add a comment in your PR saying `@conda-forge-admin, please rerender`, it will done automatically (do not forget to `git pull` the changes). + +## Docker image + +You have to modify the `Dockerfile_gudhi_installation` at the root of this repository in order to use the last release, cf. lines: +``` +... +RUN curl -LO "https://github.com/GUDHI/gudhi-devel/releases/download/tags%2Fgudhi-release-@GUDHI_VERSION@/gudhi.@GUDHI_VERSION@.tar.gz" \ +&& tar xf gudhi.@GUDHI_VERSION@.tar.gz \ +&& cd gudhi.@GUDHI_VERSION@ \ +... +``` + +Build and push images to docker hub: +``` +docker build -f Dockerfile_gudhi_installation -t gudhi/latest_gudhi_version:@GUDHI_VERSION@ . +docker run --rm -it gudhi/latest_gudhi_version:@GUDHI_VERSION@ +``` + +***[Check there are no error with utils and python version]*** + +``` +docker tag gudhi/latest_gudhi_version:@GUDHI_VERSION@ gudhi/latest_gudhi_version:latest +docker push gudhi/latest_gudhi_version:latest +docker push gudhi/latest_gudhi_version:@GUDHI_VERSION@ +``` + ## 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) - diff --git a/.github/next_release.md b/.github/next_release.md index 14546066..cd2376eb 100644 --- a/.github/next_release.md +++ b/.github/next_release.md @@ -1,47 +1,19 @@ -We are pleased to announce the release 3.3.0 of the GUDHI library. +We are pleased to announce the release 3.4.0 of the GUDHI library. -As a major new feature, the GUDHI library now offers a persistence-based clustering algorithm, weighted Rips complex using DTM -and edge collapse. +As a major new feature, the GUDHI library now offers ... -The GUDHI library is hosted on GitHub, 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.3.0.tar.gz). +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.4.0.tar.gz). -Below is a list of changes made since GUDHI 3.2.0: +Below is a list of changes made since GUDHI 3.3.0: -- [DTM density estimator](https://gudhi.inria.fr/python/latest/point_cloud.html#module-gudhi.point_cloud.dtm) - - Python implementation of a density estimator based on the distance to the empirical measure defined by a point set. +- [Module](link) + - ... -- [DTM Rips complex](https://gudhi.inria.fr/python/latest/rips_complex_user.html#dtm-rips-complex) - - This Python implementation constructs a weighted Rips complex giving larger weights to outliers, - which reduces their impact on the persistence diagram - -- [Alpha complex](https://gudhi.inria.fr/python/latest/alpha_complex_user.html) - Python interface improvements - - 'fast' and 'exact' computations - - Delaunay complex construction by not setting filtration values - - Use the specific 3d alpha complex automatically to make the computations faster - -- [Clustering](https://gudhi.inria.fr/python/latest/clustering.html) - - Python implementation of [ToMATo](https://doi.org/10.1145/2535927), a persistence-based clustering algorithm - -- [Edge Collapse](https://gudhi.inria.fr/doc/latest/group__edge__collapse.html) of a filtered flag complex - - This C++ implementation reduces a filtration of Vietoris-Rips complex from its graph to another smaller - flag filtration with the same persistence. - -- [Bottleneck distance](https://gudhi.inria.fr/python/latest/bottleneck_distance_user.html) - - Python interface to [hera](https://github.com/grey-narn/hera)'s bottleneck distance - -- Persistence representations - - [Atol](https://gudhi.inria.fr/python/latest/representations.html#gudhi.representations.vector_methods.Atol) - is integrated in finite vectorisation methods. This - [article](https://www.fujitsu.com/global/about/resources/news/press-releases/2020/0316-01.html) talks about - applications using Atol. This module was originally available at - [https://github.com/martinroyer/atol](https://github.com/martinroyer/atol) - - Python interface change: [Wasserstein metrics](https://gudhi.inria.fr/python/latest/representations.html#gudhi.representations.metrics.WassersteinDistance) - is now [hera](https://github.com/grey-narn/hera) by default +- [Module](link) + - ... - Miscellaneous - - The [list of bugs that were solved since GUDHI-3.2.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.3.0+is%3Aclosed) - is available on GitHub. + - The [list of bugs that were solved since GUDHI-3.3.0](https://github.com/GUDHI/gudhi-devel/issues?q=label%3A3.4.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. @@ -53,4 +25,3 @@ 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/CMakeGUDHIVersion.txt b/CMakeGUDHIVersion.txt index a08b7b4d..5f1eaacf 100644 --- a/CMakeGUDHIVersion.txt +++ b/CMakeGUDHIVersion.txt @@ -1,8 +1,8 @@ # Must be conform to pep440 - https://www.python.org/dev/peps/pep-0440/#pre-releases set (GUDHI_MAJOR_VERSION 3) -set (GUDHI_MINOR_VERSION 3) +set (GUDHI_MINOR_VERSION 4) # GUDHI_PATCH_VERSION can be 'ZaN' for Alpha release, 'ZbN' for Beta release, 'ZrcN' for release candidate or 'Z' for a final release. -set (GUDHI_PATCH_VERSION 0) +set (GUDHI_PATCH_VERSION 0a0) set(GUDHI_VERSION ${GUDHI_MAJOR_VERSION}.${GUDHI_MINOR_VERSION}.${GUDHI_PATCH_VERSION}) message(STATUS "GUDHI version : ${GUDHI_VERSION}") diff --git a/Dockerfile_gudhi_installation b/Dockerfile_gudhi_installation index 996dd06b..92430fce 100644 --- a/Dockerfile_gudhi_installation +++ b/Dockerfile_gudhi_installation @@ -58,9 +58,9 @@ RUN pip3 install \ # apt clean up RUN apt autoremove && rm -rf /var/lib/apt/lists/* -RUN curl -LO "https://github.com/GUDHI/gudhi-devel/releases/download/tags%2Fgudhi-release-3.2.0/gudhi.3.2.0.tar.gz" \ -&& tar xf gudhi.3.2.0.tar.gz \ -&& cd gudhi.3.2.0 \ +RUN curl -LO "https://github.com/GUDHI/gudhi-devel/releases/download/tags%2Fgudhi-release-3.3.0/gudhi.3.3.0.tar.gz" \ +&& tar xf gudhi.3.3.0.tar.gz \ +&& cd gudhi.3.3.0 \ && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_PYTHON=OFF -DPython_ADDITIONAL_VERSIONS=3 .. \ && make all test install \ && cmake -DWITH_GUDHI_PYTHON=ON . \ -- cgit v1.2.3