205 lines
5.7 KiB
YAML
205 lines
5.7 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:
|
|
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-22.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
|
|
Debug ASAN Clang:
|
|
CC: clang
|
|
CXX: clang++
|
|
BuildType: debug-asan-clang
|
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_TRACK_ASAN=ON
|
|
Debug UBSAN Clang:
|
|
CC: clang
|
|
CXX: clang++
|
|
BuildType: debug-ubsan-clang
|
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_DEBUG_UBSAN=ON
|
|
Debug TSAN Clang++:
|
|
CC: clang
|
|
CXX: clang++
|
|
BuildType: debug-tsan-clang-cxx
|
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMI_USE_CXX=ON -DMI_DEBUG_TSAN=ON
|
|
Debug Guarded Clang:
|
|
CC: clang
|
|
CXX: clang
|
|
BuildType: debug-guarded-clang
|
|
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=RelWithDebInfo -DMI_DEBUG_FULL=ON -DMI_DEBUG_GUARDED=ON
|
|
|
|
steps:
|
|
- task: CMake@1
|
|
inputs:
|
|
workingDirectory: $(BuildType)
|
|
cmakeArgs: .. $(cmakeExtraArgs)
|
|
- script: make -j$(nproc) -C $(BuildType)
|
|
displayName: Make
|
|
- script: ctest --verbose --timeout 180
|
|
workingDirectory: $(BuildType)
|
|
displayName: CTest
|
|
env:
|
|
MIMALLOC_DEBUG_GUARDED_MAX: 1024
|
|
# - 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: MIMALLOC_VERBOSE=1 ./mimalloc-test-api
|
|
# workingDirectory: $(BuildType)
|
|
# displayName: TestAPI
|
|
# - script: MIMALLOC_VERBOSE=1 ./mimalloc-test-stress
|
|
# workingDirectory: $(BuildType)
|
|
# displayName: TestStress
|
|
- 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
|