Create a new GUDHI version

We will consider that all operations will be performed in a brand new clone of the main project:

git clone https://github.com/GUDHI/gudhi-devel.git
cd gudhi-devel

Version file modification

Edit the file CMakeGUDHIVersion.txt, and increment major, minor, or patch version number, in function of the version new delivery.

# cf. .gitignore - ignore this if it is a fresh clone version
rm -rf data/points/COIL_database/lucky_cat.off_dist data/points/COIL_database/lucky_cat.off_sc.dot data/points/KleinBottle5D.off_dist data/points/KleinBottle5D.off_sc.dot data/points/human.off_dist data/points/human.off_sc.off data/points/human.off_sc.txt

Checkin the modifications, build and test the version:

git submodule update --init
rm -rf build; mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCGAL_DIR=/your/path/to/CGAL -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_BENCHMARK=ON -DUSER_VERSION_DIR=gudhi.3.3.0 -DPython_ADDITIONAL_VERSIONS=3 ..
make user_version
date +"%d-%m-%Y-%T" > gudhi.3.3.0/timestamp.txt
tar -czvf gudhi.3.3.0.tar.gz gudhi.3.3.0
md5sum gudhi.3.3.0.tar.gz > md5sum.txt
sha256sum gudhi.3.3.0.tar.gz > sha256sum.txt
sha512sum gudhi.3.3.0.tar.gz > sha512sum.txt
make -j 4 all && ctest -j 4 --output-on-failure

[Check there are no error]

Create the documentation

mkdir gudhi.doc.3.3.0
make doxygen 2>&1 | tee dox.log && grep warning dox.log

[Check there are no error and the warnings]

cp -R gudhi.3.3.0/doc/html gudhi.doc.3.3.0/cpp
cd gudhi.3.3.0
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 ..
export LC_ALL=en_US.UTF-8 # cf. bug https://github.com/GUDHI/gudhi-devel/issues/111
make sphinx

[Check there are no error]

cp -R python/sphinx ../../gudhi.doc.3.3.0/python
cd ../..
tar -czvf gudhi.doc.3.3.0.tar.gz gudhi.doc.3.3.0
cd gudhi.3.3.0/build
make -j 4 all && ctest -j 4 --output-on-failure

[Check there are no error]

Upload the documentation

Upload by ftp the content of the directory gudhi.doc.3.3.0/cpp in a new directory on Forge.nosp@m.Logi.nosp@m.n@scm.nosp@m..gfo.nosp@m.rge.i.nosp@m.nria.nosp@m..fr:/home/groups/gudhi/htdocs/doc/3.3.0

Upload by ftp the content of the directory gudhi.doc.3.3.0/python in a new directory on Forge.nosp@m.Logi.nosp@m.n@scm.nosp@m..gfo.nosp@m.rge.i.nosp@m.nria.nosp@m..fr:/home/groups/gudhi/htdocs/python/3.3.0

Through ssh, make the latest link to your new version of the documentation:

ssh ForgeLogin@scm.gforge.inria.fr
cd /home/groups/gudhi/htdocs/doc
rm latest
ln -s 3.3.0 latest
cd /home/groups/gudhi/htdocs/python
rm latest
ln -s 3.3.0 latest

Put a version label on files

  • Go on page https://github.com/GUDHI/gudhi-devel/releases/new
  • Name the tag: tags/gudhi-release-3.3.0
  • Name the release GUDHI 3.3.0 release
  • Write the release note
  • Drag'n drop gudhi.3.3.0.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)
  • Click the Publish the release button

Mail sending

Send version mail to the following lists :

GUDHI  Version 3.3.0  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding.  - Copyright : MIT Generated on Tue Aug 11 2020 11:58:59 for GUDHI by Doxygen 1.8.18