From 02bb007b124195931f8aa25dd36834624ace1338 Mon Sep 17 00:00:00 2001 From: VincentRouvreau Date: Mon, 6 Sep 2021 16:01:23 +0200 Subject: update next_release in accordance with this PR --- .github/next_release.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to '.github') diff --git a/.github/next_release.md b/.github/next_release.md index 26143b0e..67455a85 100644 --- a/.github/next_release.md +++ b/.github/next_release.md @@ -6,8 +6,9 @@ We are now using GitHub to develop the GUDHI library, do not hesitate to [fork t Below is a list of changes made since GUDHI 3.4.0: -- [Module](link) - - ... +- [Alpha complex](https://gudhi.inria.fr/python/latest/alpha_complex_user.html) + - the python weighted version for alpha complex is now available in any dimension D. + - `alpha_complex = gudhi.AlphaComplex(off_file='/data/points/tore3D_300.off')` is deprecated, please use [read_points_from_off_file](https://gudhi.inria.fr/python/latest/point_cloud.html#gudhi.read_points_from_off_file) instead. - [Module](link) - ... -- cgit v1.2.3 From a7ec48c56b16c1197cfad83706e643b07d2d6b56 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> Date: Fri, 21 Jan 2022 09:50:47 +0100 Subject: Experiment azure ci instead of appveyor for windows (#574) * Remove appveyor build Windows builds and tests under azure: * Add windows build in azure yaml file and rename pipelines * Remove '-j 4' as not used * Separate c++ and python compilation (tests are easier to be launched under src/python) * Explain the change in tests_strategy --- .appveyor.yml | 80 ------------------------------- .github/for_maintainers/tests_strategy.md | 10 ++-- azure-pipelines.yml | 75 +++++++++++++++++++++++------ 3 files changed, 66 insertions(+), 99 deletions(-) delete mode 100644 .appveyor.yml (limited to '.github') diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 33458a28..00000000 --- a/.appveyor.yml +++ /dev/null @@ -1,80 +0,0 @@ -image: - - Visual Studio 2019 - -build: - parallel: true - verbosity: detailed - -configuration: - - Release - -environment: - # update the vcpkg cache even if build fails - # APPVEYOR_SAVE_CACHE_ON_ERROR: true - PYTHON: "C:\\Python39-x64" - PYTHONPATH: "C:\\Python39-x64\\lib\\site-packages" - CMAKE_VCPKG_FLAGS: -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_TOOLCHAIN_FILE=c:\Tools\vcpkg\scripts\buildsystems\vcpkg.cmake - - matrix: - - target: Examples - CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF - - - target: UnitaryTests - CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=OFF - - - target: Utilities - CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF - - - target: Python - CMAKE_FLAGS: -DWITH_GUDHI_EXAMPLE=OFF -DWITH_GUDHI_TEST=OFF -DWITH_GUDHI_UTILITIES=OFF -DWITH_GUDHI_PYTHON=ON - - -#cache: -# - c:\Tools\vcpkg\installed -# - '%LOCALAPPDATA%\pip\Cache' - -init: - - echo %target% - -install: - - git submodule update --init - - vcpkg update - - vcpkg remove --outdated - - vcpkg upgrade --no-dry-run - - vcpkg install boost-filesystem:x64-windows boost-test:x64-windows boost-program-options:x64-windows tbb:x64-windows eigen3:x64-windows cgal:x64-windows - - dir "C:\Tools\vcpkg\installed\x64-windows\bin\" - - vcpkg integrate install - - CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 - - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - python --version - - pip --version - - python -m pip install --upgrade pip - - python -m pip install --upgrade setuptools - - python -m pip install -r ext\gudhi-deploy\build-requirements.txt - # No PyKeOps on windows, let's workaround this one. - - for /F "tokens=*" %%A in (ext\gudhi-deploy\test-requirements.txt) do python -m pip install %%A - - dir "c:\python39-x64\lib\site-packages" - - dir "%LOCALAPPDATA%\pip\Cache" - - python -c "from scipy import spatial; print(spatial.cKDTree)" - -build_script: - - mkdir build - - cd build - - cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=Release %CMAKE_FLAGS% %CMAKE_VCPKG_FLAGS% .. - - if [%target%]==[Python] ( - cd src\python & - dir . & - type setup.py & - copy "C:\Tools\vcpkg\installed\x64-windows\bin\mpfr-6.dll" ".\gudhi\" & - copy "C:\Tools\vcpkg\installed\x64-windows\bin\gmp.dll" ".\gudhi\" & - copy "C:\Tools\vcpkg\installed\x64-windows\bin\tbb.dll" ".\gudhi\" & - copy "C:\Tools\vcpkg\installed\x64-windows\bin\tbbmalloc.dll" ".\gudhi\" & - python setup.py build_ext --inplace & - SET PYTHONPATH=%CD%;%PYTHONPATH% & - echo %PYTHONPATH% & - ctest -j 1 --output-on-failure -C Release - ) else ( - dir . & - MSBuild GUDHIdev.sln /m /p:Configuration=Release /p:Platform=x64 & - ctest -j 1 --output-on-failure -C Release -E diff_files - ) diff --git a/.github/for_maintainers/tests_strategy.md b/.github/for_maintainers/tests_strategy.md index 9c181740..c25acf9b 100644 --- a/.github/for_maintainers/tests_strategy.md +++ b/.github/for_maintainers/tests_strategy.md @@ -39,22 +39,24 @@ 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: +The compilations are not parallelized, as installation time (about 30 minutes) is too much compare to +build and tests timings (about 30 minutes). Builds and tests include: * examples (C++) * tests (C++) * utils (C++) * python -Doxygen (C++) is not tested. -(cf. `.appveyor.yml`) +Doxygen (C++) is not generated. +(cf. `azure-pipelines.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: +The compilations are not parallelized, but they should, as installation time (about 4 minutes) is +negligeable compare to build and tests timings (about 30 minutes). Builds and tests include: * examples (C++) * tests (C++) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a96323fd..21664244 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,26 +1,26 @@ jobs: - - job: 'Test' - displayName: "Build and test" + - job: 'OSx' + displayName: "Build and test OSx" timeoutInMinutes: 0 cancelTimeoutInMinutes: 60 pool: vmImage: macOS-10.15 variables: - pythonVersion: '3.6' + pythonVersion: '3.7' cmakeBuildType: Release steps: - - bash: echo "##vso[task.prependpath]$CONDA/bin" - displayName: Add conda to PATH - - - bash: sudo conda create --yes --quiet --name gudhi_build_env - displayName: Create Anaconda environment - + # Use a specific Python version + - task: UsePythonVersion@0 + displayName: Use Python $(pythonVersion) + inputs: + versionSpec: $(pythonVersion) + addToPath: true + architecture: 'x64' + - bash: | - source activate gudhi_build_env git submodule update --init - sudo conda install --yes --quiet --name gudhi_build_env python=$(pythonVersion) python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt python -m pip install --user -r ext/gudhi-deploy/test-requirements.txt python -m pip uninstall -y pykeops @@ -28,11 +28,56 @@ jobs: brew install graphviz doxygen boost eigen gmp mpfr tbb cgal || true displayName: 'Install build dependencies' - bash: | - source activate gudhi_build_env mkdir build cd build - cmake -DCMAKE_BUILD_TYPE:STRING=$(cmakeBuildType) -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 .. - make -j 4 + cmake -DCMAKE_BUILD_TYPE:STRING=$(cmakeBuildType) -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=ON .. + make make doxygen - ctest -j 4 --output-on-failure # -E sphinx remove sphinx build as it fails + ctest --output-on-failure displayName: 'Build, test and documentation generation' + + - job: 'Windows' + displayName: "Build and test Windows" + timeoutInMinutes: 0 + cancelTimeoutInMinutes: 60 + pool: + vmImage: windows-latest + variables: + pythonVersion: '3.7' + cmakeVcpkgFlags: -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake + cmakeFlags: -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=OFF + + steps: + # Use a specific Python version + - task: UsePythonVersion@0 + displayName: Use Python $(pythonVersion) + inputs: + versionSpec: $(pythonVersion) + addToPath: true + architecture: 'x64' + + - script: | + git submodule update --init + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt + # No PyKeOps on windows, let's workaround this one. + for /F "tokens=*" %%A in (ext\gudhi-deploy\test-requirements.txt) do python -m pip install %%A + vcpkg install boost-filesystem:x64-windows boost-test:x64-windows boost-program-options:x64-windows tbb:x64-windows eigen3:x64-windows cgal:x64-windows + displayName: 'Install build dependencies' + - script: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64 + mkdir build + cd build + cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_BUILD_TYPE=Release $(cmakeVcpkgFlags) $(cmakeFlags) .. + MSBuild GUDHIdev.sln /m /p:Configuration=Release /p:Platform=x64 + ctest --output-on-failure -C Release -E diff_files + cmake -DWITH_GUDHI_PYTHON=ON . + cd src\python + copy "C:\vcpkg\installed\x64-windows\bin\mpfr-6.dll" ".\gudhi\" + copy "C:\vcpkg\installed\x64-windows\bin\gmp.dll" ".\gudhi\" + copy "C:\vcpkg\installed\x64-windows\bin\tbb.dll" ".\gudhi\" + copy "C:\vcpkg\installed\x64-windows\bin\tbbmalloc.dll" ".\gudhi\" + python setup.py build_ext --inplace + SET PYTHONPATH=%CD%;%PYTHONPATH% + echo %PYTHONPATH% + ctest --output-on-failure -C Release + displayName: 'Build and test' -- cgit v1.2.3 From 0a61efdf924b228e683af6d7ed1de0e3387292c0 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Fri, 21 Jan 2022 17:56:17 +0100 Subject: [skip ci] Add exact betti curve in release note --- .github/next_release.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.github') diff --git a/.github/next_release.md b/.github/next_release.md index 0a8b2bbb..d36c55c6 100644 --- a/.github/next_release.md +++ b/.github/next_release.md @@ -6,8 +6,8 @@ We are now using GitHub to develop the GUDHI library, do not hesitate to [fork t Below is a list of changes made since GUDHI 3.5.0: -- [Module](link) - - ... +- [Representations](https://gudhi.inria.fr/python/latest/representations.html#gudhi.representations.vector_methods.BettiCurve) + - A more flexible Betti curve class capable of computing exact curves - [Module](link) - ... -- cgit v1.2.3