c-pal/build/devops_gated.yml

122 строки
3.9 KiB
YAML

name: $(BuildID)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
resources:
repositories:
- repository: self
clean: true
- repository: c_build_tools
type: github
name: azure/c-build-tools
endpoint: github.com_azure
ref: refs/heads/master
jobs:
- template: /pipeline_templates/build_all_flavors.yml@c_build_tools
parameters:
cmake_options: -Drun_unittests:BOOL=ON -Drun_e2e_tests:BOOL=ON -Drun_int_tests:BOOL=ON -Drun_perf_tests:BOOL=ON -Drun_traceability:BOOL=ON -Duse_cppunittest:BOOL=ON -Drun_reals_check:BOOL=ON
GBALLOC_LL_TYPE_VALUES: ["PASSTHROUGH", "JEMALLOC"]
- template: /pipeline_templates/run_master_check.yml@c_build_tools
- template: /pipeline_templates/codeql3000_default.yml@c_build_tools
- job: linuxubuntu
displayName: 'Build Linux Ubuntu'
pool:
name: Azure-MsgStore-Linux2204BuildMachinePool
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)'
# 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" }
# Will be re-enabled at a later time with https://msazure.visualstudio.com/One/_workitems/edit/29593386
#- 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)'