mimalloc/azure-pipelines.yml

192 lines
5.3 KiB
YAML
Raw Normal View History

# 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:
2021-01-31 04:11:02 +03:00
branches:
include:
2021-01-31 04:14:11 +03:00
- master
- dev
- dev-slice
2021-01-31 04:11:02 +03:00
tags:
include:
2021-01-31 04:14:11 +03:00
- v*
jobs:
- job:
displayName: Windows
pool:
vmImage:
2022-04-15 02:47:43 +03:00
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)'
2020-09-06 19:09:00 +03:00
msbuildArguments: -m
- script: ctest --verbose --timeout 120 -C $(MSBuildConfiguration)
2020-09-06 19:10:38 +03:00
workingDirectory: $(BuildType)
displayName: CTest
#- script: $(BuildType)\$(BuildType)\mimalloc-test-stress
# displayName: TestStress
#- upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-windows-$(BuildType)
2019-07-11 08:13:34 +03:00
- job:
displayName: Linux
pool:
vmImage:
2022-11-08 01:55:36 +03:00
ubuntu-22.04
2019-07-11 08:13:34 +03:00
strategy:
matrix:
Debug:
CC: gcc
CXX: g++
2019-07-11 08:21:08 +03:00
BuildType: debug
2019-11-22 03:10:21 +03:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
2019-07-11 08:13:34 +03:00
Release:
CC: gcc
CXX: g++
2019-07-11 08:21:08 +03:00
BuildType: release
2019-07-11 08:41:53 +03:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
2019-11-22 03:10:21 +03:00
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
2019-07-11 08:41:53 +03:00
Debug Clang:
CC: clang
CXX: clang++
2019-07-11 08:41:53 +03:00
BuildType: debug-clang
2019-11-22 03:10:21 +03:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
2019-07-11 08:41:53 +03:00
Release Clang:
CC: clang
CXX: clang++
2019-07-11 08:41:53 +03:00
BuildType: release-clang
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
2019-11-22 03:10:21 +03:00
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
2023-03-29 21:52:46 +03:00
Debug ASAN Clang:
CC: clang
CXX: clang++
BuildType: debug-asan-clang
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_TRACK_ASAN=ON
2023-03-29 22:13:59 +03:00
Debug UBSAN Clang:
CC: clang
CXX: clang++
BuildType: debug-ubsan-clang
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_DEBUG_UBSAN=ON
# Disable for now as it times out on the azure build machines
# Debug TSAN Clang++:
# CC: clang
# CXX: clang++
# BuildType: debug-tsan-clang-cxx
# cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_USE_CXX=ON -DMI_DEBUG_TSAN=ON
2023-03-29 21:52:46 +03:00
steps:
- task: CMake@1
inputs:
2019-07-11 08:13:34 +03:00
workingDirectory: $(BuildType)
2019-07-11 08:21:08 +03:00
cmakeArgs: .. $(cmakeExtraArgs)
2019-07-11 08:22:44 +03:00
- script: make -j$(nproc) -C $(BuildType)
displayName: Make
- script: ctest --verbose --timeout 180
2020-09-06 19:09:00 +03:00
workingDirectory: $(BuildType)
displayName: CTest
2020-05-05 20:46:39 +03:00
# - upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-ubuntu-$(BuildType)
2019-07-11 08:13:34 +03:00
- 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
2020-09-06 19:09:00 +03:00
- script: ctest --verbose --timeout 120
workingDirectory: $(BuildType)
displayName: CTest
2020-05-05 20:46:39 +03:00
# - upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-macos-$(BuildType)
2020-09-06 08:36:59 +03:00
# - 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