diff options
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r-- | azure-pipelines.yml | 98 |
1 files changed, 76 insertions, 22 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7b5334a7..f54e593f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,37 +1,91 @@ jobs: - - job: 'Test' - displayName: "Build and test" + - job: 'OSx' + displayName: "Build and test OSx" timeoutInMinutes: 0 cancelTimeoutInMinutes: 60 pool: - vmImage: macOS-10.14 + vmImage: macOS-latest variables: - pythonVersion: '3.6' + pythonVersion: '3.7' cmakeBuildType: Release - customInstallation: 'brew update && brew install graphviz doxygen boost eigen gmp mpfr tbb cgal' 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 - sudo conda install --yes --quiet --name gudhi_build_env python=$(pythonVersion) - python -m pip install --user -r .github/build-requirements.txt - python -m pip install --user -r .github/test-requirements.txt - $(customInstallation) + git submodule update --init + 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 + brew update || true + brew install ninja graphviz doxygen boost eigen gmp mpfr tbb cgal || true displayName: 'Install build dependencies' - bash: | - source activate gudhi_build_env - git submodule update --init 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 - make doxygen - ctest -j 4 --output-on-failure -E sphinx # remove sphinx build as it fails + cmake -DCMAKE_BUILD_TYPE:STRING=$(cmakeBuildType) -GNinja -DWITH_GUDHI_EXAMPLE=ON -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=ON -DWITH_GUDHI_REMOTE_TEST=ON .. + ninja + ninja doxygen + 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 + choco install -y ninja --force --force-dependencies + displayName: 'Install build dependencies' + - script: | + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" amd64 + IF %errorlevel% NEQ 0 exit /b %errorlevel% + mkdir build + cd build + cmake -DCMAKE_BUILD_TYPE=Release -G "Ninja" -DFORCE_EIGEN_DEFAULT_DENSE_INDEX_TYPE_TO_INT=ON $(cmakeVcpkgFlags) $(cmakeFlags) .. + IF %errorlevel% NEQ 0 exit /b %errorlevel% + ninja + IF %errorlevel% NEQ 0 exit /b %errorlevel% + ctest --output-on-failure -C Release -E diff_files + IF %errorlevel% NEQ 0 exit /b %errorlevel% + cmake -DWITH_GUDHI_PYTHON=ON -DWITH_GUDHI_REMOTE_TEST=ON . + IF %errorlevel% NEQ 0 exit /b %errorlevel% + cd src\python + copy "C:\vcpkg\installed\x64-windows\bin\mpfr*.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 + IF %errorlevel% NEQ 0 exit /b %errorlevel% + SET PYTHONPATH=%CD%;%PYTHONPATH% + echo %PYTHONPATH% + ctest --output-on-failure -C Release + IF %errorlevel% NEQ 0 exit /b %errorlevel% + displayName: 'Build and test' |