mimalloc/azure-pipelines.yml
2019-11-21 16:10:21 -08:00

93 lines
2.0 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
steps:
- task: CMake@1
inputs:
workingDirectory: 'build'
cmakeArgs: ..
- task: MSBuild@1
inputs:
solution: build/libmimalloc.sln
- upload: $(Build.SourcesDirectory)/build
artifact: windows
- 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 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
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: ubuntu-$(BuildType)
- job:
displayName: macOS
pool:
vmImage:
macOS-10.14
steps:
- task: CMake@1
inputs:
workingDirectory: 'build'
cmakeArgs: ..
- script: make -j$(sysctl -n hw.ncpu) -C build
- upload: $(Build.SourcesDirectory)/build
artifact: macos