mirror of https://github.com/microsoft/mimalloc
132 lines
3.4 KiB
YAML
132 lines
3.4 KiB
YAML
# 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:
|
|
- master
|
|
- dev
|
|
|
|
jobs:
|
|
- job:
|
|
displayName: Windows
|
|
pool:
|
|
vmImage:
|
|
windows-2019
|
|
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)'
|
|
- script: |
|
|
cd $(BuildType)
|
|
ctest
|
|
displayName: CTest
|
|
- upload: $(Build.SourcesDirectory)/$(BuildType)
|
|
artifact: mimalloc-windows-$(BuildType)
|
|
|
|
- job:
|
|
displayName: Linux
|
|
pool:
|
|
vmImage:
|
|
ubuntu-16.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: make test -C $(BuildType)
|
|
displayName: CTest
|
|
- upload: $(Build.SourcesDirectory)/$(BuildType)
|
|
artifact: mimalloc-ubuntu-$(BuildType)
|
|
|
|
- job:
|
|
displayName: macOS
|
|
pool:
|
|
vmImage:
|
|
macOS-10.14
|
|
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: make test -C $(BuildType)
|
|
displayName: CTest
|
|
- upload: $(Build.SourcesDirectory)/$(BuildType)
|
|
artifact: mimalloc-macos-$(BuildType)
|