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 tests: docker: - 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 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 utils: docker: - 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 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 python: docker: - 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 python module. Generates and tests the python documentation command: | 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/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: | 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