c-logging/build/devops_gated.yml

433 строки
12 KiB
YAML
Исходник Обычный вид История

2020-05-11 07:48:53 +03:00
name: $(BuildID)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
2020-05-11 07:48:53 +03:00
resources:
- repo: self
clean: true
2020-05-11 07:48:53 +03:00
jobs:
- job: windowsx64debug
displayName: 'Build Windows x64 Debug'
pool:
name: Azure-MessagingStore-WinBuildPoolVS2022
2020-05-11 07:48:53 +03:00
demands:
- Cmd
- msbuild
- cmake
2020-05-11 07:48:53 +03:00
- 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"'
2020-05-11 07:48:53 +03:00
modifyEnvironment: true
- task: CMake@1
displayName: 'CMake .. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=OFF -Duse_vld:bool=ON -G "Visual Studio 17 2022" -A x64'
2020-05-11 07:48:53 +03:00
inputs:
workingDirectory: 'build_x64'
cmakeArgs: '.. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Duse_cppunittest:bool=OFF -Duse_vld:bool=ON -G "Visual Studio 17 2022" -A x64'
2020-05-11 07:48:53 +03:00
- task: VSBuild@1
displayName: 'Build solution build_x64\*.sln'
inputs:
solution: 'build_x64\*.sln'
msbuildArgs: '/t:restore /t:build'
2020-05-11 07:48:53 +03:00
platform: x64
configuration: Debug
maximumCpuCount: true
- task: CmdLine@1
displayName: 'Run ctest'
inputs:
filename: ctest
arguments: '-C "Debug" -V --output-on-failure'
workingFolder: 'build_x64'
Log sink etw int (#124) * 1 * 1 * Tested some more specs * 1 * 1 * More work * More work * More work * More tests * More progress * More progress * Make one more test pass * Last test only * Add one more test * More * Add one more test * Tests passing * Fix spec IDs * Check provider Id * Remove some #pragmas * One more test * More tests * Add more negative tests * Cover all specs * Remove the extra UT suite * Add test with struct in struct * Fix leaks * Have one loop through the properties * Fix tests * Update deps * Remove log sink etw int test from the PR * Fix warning * Compile log_sink_etw only on Wndowsi * Fix CMakelists issue * Fix x86 build * Address some CR comments * Address more CR comments * More CR comments addressed * More CR comments * Address what can be addressed of the CR comments * Update log_sink_etw_2 test * start and stop a session for int tests * More int tests * Make tests work with char versions rather than wchar_t * Add first int test * More int test * More work * Add log_etw_sink int tests * Make int tests build only on Windows * Minor updates * One more update * Make debug work * Minor update about asserts * Remove sleep * Make it work with real time * Minor update * Fix cast for x86 * Minor update * Add some delays when starting to parse * Abort on fail * Use abort() when an assert fails * Fix include and address one more CR item * Add read static functions * Address one more CR comment * Address most CR comments * Fix IWYU * Make everything test_context based * Fix stack overflow * Upload artidfacts * Upload artifacts * Upload artifacts * Run test without ctest * Upload artifacts * Test * Upload artifacts * Supposedly should pass
2023-05-21 10:40:42 +03:00
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: 'build_x64'
artifactName: 'x64_Debug'
parallel: true
condition: failed()
2020-05-11 07:48:53 +03:00
- job: windowsx64relwithdebinfo
displayName: 'Build Windows x64 RelWithDebInfo'
2020-05-11 07:48:53 +03:00
pool:
name: Azure-MessagingStore-WinBuildPoolVS2022
2020-05-11 07:48:53 +03:00
demands:
- Cmd
- msbuild
- cmake
2020-05-11 07:48:53 +03:00
- 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"'
2020-05-11 07:48:53 +03:00
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'
2020-05-11 07:48:53 +03:00
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'
2020-05-11 07:48:53 +03:00
- task: VSBuild@1
displayName: 'Build solution build_x64\*.sln'
inputs:
solution: 'build_x64\*.sln'
platform: x64
2020-06-13 03:07:19 +03:00
msbuildArgs: '/t:restore /t:build'
2020-05-11 07:48:53 +03:00
configuration: RelWithDebInfo
maximumCpuCount: true
- task: CmdLine@1
displayName: 'Run ctest'
2020-05-11 07:48:53 +03:00
inputs:
filename: ctest
arguments: '-C "RelWithDebInfo" -V --output-on-failure'
workingFolder: 'build_x64'
2020-05-11 07:48:53 +03:00
Log sink etw int (#124) * 1 * 1 * Tested some more specs * 1 * 1 * More work * More work * More work * More tests * More progress * More progress * Make one more test pass * Last test only * Add one more test * More * Add one more test * Tests passing * Fix spec IDs * Check provider Id * Remove some #pragmas * One more test * More tests * Add more negative tests * Cover all specs * Remove the extra UT suite * Add test with struct in struct * Fix leaks * Have one loop through the properties * Fix tests * Update deps * Remove log sink etw int test from the PR * Fix warning * Compile log_sink_etw only on Wndowsi * Fix CMakelists issue * Fix x86 build * Address some CR comments * Address more CR comments * More CR comments addressed * More CR comments * Address what can be addressed of the CR comments * Update log_sink_etw_2 test * start and stop a session for int tests * More int tests * Make tests work with char versions rather than wchar_t * Add first int test * More int test * More work * Add log_etw_sink int tests * Make int tests build only on Windows * Minor updates * One more update * Make debug work * Minor update about asserts * Remove sleep * Make it work with real time * Minor update * Fix cast for x86 * Minor update * Add some delays when starting to parse * Abort on fail * Use abort() when an assert fails * Fix include and address one more CR item * Add read static functions * Address one more CR comment * Address most CR comments * Fix IWYU * Make everything test_context based * Fix stack overflow * Upload artidfacts * Upload artifacts * Upload artifacts * Run test without ctest * Upload artifacts * Test * Upload artifacts * Supposedly should pass
2023-05-21 10:40:42 +03:00
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: 'build_x64'
artifactName: 'x64_RelWithDebInfo'
parallel: true
condition: failed()
- job: windowsx64etwperf
displayName: 'Run Windows x64 RelWithDebInfo ETW Perf tests'
pool:
name: Azure-MessagingStore-WinBuildPoolVS2022
demands:
- Cmd
- msbuild
- cmake
- 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_perf_tests:bool=ON -Dlog_sink_etw:bool=ON -Dlog_sink_console:bool=OFF -Duse_etw:string=TRACELOGGING -G "Visual Studio 17 2022" -A x64'
inputs:
workingDirectory: 'build_x64'
cmakeArgs: '.. -Drun_perf_tests:bool=ON -Dlog_sink_etw:bool=ON -Dlog_sink_console:bool=OFF -Duse_etw:string=TRACELOGGING -G "Visual Studio 17 2022" -A x64'
- task: VSBuild@1
displayName: 'Build solution build_x64\*.sln'
inputs:
solution: 'build_x64\*.sln'
platform: x64
msbuildArgs: '/t:restore /t:build'
configuration: RelWithDebInfo
maximumCpuCount: true
- task: CmdLine@1
displayName: 'Run ctest'
inputs:
filename: ctest
arguments: '-C "RelWithDebInfo" -V --output-on-failure'
workingFolder: 'build_x64'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: 'build_x64'
artifactName: 'x64_RelWithDebInfo_perf'
parallel: true
condition: failed()
2020-05-11 07:48:53 +03:00
- job: windowsx86debug
displayName: 'Build Windows x86 Debug'
pool:
name: Azure-MessagingStore-WinBuildPoolVS2022
demands:
2020-05-11 07:48:53 +03:00
- Cmd
- msbuild
- cmake
2020-05-11 07:48:53 +03:00
- 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"'
2020-05-11 07:48:53 +03:00
modifyEnvironment: true
- task: CMake@1
displayName: 'CMake .. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Drun_e2e_tests:bool=ON -G "Visual Studio 17 2022" -A Win32'
2020-05-11 07:48:53 +03:00
inputs:
workingDirectory: 'build_x86'
cmakeArgs: '.. -Drun_reals_check:bool=ON -Drun_unittests:bool=ON -Drun_int_tests:bool=ON -Drun_e2e_tests:bool=ON -G "Visual Studio 17 2022" -A Win32'
2020-05-11 07:48:53 +03:00
- task: VSBuild@1
displayName: 'Build solution build_x86\*.sln'
inputs:
solution: 'build_x86\*.sln'
platform: Win32
2020-06-13 03:07:19 +03:00
msbuildArgs: '/t:restore /t:build'
2020-05-11 07:48:53 +03:00
configuration: Debug
maximumCpuCount: true
- task: CmdLine@1
displayName: 'Run ctest'
inputs:
filename: ctest
arguments: '-C "Debug" -V --output-on-failure'
workingFolder: 'build_x86'
Log sink etw int (#124) * 1 * 1 * Tested some more specs * 1 * 1 * More work * More work * More work * More tests * More progress * More progress * Make one more test pass * Last test only * Add one more test * More * Add one more test * Tests passing * Fix spec IDs * Check provider Id * Remove some #pragmas * One more test * More tests * Add more negative tests * Cover all specs * Remove the extra UT suite * Add test with struct in struct * Fix leaks * Have one loop through the properties * Fix tests * Update deps * Remove log sink etw int test from the PR * Fix warning * Compile log_sink_etw only on Wndowsi * Fix CMakelists issue * Fix x86 build * Address some CR comments * Address more CR comments * More CR comments addressed * More CR comments * Address what can be addressed of the CR comments * Update log_sink_etw_2 test * start and stop a session for int tests * More int tests * Make tests work with char versions rather than wchar_t * Add first int test * More int test * More work * Add log_etw_sink int tests * Make int tests build only on Windows * Minor updates * One more update * Make debug work * Minor update about asserts * Remove sleep * Make it work with real time * Minor update * Fix cast for x86 * Minor update * Add some delays when starting to parse * Abort on fail * Use abort() when an assert fails * Fix include and address one more CR item * Add read static functions * Address one more CR comment * Address most CR comments * Fix IWYU * Make everything test_context based * Fix stack overflow * Upload artidfacts * Upload artifacts * Upload artifacts * Run test without ctest * Upload artifacts * Test * Upload artifacts * Supposedly should pass
2023-05-21 10:40:42 +03:00
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
inputs:
pathtoPublish: 'build_x86'
artifactName: 'x86_Debug'
parallel: true
condition: failed()
2020-05-11 07:48:53 +03:00
- job: linuxubuntu
2021-09-22 20:52:53 +03:00
displayName: 'Build Linux Ubuntu'
2020-05-11 07:48:53 +03:00
pool:
2021-09-22 20:52:53 +03:00
name: Azure-MessagingStore-LinuxBuildMachinePool
demands:
- linux
2020-05-11 07:48:53 +03:00
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)'
# 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 (x86)\Microsoft Visual Studio\2019\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'
#
# - 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" }
2020-05-11 07:48:53 +03:00
- job: Traceability
pool:
name: Azure-MessagingStore-WinBuildPoolVS2022
2020-05-11 07:48:53 +03:00
demands:
- Build
2020-05-11 07:48:53 +03:00
- Cmd
- msbuild
- cmake
2020-05-11 07:48:53 +03:00
- visualstudio
steps:
- task: BatchScript@1
displayName: 'Git submodule update'
inputs:
filename: 'C:\Program Files\Git\bin\git.exe'
2020-05-11 20:27:46 +03:00
arguments: 'submodule update --init --force'
2020-05-11 07:48:53 +03:00
- 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"'
2020-05-11 07:48:53 +03:00
modifyEnvironment: true
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: deps/c-build-tools/traceabilitytool/traceabilitytool.sln
2020-05-11 07:48:53 +03:00
2020-05-11 08:30:26 +03:00
- task: CMake@1
displayName: 'CMake .. -Ax64'
2020-05-11 08:30:26 +03:00
inputs:
workingDirectory: 'build'
2020-05-11 08:33:28 +03:00
cmakeArgs: '.. -Ax64'
2020-05-11 08:30:26 +03:00
2020-05-11 07:48:53 +03:00
- task: VSBuild@1
2020-05-11 08:30:26 +03:00
displayName: 'Build traceabilitytool only'
2020-05-11 07:48:53 +03:00
inputs:
solution: 'build\c_logging.sln'
2020-05-11 08:30:26 +03:00
platform: x64
configuration: RelWithDebInfo
msbuildArgs: '/t:restore /t:build /t:traceabilitytool'
clean: true
2020-05-11 07:48:53 +03:00
maximumCpuCount: true
2020-05-11 08:30:26 +03:00
2020-05-11 07:48:53 +03:00
- task: BatchScript@1
displayName: 'Run traceability tool'
inputs:
filename: 'build/deps/c-build-tools/traceabilitytool/RelWithDebInfo/traceabilitytool.exe'
2020-05-11 07:48:53 +03:00
arguments: '-i $(Build.SourcesDirectory) -buildcheck -e deps'
modifyEnvironment: false
workingFolder: '$(Build.SourcesDirectory)'
- job: includecheck_linux
pool:
2021-09-22 20:52:53 +03:00
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)'