# 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.* - release/7.* - 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.* - release/7.* - 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-Internal demands: ImageOverride -equals Build.Windows.Amd64.VS2022.Pre # 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'