summaryrefslogtreecommitdiff
path: root/.circleci/config.yml
diff options
context:
space:
mode:
Diffstat (limited to '.circleci/config.yml')
-rw-r--r--.circleci/config.yml310
1 files changed, 267 insertions, 43 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 40ddc08e..ef22fbea 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,18 +1,27 @@
version: 2.0
jobs:
+
+### With all third parties
+
examples:
docker:
+ # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image
- image: gudhi/ci_for_gudhi:latest
steps:
- checkout
- run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
name: Build and test examples
command: |
- mkdir build;
- cd build;
- cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..;
- make all;
- ctest --output-on-failure;
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
tests:
docker:
@@ -20,13 +29,18 @@ jobs:
steps:
- checkout
- run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
name: Build and test unitary tests
command: |
- mkdir build;
- cd build;
- cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..;
- make all;
- ctest --output-on-failure;
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
utils:
docker:
@@ -34,13 +48,18 @@ jobs:
steps:
- checkout
- run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
name: Build and test utilities
command: |
- mkdir build;
- cd build;
- cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..;
- make all;
- ctest --output-on-failure;
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
python:
docker:
@@ -48,56 +67,261 @@ jobs:
steps:
- checkout
- run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
name: Build and test python module. Generates and tests the python documentation
command: |
- git submodule init
- git submodule update
- mkdir build;
- cd build;
- cmake -DUSER_VERSION_DIR=version ..;
- make user_version;
- cd version;
- mkdir build;
- cd build;
- cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 ..;
- cd python;
- python3 setup.py build_ext -j 2 --inplace;
- make sphinx;
- cp -R sphinx /tmp/sphinx;
- python3 setup.py install;
- python3 setup.py clean --all;
- ctest -j 2 --output-on-failure;
-
+ mkdir build
+ cd build
+ cmake -DWITH_GUDHI_THIRD_PARTY=OFF -DUSER_VERSION_DIR=version ..
+ make user_version
+ cd version
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 -DWITH_GUDHI_REMOTE_TEST=ON .
+ cd python
+ python3 setup.py build_ext --inplace
+ ctest --output-on-failure
+ make sphinx
+ cp -R sphinx /tmp/sphinx
+ python3 setup.py install
+ python3 setup.py clean --all
+ python3 -B -m pytest test/*.py --cov-report html --cov=gudhi
+ cp -R htmlcov /tmp/htmlcov
- store_artifacts:
path: /tmp/sphinx
+ destination: sphinx
+ - store_artifacts:
+ path: /tmp/htmlcov
+ destination: htmlcov
doxygen:
docker:
- - image: gudhi/ci_for_gudhi:latest
+ - image: gudhi/doxygen_for_gudhi:latest
steps:
- checkout
- run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
name: Generates the C++ documentation with doxygen
command: |
- git submodule init
- git submodule update
- mkdir build;
- cd build;
- cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF -DUSER_VERSION_DIR=version ..;
- make doxygen 2>&1 | tee dox.log;
- grep warning dox.log;
- cp dox.log version/doc/html/;
- cp -R version/doc/html /tmp/doxygen;
+ mkdir build
+ cd build
+ cmake -DWITH_GUDHI_THIRD_PARTY=OFF -DUSER_VERSION_DIR=version ..
+ make user_version
+ cd version
+ mkdir build
+ cd build
+ cmake -DWITH_GUDHI_THIRD_PARTY=OFF ..
+ make doxygen
+ grep warning doxygen.log
+ cp doxygen.log html/
+ cp -R html /tmp/doxygen
- store_artifacts:
path: /tmp/doxygen
+ destination: doxygen
+
+ bibliography:
+ docker:
+ - image: gudhi/doxygen_for_gudhi:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Test the LaTeX bibliography files
+ command: |
+ mkdir build
+ cd build
+ cmake -DWITH_GUDHI_THIRD_PARTY=OFF -DUSER_VERSION_DIR=version ..
+ cd biblio/test
+ latexmk -pdf -interaction=nonstopmode test_biblio.tex
+ latexmk -pdf -interaction=nonstopmode test_gudhi_citation.tex
+
+
+### With all third parties, except CGAL and Eigen
+
+ examples_without_cgal_eigen:
+ docker:
+ # cf. https://github.com/GUDHI/gudhi-deploy/blob/main/Dockerfile_for_circleci_image_without_cgal
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test examples without cgal and eigen
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ tests_without_cgal_eigen:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test unitary tests without cgal and eigen
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ utils_without_cgal_eigen:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test utilities without cgal and eigen
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ python_without_cgal_eigen:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test python module without cgal and eigen
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 ..
+ cd src/python
+ python3 setup.py build_ext --inplace
+ ctest --output-on-failure
+
+
+### With all third parties, except CGAL
+
+ examples_without_cgal:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test examples without cgal
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ tests_without_cgal:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test unitary tests without cgal
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ utils_without_cgal:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test utilities without cgal
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF ..
+ make all
+ ctest --output-on-failure
+
+ python_without_cgal:
+ docker:
+ - image: gudhi/ci_for_gudhi_wo_cgal:latest
+ steps:
+ - checkout
+ - run:
+ name: Checkout submodules
+ command: |
+ git submodule sync
+ git submodule update --init
+ - run:
+ name: Build and test python module without cgal
+ command: |
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/eigen-3.3.9 -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 ..
+ cd src/python
+ python3 setup.py build_ext --inplace
+ ctest --output-on-failure
workflows:
version: 2
build:
jobs:
+ - examples_without_cgal_eigen
+ - tests_without_cgal_eigen
+ - utils_without_cgal_eigen
+ - python_without_cgal_eigen
+ - examples_without_cgal
+ - tests_without_cgal
+ - utils_without_cgal
+ - python_without_cgal
- examples
- tests
- utils
- python
- doxygen
+ - bibliography