summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/for_maintainers/tests_strategy.md90
-rw-r--r--.github/next_release.md22
-rw-r--r--.github/test-requirements.txt2
3 files changed, 100 insertions, 14 deletions
diff --git a/.github/for_maintainers/tests_strategy.md b/.github/for_maintainers/tests_strategy.md
new file mode 100644
index 00000000..9c181740
--- /dev/null
+++ b/.github/for_maintainers/tests_strategy.md
@@ -0,0 +1,90 @@
+# Tests strategy
+
+This document tries to sum up the tests strategy that has been put in place for gudhi continuous integration.
+
+The aim is to help maintainers to anticipate third parties modifications, updates.
+
+## Builds
+
+### Linux
+
+As all the third parties are already installed (thanks to docker), the compilations has been seperated by categories to be parallelized:
+
+* examples (C++)
+* tests (C++)
+* utils (C++)
+* doxygen (C++ documentation that is available in the artefacts)
+* python (including documentation and code coverage that are available in the artefacts)
+
+(cf. `.circleci/config.yml`)
+
+These build categories are done with and without CGAL, and, with and without Eigen to be sure the users won't be annoyed if a third party is missing.
+
+With CGAL and with Eigen builds are performed inside the docker image `gudhi/ci_for_gudhi` based on `Dockerfile_for_circleci_image` file.
+Without CGAL, and, with or without Eigen builds are performed inside the docker image `gudhi/ci_for_gudhi_wo_cgal` based on `Dockerfile_for_circleci_image_without_cgal` file.
+
+#### Update docker images
+
+C++ third parties installation are done thanks to apt on Ubuntu latest LTS.
+
+Docker images need to be rebuild and push each time `.github/build-requirements`, `.github/test-requirements`, when a new third party is added, when a new CGAL version improves gudhi performances, ...
+
+```bash
+docker build -f Dockerfile_for_circleci_image -t gudhi/ci_for_gudhi:latest .
+docker build -f Dockerfile_for_circleci_image_without_cgal -t gudhi/ci_for_gudhi_wo_cgal:latest .
+docker login # requires some specific rights on https://hub.docker.com/u/gudhi/repository/docker/gudhi
+docker push gudhi/ci_for_gudhi:latest
+docker push gudhi/ci_for_gudhi_wo_cgal:latest
+```
+
+### Windows
+
+The compilations has been seperated by categories to be parallelized, but I don't know why builds are not run in parallel:
+
+* examples (C++)
+* tests (C++)
+* utils (C++)
+* python
+
+Doxygen (C++) is not tested.
+(cf. `.appveyor.yml`)
+
+C++ third parties installation are done thanks to [vcpkg](https://github.com/microsoft/vcpkg/).
+In case of installation issue, check in [vcpkg issues](https://github.com/microsoft/vcpkg/issues).
+
+### OSx
+
+The compilations has been seperated by categories to be parallelized:
+
+* examples (C++)
+* tests (C++)
+* utils (C++)
+* python
+* Doxygen (C++)
+
+(cf. `azure-pipelines.yml`)
+
+C++ third parties installation are done thanks to [brew](https://formulae.brew.sh/formula/).
+In case of installation issue, check in formula issues.
+
+## Pip packaging
+
+Pip packaging is done in 2 parts:
+
+* on push and pull requests, the wheels are built (pip package dry-run)
+* on releases, the wheels are built and sent to pypi.org (package)
+
+Only the Linux pip package is based on a docker image (`gudhi/pip_for_gudhi` based on `Dockerfile_for_pip` file) to make it faster.
+
+### Update docker image
+
+C++ third parties installation are done thanks to yum on an image based on `quay.io/pypa/manylinux2014_x86_64`.
+
+Docker image need to be rebuild and push each time `.github/build-requirements`, when a new third party is added, when a new CGAL version improves gudhi performances, ...
+As `.github/test-requirements` is not installed, no need to rebuild image when this file is modified.
+
+```bash
+docker build -f Dockerfile_for_pip -t gudhi/pip_for_gudhi:latest .
+docker login # requires some specific rights on https://hub.docker.com/u/gudhi/repository/docker/gudhi
+docker push gudhi/pip_for_gudhi:latest
+```
diff --git a/.github/next_release.md b/.github/next_release.md
index 5a74966d..26143b0e 100644
--- a/.github/next_release.md
+++ b/.github/next_release.md
@@ -1,23 +1,19 @@
-We are pleased to announce the release 3.4.0 of the GUDHI library.
+We are pleased to announce the release 3.5.0 of the GUDHI library.
-As a major new feature, the GUDHI library now offers dD weighted alpha complex, pip and conda packages for Python 3.9.
+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.4.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.X.X.tar.gz).
-Below is a list of changes made since GUDHI 3.3.0:
+Below is a list of changes made since GUDHI 3.4.0:
-- [Alpha complex](https://gudhi.inria.fr/doc/latest/group__alpha__complex.html)
- - the C++ weighted version for alpha complex is now available in any dimension D.
+- [Module](link)
+ - ...
-- Simplex tree [C++](https://gudhi.inria.fr/doc/latest/class_gudhi_1_1_simplex__tree.html) [Python](http://gudhi.gforge.inria.fr/python/latest/simplex_tree_ref.html)
- - A new method to reset the filtrations
- - A new method to get the boundaries of a simplex
-
-- [Subsampling](https://gudhi.inria.fr/doc/latest/group__subsampling.html)
- - The C++ function `choose_n_farthest_points()` now takes a distance function instead of a kernel as first argument, users can replace `k` with `k.squared_distance_d_object()` in each call in their code.
+- [Module](link)
+ - ...
- Miscellaneous
- - 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.
+ - 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.
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.
diff --git a/.github/test-requirements.txt b/.github/test-requirements.txt
index 688a2a11..d0803574 100644
--- a/.github/test-requirements.txt
+++ b/.github/test-requirements.txt
@@ -1,7 +1,7 @@
pytest
pytest-cov
sphinx
-sphinxcontrib-bibtex
+sphinxcontrib-bibtex==1.0.0
sphinx-paramlinks
matplotlib
scipy