зеркало из https://github.com/Azure/c-pal.git
293 строки
8.6 KiB
YAML
293 строки
8.6 KiB
YAML
name: $(BuildID)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
|
|
resources:
|
|
- repo: self
|
|
clean: true
|
|
jobs:
|
|
- job: windowsx64debug
|
|
displayName: 'Build Windows x64 Debug'
|
|
pool:
|
|
name: Azure-MessagingStore-WinBuildPoolVS2022
|
|
demands:
|
|
- Cmd
|
|
- msbuild
|
|
- visualstudio
|
|
- vstest
|
|
|
|
steps:
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule update'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule update --init --force'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule foreach --recursive "git clean -xdff"'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'clean -xdff'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Setup VS Vars'
|
|
inputs:
|
|
filename: '"c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"'
|
|
modifyEnvironment: true
|
|
|
|
- task: CMake@1
|
|
displayName: 'CMake .. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=ON -Duse_vld:bool=ON -G "Visual Studio 17 2022" -A x64'
|
|
inputs:
|
|
workingDirectory: 'build_x64'
|
|
cmakeArgs: '.. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=ON -Duse_vld:bool=ON -G "Visual Studio 17 2022" -A x64'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build solution build_x64\*.sln'
|
|
inputs:
|
|
solution: 'build_x64\*.sln'
|
|
msbuildArgs: '/t:restore /t:build'
|
|
configuration: Debug
|
|
maximumCpuCount: true
|
|
|
|
- task: VSTest@2
|
|
displayName: 'VsTest - testAssemblies'
|
|
inputs:
|
|
testAssemblyVer2: |
|
|
**\*_ut_*.dll
|
|
**\*_int_*.dll
|
|
**\*_perf_*.dll
|
|
runTestsInIsolation: true
|
|
|
|
- task: CmdLine@1
|
|
displayName: 'Run ctest'
|
|
inputs:
|
|
filename: ctest
|
|
arguments: '-C "Debug" -V --output-on-failure'
|
|
workingFolder: 'build_x64'
|
|
|
|
- job: windowsx64relwithdebinfo
|
|
displayName: 'Build Windows x64 RelWithDebInfo'
|
|
pool:
|
|
name: Azure-MessagingStore-WinBuildPoolVS2022
|
|
demands:
|
|
- Cmd
|
|
- msbuild
|
|
- visualstudio
|
|
- vstest
|
|
|
|
steps:
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule update'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule update --init --force'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule foreach --recursive "git clean -xdff"'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'clean -xdff'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Setup VS Vars'
|
|
inputs:
|
|
filename: '"c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"'
|
|
modifyEnvironment: true
|
|
|
|
- task: CMake@1
|
|
displayName: 'CMake .. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=ON -G "Visual Studio 17 2022" -A x64'
|
|
inputs:
|
|
workingDirectory: 'build_x64'
|
|
cmakeArgs: '.. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=ON -G "Visual Studio 17 2022" -A x64'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build solution build_x64\*.sln'
|
|
inputs:
|
|
solution: 'build_x64\*.sln'
|
|
msbuildArgs: '/t:restore /t:build'
|
|
configuration: RelWithDebInfo
|
|
maximumCpuCount: true
|
|
|
|
- task: VSTest@2
|
|
displayName: 'VsTest - testAssemblies'
|
|
inputs:
|
|
testAssemblyVer2: |
|
|
**\*_ut_*.dll
|
|
**\*_int_*.dll
|
|
**\*_perf_*.dll
|
|
runTestsInIsolation: true
|
|
|
|
- task: CmdLine@1
|
|
displayName: 'Run ctest'
|
|
inputs:
|
|
filename: ctest
|
|
arguments: '-C "RelWithDebInfo" -V --output-on-failure'
|
|
workingFolder: 'build_x64'
|
|
|
|
- job: linuxubuntu
|
|
displayName: 'Build Linux Ubuntu'
|
|
pool:
|
|
name: Azure-MessagingStore-LinuxBuildMachinePool
|
|
demands:
|
|
- linux
|
|
|
|
steps:
|
|
|
|
- bash: |
|
|
pushd $(Build.Repository.LocalPath)
|
|
git submodule update --init
|
|
git submodule foreach --recursive "git clean -xdff"
|
|
git clean -xdff
|
|
popd
|
|
workingDirectory: '$(Build.Repository.LocalPath)'
|
|
displayName: 'git submodule update and clean'
|
|
|
|
- task: Bash@3
|
|
displayName: 'Build and run tests'
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: './build/linux/build_linux.sh'
|
|
arguments: '$(Build.Repository.LocalPath)'
|
|
workingDirectory: '$(Build.Repository.LocalPath)'
|
|
|
|
- job: Traceability
|
|
pool:
|
|
name: Azure-MessagingStore-WinBuildPoolVS2022
|
|
demands:
|
|
- Cmd
|
|
- msbuild
|
|
- visualstudio
|
|
|
|
steps:
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule update'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule update --init --force deps/c-build-tools'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git submodule clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'submodule foreach --recursive "git clean -xdff"'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Git clean'
|
|
inputs:
|
|
filename: 'C:\Program Files\Git\bin\git.exe'
|
|
arguments: 'clean -xdff'
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Setup VS Vars'
|
|
inputs:
|
|
filename: '"c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"'
|
|
modifyEnvironment: true
|
|
|
|
- task: CMake@1
|
|
displayName: CMake
|
|
inputs:
|
|
workingDirectory: 'build'
|
|
cmakeArgs: '.. -A x64'
|
|
|
|
- task: VSBuild@1
|
|
displayName: 'Build traceabilitytool only'
|
|
inputs:
|
|
solution: 'build\c_pal.sln'
|
|
platform: x64
|
|
configuration: RelWithDebInfo
|
|
msbuildArgs: '/t:restore /t:traceabilitytool'
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: BatchScript@1
|
|
displayName: 'Run traceability tool'
|
|
inputs:
|
|
filename: 'build/deps/c-build-tools/traceabilitytool/RelWithDebInfo/traceabilitytool.exe'
|
|
arguments: '-i $(Build.SourcesDirectory) -buildcheck -e $(Build.SourcesDirectory)\deps'
|
|
modifyEnvironment: false
|
|
workingFolder: '$(Build.SourcesDirectory)'
|
|
|
|
# Will be re-enabled at a later time
|
|
#- job: includecheck
|
|
# pool:
|
|
# name: Azure-MessagingStore
|
|
# demands:
|
|
# - Build
|
|
# - Cmd
|
|
# - msbuild
|
|
# - cmake
|
|
# - visualstudio
|
|
#
|
|
# steps:
|
|
# - task: BatchScript@1
|
|
# displayName: 'Git submodule update'
|
|
# inputs:
|
|
# filename: 'C:\Program Files\Git\bin\git.exe'
|
|
# arguments: 'submodule update --init --force'
|
|
#
|
|
# - task: BatchScript@1
|
|
# displayName: 'Git submodule clean'
|
|
# inputs:
|
|
# filename: 'C:\Program Files\Git\bin\git.exe'
|
|
# arguments: 'submodule foreach --recursive "git clean -xdff"'
|
|
#
|
|
# - task: BatchScript@1
|
|
# displayName: 'Git clean'
|
|
# inputs:
|
|
# filename: 'C:\Program Files\Git\bin\git.exe'
|
|
# arguments: 'clean -xdff'
|
|
#
|
|
# - task: BatchScript@1
|
|
# displayName: 'Setup VS Vars'
|
|
# inputs:
|
|
# filename: '"c:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"'
|
|
# modifyEnvironment: true
|
|
#
|
|
# - task: CMake@1
|
|
# displayName: 'Running cmake'
|
|
# inputs:
|
|
# workingDirectory: 'build_ninja'
|
|
# cmakeArgs: '.. -GNinja -DCMAKE_C_INCLUDE_WHAT_YOU_USE:UNINITIALIZED=include-what-you-use;-Xiwyu;--mapping_file=../deps/c-build-tools/iwyu/rules.imp;--driver-mode=cl -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE:UNINITIALIZED=include-what-you-use;-Xiwyu;--mapping_file=../deps/c-build-tools/iwyu/rules.imp;--driver-mode=cl -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Drun_perf_tests:bool=ON -Duse_cppunittest:bool=ON'
|
|
#
|
|
# - task: PowerShell@2
|
|
# displayName: 'Build solution and check includes'
|
|
# inputs:
|
|
# workingDirectory: 'build_ninja'
|
|
# targetType: 'inline'
|
|
# script: |
|
|
# cmake --build . | tee build.log
|
|
# if ((Select-String -Path "./build.log" -Pattern "Warning:") -ne $null) { throw "include check failed" }
|
|
|
|
- job: includecheck_linux
|
|
pool:
|
|
name: Azure-MessagingStore-LinuxBuildMachinePool
|
|
demands:
|
|
- linux
|
|
|
|
steps:
|
|
- bash: |
|
|
pushd $(Build.Repository.LocalPath)
|
|
git submodule update --init
|
|
git submodule foreach --recursive "git clean -xdff"
|
|
git clean -xdff
|
|
popd
|
|
workingDirectory: '$(Build.Repository.LocalPath)'
|
|
displayName: 'git submodule update and clean'
|
|
|
|
- task: Bash@3
|
|
displayName: 'Build with iwyu'
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: './build/linux/build_linux_iwyu.sh'
|
|
arguments: '$(Build.Repository.LocalPath)'
|
|
workingDirectory: '$(Build.Repository.LocalPath)'
|