mimalloc/azure-pipelines.yml

198 lines
5.5 KiB
YAML
Raw Permalink 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-30 17:11:02 -08:00
branches:
include:
2021-01-30 17:14:11 -08:00
- master
- dev
- dev-slice
2021-01-30 17:11:02 -08:00
tags:
include:
2021-01-30 17:14:11 -08:00
- v*
jobs:
- job:
displayName: Windows
pool:
vmImage:
2022-04-14 16:47:43 -07: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 09:02:15 -07:00
msbuildArguments: -m
- script: ctest --verbose --timeout 120 -C $(MSBuildConfiguration)
2020-09-06 09:09:55 -07:00
workingDirectory: $(BuildType)
2020-09-06 08:29:08 -07:00
displayName: CTest
#- script: $(BuildType)\$(BuildType)\mimalloc-test-stress
# displayName: TestStress
#- upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-windows-$(BuildType)
2019-07-10 22:13:34 -07:00
- job:
displayName: Linux
pool:
vmImage:
2022-11-07 14:55:36 -08:00
ubuntu-22.04
2019-07-10 22:13:34 -07:00
strategy:
matrix:
Debug:
CC: gcc
CXX: g++
2019-07-10 22:21:08 -07:00
BuildType: debug
2019-11-21 16:10:21 -08:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
2019-07-10 22:13:34 -07:00
Release:
CC: gcc
CXX: g++
2019-07-10 22:21:08 -07:00
BuildType: release
2019-07-10 22:41:53 -07:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
2019-11-21 16:10:21 -08: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-10 22:41:53 -07:00
Debug Clang:
CC: clang
CXX: clang++
2019-07-10 22:41:53 -07:00
BuildType: debug-clang
2019-11-21 16:10:21 -08:00
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
2019-07-10 22:41:53 -07:00
Release Clang:
CC: clang
CXX: clang++
2019-07-10 22:41:53 -07:00
BuildType: release-clang
cmakeExtraArgs: -DCMAKE_BUILD_TYPE=Release
2019-11-21 16:10:21 -08: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 11:52:46 -07: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 12:13:59 -07: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
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 11:52:46 -07:00
steps:
- task: CMake@1
inputs:
2019-07-10 22:13:34 -07:00
workingDirectory: $(BuildType)
2019-07-10 22:21:08 -07:00
cmakeArgs: .. $(cmakeExtraArgs)
2019-07-10 22:22:44 -07:00
- script: make -j$(nproc) -C $(BuildType)
displayName: Make
- script: ctest --verbose --timeout 180
2020-09-06 08:57:56 -07:00
workingDirectory: $(BuildType)
displayName: CTest
2020-05-05 10:46:39 -07:00
# - upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-ubuntu-$(BuildType)
2019-07-10 22:13:34 -07: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 09:14:32 -07:00
# - script: MIMALLOC_VERBOSE=1 ./mimalloc-test-api
# workingDirectory: $(BuildType)
# displayName: TestAPI
# - script: MIMALLOC_VERBOSE=1 ./mimalloc-test-stress
# workingDirectory: $(BuildType)
# displayName: TestStress
2020-09-06 09:09:00 -07:00
- script: ctest --verbose --timeout 120
workingDirectory: $(BuildType)
displayName: CTest
2020-09-06 09:14:32 -07:00
2020-05-05 10:46:39 -07:00
# - upload: $(Build.SourcesDirectory)/$(BuildType)
# artifact: mimalloc-macos-$(BuildType)
2020-09-05 22:36:59 -07: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