diff options
Diffstat (limited to '.circleci')
-rw-r--r-- | .circleci/config.yml | 309 |
1 files changed, 268 insertions, 41 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index f4073746..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,67 +48,280 @@ 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: - image: gudhi/ci_for_gudhi:latest - parallelism: 4 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 -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 4 --inplace; - make sphinx; - cp -R sphinx /tmp/sphinx; - python3 setup.py install; - python3 setup.py clean --all; - ctest -j 4 --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: | - 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
\ No newline at end of file + - doxygen + - bibliography |