Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions azure-pipelines-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# This is a simple wrapper for eng/pipeline.yml to get around the limitation of
# user-defined variables not being available in yaml template expressions.

# Parameters ARE available in template expressions, and parameters can have default values,
# so they can be used to control yaml flow.
#

variables:
# clean the local repo on the build agents
- name: Build.Repository.Clean
value: true
- name: _PublishUsingPipelines
value: true
- name: _DotNetArtifactsCategory
value: WINDOWSDESKTOP
- name: _DotNetValidationArtifactsCategory
value: WINDOWSDESKTOP
- name: PostBuildSign
value: true

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-Wpf-SDLValidation-Params


# This is set in the pipeline directly
# When set to false, CI tests will not be enabled in builds.
#
# _ContinuousIntegrationTestsEnabled: false

# Setting batch to true, triggers one build at a time.
# if there is a push while a build in progress, it will wait,
# until the running build finishes, and produce a build with all the changes
#
# only trigger ci builds for the master and release branches
trigger:
batch: true
branches:
include:
- main
- release/3.*
- release/5.*
- release/6.*
- internal/release/5.*
- internal/release/6.*
- experimental/*
paths:
exclude:
- Documentation/*

pr:
autoCancel: true
branches:
include:
- main
- release/3.*
- internal/release/3.*
- release/5.*
- release/6.*
- experimental/*
paths:
exclude:
- Documentation/*

# Call the pipeline.yml template, which does the real work
stages:
- stage: build
displayName: Build
jobs:
- template: /eng/pipeline.yml
parameters:
enablePublishUsingPipelines: $(_PublishUsingPipelines)
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
# agent pool can't be read from a user-defined variable (Azure DevOps limitation)
pool:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2019.amd64
# runAsPublic is used in expressions, which can't read from user-defined variables
runAsPublic: false

- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng\common\templates\post-build\post-build.yml
parameters:
publishingInfraVersion: 3
enableSymbolValidation: false
enableSigningValidation: false
enableNugetValidation: false
enableSourceLinkValidation: false
# This is to enable SDL runs part of Post-Build Validation Stage
SDLValidationParameters:
enable: false
params: ' -SourceToolsList @("policheck","credscan")
-TsaInstanceURL $(_TsaInstanceURL)
-TsaProjectName $(_TsaProjectName)
-TsaNotificationEmail $(_TsaNotificationEmail)
-TsaCodebaseAdmin $(_TsaCodebaseAdmin)
-TsaBugAreaPath $(_TsaBugAreaPath)
-TsaIterationPath $(_TsaIterationPath)
-TsaRepositoryName "wpf"
-TsaCodebaseName "wpf"
-TsaPublish $True'