| # Starter pipeline | |
| # Start with a minimal pipeline that you can customize to build and deploy your code. | |
| # Add steps that build, run tests, deploy, and more: | |
| # https://aka.ms/yaml | |
| trigger: | |
| branches: | |
| include: | |
| - master | |
| - dev | |
| - dev-slice | |
| tags: | |
| include: | |
| - v* | |
| jobs: | |
| - job: | |
| displayName: Windows | |
| pool: | |
| vmImage: | |
| windows-2022 | |
| strategy: | |
| matrix: | |
| Debug: | |
| BuildType: debug | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON | |
| MSBuildConfiguration: Debug | |
| Release: | |
| BuildType: release | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release | |
| MSBuildConfiguration: Release | |
| Secure: | |
| BuildType: secure | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON | |
| MSBuildConfiguration: Release | |
| steps: | |
| - task: CMake@1 | |
| inputs: | |
| workingDirectory: $(BuildType) | |
| cmakeArgs: .. $(cmakeExtraArgs) | |
| - task: MSBuild@1 | |
| inputs: | |
| solution: $(BuildType)/libmimalloc.sln | |
| configuration: '$(MSBuildConfiguration)' | |
| msbuildArguments: -m | |
| - script: ctest --verbose --timeout 120 -C $(MSBuildConfiguration) | |
| workingDirectory: $(BuildType) | |
| displayName: CTest | |
| #- script: $(BuildType)\$(BuildType)\mimalloc-test-stress | |
| # displayName: TestStress | |
| #- upload: $(Build.SourcesDirectory)/$(BuildType) | |
| # artifact: mimalloc-windows-$(BuildType) | |
| - job: | |
| displayName: Linux | |
| pool: | |
| vmImage: | |
| ubuntu-18.04 | |
| strategy: | |
| matrix: | |
| Debug: | |
| CC: gcc | |
| CXX: g++ | |
| BuildType: debug | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON | |
| Release: | |
| CC: gcc | |
| CXX: g++ | |
| BuildType: release | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release | |
| Secure: | |
| CC: gcc | |
| CXX: g++ | |
| BuildType: secure | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON | |
| Debug++: | |
| CC: gcc | |
| CXX: g++ | |
| BuildType: debug-cxx | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_USE_CXX=ON | |
| Debug Clang: | |
| CC: clang | |
| CXX: clang++ | |
| BuildType: debug-clang | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON | |
| Release Clang: | |
| CC: clang | |
| CXX: clang++ | |
| BuildType: release-clang | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release | |
| Secure Clang: | |
| CC: clang | |
| CXX: clang++ | |
| BuildType: secure-clang | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON | |
| Debug++ Clang: | |
| CC: clang | |
| CXX: clang++ | |
| BuildType: debug-clang-cxx | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_USE_CXX=ON | |
| steps: | |
| - task: CMake@1 | |
| inputs: | |
| workingDirectory: $(BuildType) | |
| cmakeArgs: .. $(cmakeExtraArgs) | |
| - script: make -j$(nproc) -C $(BuildType) | |
| displayName: Make | |
| - script: ctest --verbose --timeout 120 | |
| workingDirectory: $(BuildType) | |
| displayName: CTest | |
| # - upload: $(Build.SourcesDirectory)/$(BuildType) | |
| # artifact: mimalloc-ubuntu-$(BuildType) | |
| - job: | |
| displayName: macOS | |
| pool: | |
| vmImage: | |
| macOS-latest | |
| strategy: | |
| matrix: | |
| Debug: | |
| BuildType: debug | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON | |
| Release: | |
| BuildType: release | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release | |
| Secure: | |
| BuildType: secure | |
| cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON | |
| steps: | |
| - task: CMake@1 | |
| inputs: | |
| workingDirectory: $(BuildType) | |
| cmakeArgs: .. $(cmakeExtraArgs) | |
| - script: make -j$(sysctl -n hw.ncpu) -C $(BuildType) | |
| displayName: Make | |
| - script: ctest --verbose --timeout 120 | |
| workingDirectory: $(BuildType) | |
| displayName: CTest | |
| # - upload: $(Build.SourcesDirectory)/$(BuildType) | |
| # artifact: mimalloc-macos-$(BuildType) | |
| # - job: | |
| # displayName: Windows-2017 | |
| # pool: | |
| # vmImage: | |
| # vs2017-win2016 | |
| # strategy: | |
| # matrix: | |
| # Debug: | |
| # BuildType: debug | |
| # cmakeExtraArgs: -A x64 -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON | |
| # MSBuildConfiguration: Debug | |
| # Release: | |
| # BuildType: release | |
| # cmakeExtraArgs: -A x64 -DCMAKE_BUILD_TYPE=Release | |
| # MSBuildConfiguration: Release | |
| # Secure: | |
| # BuildType: secure | |
| # cmakeExtraArgs: -A x64 -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON | |
| # MSBuildConfiguration: Release | |
| # steps: | |
| # - task: CMake@1 | |
| # inputs: | |
| # workingDirectory: $(BuildType) | |
| # cmakeArgs: .. $(cmakeExtraArgs) | |
| # - task: MSBuild@1 | |
| # inputs: | |
| # solution: $(BuildType)/libmimalloc.sln | |
| # configuration: '$(MSBuildConfiguration)' | |
| # - script: | | |
| # cd $(BuildType) | |
| # ctest --verbose --timeout 120 | |
| # displayName: CTest |