170 строки
7.3 KiB
YAML
170 строки
7.3 KiB
YAML
#################################################################################
|
|
# Onebranch Retail Pipeline #
|
|
# This pipeline was created by EasyStart from a sample located at: #
|
|
# https://aka.ms/obpipelines/easystart/samples #
|
|
# Documentation: https://aka.ms/obpipelines #
|
|
# Yaml Schema: https://aka.ms/obpipelines/yaml/schema #
|
|
# Retail Tasks: https://aka.ms/obpipelines/tasks #
|
|
# Support: https://aka.ms/onebranchsup #
|
|
#################################################################################
|
|
|
|
trigger: none # https://aka.ms/obpipelines/triggers
|
|
|
|
parameters: # parameters are shown up in ADO UI in a build queue time
|
|
- name: 'debug'
|
|
displayName: 'Enable debug output'
|
|
type: boolean
|
|
default: false
|
|
|
|
variables:
|
|
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning
|
|
system.debug: ${{ parameters.debug }}
|
|
ENABLE_PRS_DELAYSIGN: 1
|
|
ROOT: $(Build.SourcesDirectory)
|
|
REPOROOT: $(Build.SourcesDirectory)
|
|
OUTPUTROOT: $(REPOROOT)\out
|
|
NUGET_XMLDOC_MODE: none
|
|
|
|
WindowsContainerImage: 'cdpxwin1809.azurecr.io/global/vse2019:latest' # Docker image which is used to build the project https://aka.ms/obpipelines/containers
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: templates
|
|
type: git
|
|
name: OneBranch.Pipelines/GovernedTemplates
|
|
ref: refs/heads/main
|
|
|
|
extends:
|
|
template: v2/OneBranch.Official.CrossPlat.yml@templates # https://aka.ms/obpipelines/templates
|
|
parameters:
|
|
cloudvault: # https://aka.ms/obpipelines/cloudvault
|
|
enabled: false
|
|
globalSdl: # https://aka.ms/obpipelines/sdl
|
|
tsa:
|
|
enabled: false # onebranch publish all sdl results to TSA. If TSA is disabled all SDL tools will forced into 'break' build mode.
|
|
# credscan:
|
|
# suppressionsFile: $(Build.SourcesDirectory)\.config\CredScanSuppressions.json
|
|
policheck:
|
|
break: true # always break the build on policheck issues. You can disable it by setting to 'false'
|
|
# suppression:
|
|
# suppressionFile: $(Build.SourcesDirectory)\.gdn\global.gdnsuppress
|
|
|
|
git:
|
|
submodules: recursive
|
|
|
|
stages:
|
|
- stage: build
|
|
jobs:
|
|
- job: main
|
|
pool:
|
|
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
|
|
|
|
variables:
|
|
ob_outputDirectory: '$(REPOROOT)\out' # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts
|
|
ob_sdl_binskim_break: true # https://aka.ms/obpipelines/sdl
|
|
${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}: # conditionally enable symbolsPublishing for master branch only
|
|
ob_symbolsPublishing_enabled: true # https://aka.ms/obpipelines/symbols
|
|
|
|
# ob_sdl_suppression_suppressionFile: $(Build.SourcesDirectory)\.gdn\job.gdnsuppress
|
|
|
|
steps:
|
|
- task: UseDotNet@2
|
|
continueOnError: true
|
|
inputs:
|
|
packageType: 'sdk'
|
|
useGlobalJson: true
|
|
performMultiLevelLookup: true
|
|
|
|
- task: onebranch.pipeline.version@1 # generates automatic version. For other versioning options check https://aka.ms/obpipelines/versioning
|
|
displayName: 'Setup BuildNumber'
|
|
inputs:
|
|
system: 'RevisionCounter'
|
|
major: '1'
|
|
minor: '0'
|
|
exclude_commit: true
|
|
|
|
- task: NuGetCommand@2
|
|
inputs:
|
|
command: 'restore'
|
|
restoreSolution: '$(Build.SourcesDirectory)\ebpf-user.sln'
|
|
feedsToUse: 'config'
|
|
nugetConfigPath: 'nuget.config'
|
|
|
|
- task: MSBuild@1
|
|
inputs:
|
|
solution: '$(Build.SourcesDirectory)\ebpf-user.sln'
|
|
msbuildLocationMethod: 'location'
|
|
msbuildLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe'
|
|
platform: 'x64'
|
|
configuration: 'release'
|
|
msbuildArguments: '/t:Restore'
|
|
clean: true
|
|
maximumCpuCount: true
|
|
logProjectEvents: true
|
|
|
|
- task: MSBuild@1
|
|
inputs:
|
|
solution: '$(Build.SourcesDirectory)\ebpf-user.sln'
|
|
msbuildLocationMethod: 'location'
|
|
msbuildLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe'
|
|
platform: 'x64'
|
|
configuration: 'release'
|
|
msbuildArguments: '/v:n /nr:false /flp1:Verbosity=d;LogFile=$(OUTPUTROOT)\logs\msbuild_x64_release.log;Encoding=UTF-8 /flp2:logfile=$(OUTPUTROOT)\logs\msbuild_x64_release.err;errorsonly /bl:$(OUTPUTROOT)\logs\msbuild_x64_release.binlog'
|
|
clean: true
|
|
maximumCpuCount: true
|
|
logProjectEvents: true
|
|
|
|
- task: onebranch.pipeline.signing@1 # https://aka.ms/obpipelines/signing
|
|
displayName: 'Sign output'
|
|
inputs:
|
|
command: 'sign'
|
|
signing_environment: 'azure-ado'
|
|
files_to_sign: '**/*.exe;**/*.dll;**/*.ps1;**/*.psm1'
|
|
search_root: '$(Build.SourcesDirectory)\out'
|
|
|
|
# - task: VSTest@2
|
|
# inputs:
|
|
# testSelector: 'testAssemblies'
|
|
# testAssemblyVer2: |
|
|
# **\*test*.dll
|
|
# !**\*TestAdapter.dll
|
|
# !**\obj\**
|
|
# searchFolder: '$(Build.SourcesDirectory)\out'
|
|
# resultsFolder: '$(Build.SourcesDirectory)\out\logs\TestResults'
|
|
# runInParallel: true
|
|
# codeCoverageEnabled: true
|
|
# testRunTitle: 'release_x64'
|
|
# platform: 'x64'
|
|
# configuration: 'release'
|
|
# publishRunAttachments: false
|
|
# failOnMinTestsNotRun: true
|
|
# rerunFailedTests: true
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish test results'
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: '$(Build.SourcesDirectory)\out\logs\TestResults\**\*.trx'
|
|
failTaskOnFailedTests: true
|
|
|
|
# https://aka.ms/obpipelines/cloudtest
|
|
# uncomment this section and edit parameters to enable CloudTest
|
|
# - stage: cloudtest
|
|
# dependsOn: build_stage
|
|
# jobs:
|
|
# - job: cloudtestjob
|
|
# pool:
|
|
# type: cloudtestagentless
|
|
# continueOnError: true
|
|
# steps:
|
|
# - task: CloudTestServerBuildTask@1
|
|
# displayName: 'CloudTest'
|
|
# inputs:
|
|
# connectedServiceName: 'CloudTest-prod'
|
|
# cloudTestTenant: 'onebranchtest'
|
|
# testMapLocation: '[BuildRoot]\ClassLibrary.UnitTest\TestMapCdp.xml'
|
|
# pipelineArtifactName: 'drop_build_main'
|
|
# pipelineArtifactBuildUrl: '$(System.TaskDefinitionsUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)'
|
|
# parserProperties: 'worker:VsTestVersion=V150;CodeCoverageType=Dynamic;worker:TestVar=$(RUN_PIPELINE_VARIABLE)'
|
|
# cacheEnabled: false
|
|
# scheduleBuildRequesterAlias: 'azbldrun' |