123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- # Pipeline: https://dev.azure.com/dnceng-public/public/_build?definitionId=101
- trigger: none
- pr:
- branches:
- include:
- - main
- - release/*
- - internal/release/*
- variables:
- - name: teamName
- value: Roslyn-Project-System
- - name: _CIBuild
- value: -restore -build -sign -pack -ci
- - name: _DotNetArtifactsCategory
- value: .NETCore
- - name: _DotNetValidationArtifactsCategory
- value: .NETCore
- # Disable post-build signing for internal release-branch builds or internal manual builds.
- - ${{ if and(eq(variables['System.TeamProject'], 'internal'), or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'), eq(variables['Build.Reason'], 'Manual'))) }}:
- - name: PostBuildSign
- value: false
- - ${{ else }}:
- - name: PostBuildSign
- value: true
- - ${{ if eq(variables['System.TeamProject'], 'public') }}:
- - name: _InternalRuntimeDownloadArgs
- value: ''
- - name: _OfficialBuildArgs
- value: ''
- - name: "skipComponentGovernanceDetection"
- value: "true"
- - ${{ if ne(variables['System.TeamProject'], 'public') }}:
- - name: _OfficialBuildArgs
- value: /p:OfficialBuilder=Microsoft
- - name: Codeql.Enabled
- value: true
- - group: DotNetBuilds storage account read tokens
- - name: _InternalRuntimeDownloadArgs
- value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
- /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
- - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - group: DotNet-CLI-SDLValidation-Params
- - template: /eng/common/templates/variables/pool-providers.yml
- stages:
- - stage: build
- displayName: Build
- jobs:
- - job: Publish_Build_Configuration
- pool:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- vmImage: 'windows-2019'
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals windows.vs2019.amd64
- steps:
- - publish: $(Build.SourcesDirectory)\eng\BuildConfiguration
- artifact: BuildConfiguration
- displayName: Publish Build Config
- - template: /eng/build-pr.yml
- parameters:
- agentOs: Windows_NT
- pool:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngPublicBuildPool)
- demands: ImageOverride -equals 1es-windows-2022-open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals 1es-windows-2022
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: Windows.Amd64.VS2022.Pre.Open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: Windows.Amd64.VS2022.Pre
- strategy:
- matrix:
- Build_Release:
- _BuildConfig: Release
- _PublishArgs: ''
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- _SignType: test
- _Test: -test
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- _SignType: real
- _Test: ''
- - template: /eng/common/templates/job/source-build.yml
- parameters:
- platform:
- name: 'Managed'
- container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9'
- # Publish not needed for PR builds
- skipPublishValidation: true
- - ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/build-pr.yml
- parameters:
- agentOs: Windows_NT_FullFramework
- pool:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngPublicBuildPool)
- demands: ImageOverride -equals 1es-windows-2022-open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals windows.vs2022preview.amd64
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: Windows.Amd64.VS2022.Pre.Open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: Windows.Amd64.VS2022.Pre
- strategy:
- matrix:
- Build_Debug:
- _BuildConfig: Debug
- _PublishArgs: ''
- _SignType: test
- _Test: -test
- - template: /eng/build-pr.yml
- parameters:
- agentOs: Windows_NT_TestAsTools
- pool:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngPublicBuildPool)
- demands: ImageOverride -equals 1es-windows-2022-open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals 1es-windows-2022
- strategy:
- matrix:
- Build_Debug:
- _BuildConfig: Debug
- _PublishArgs: ''
- _SignType: test
- - template: /eng/build-pr.yml
- parameters:
- agentOs: Ubuntu_22_04
- pool:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- vmImage: 'ubuntu-22.04'
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals build.ubuntu.2204.amd64
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: ubuntu.2204.amd64.open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: Ubuntu.2204.Amd64
- strategy:
- matrix:
- Build_Release:
- _BuildConfig: Release
- _PublishArgs: ''
- _SignType: test
- _Test: -test
- - template: /eng/build-pr.yml
- parameters:
- agentOs: Darwin
- pool:
- vmImage: 'macOS-latest'
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: OSX.13.Amd64.Open
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- helixTargetQueue: OSX.13.Amd64
- strategy:
- matrix:
- Build_Release:
- _BuildConfig: Release
- _PublishArgs: ''
- _SignType: test
- _Test: -test
- - template: /eng/template-engine.yml
- - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/common/templates/job/publish-build-assets.yml
- parameters:
- publishUsingPipelines: true
- publishAssetsImmediately: true
- dependsOn:
- - Windows_NT
- - Source_Build_Managed
- pool:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals windows.vs2019.amd64
- - ${{ 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
- publishInstallersAndChecksums: true
- publishAssetsImmediately: true
- SDLValidationParameters:
- enable: false
- params: ' -SourceToolsList @("policheck","credscan")
- -TsaInstanceURL $(_TsaInstanceURL)
- -TsaProjectName $(_TsaProjectName)
- -TsaNotificationEmail $(_TsaNotificationEmail)
- -TsaCodebaseAdmin $(_TsaCodebaseAdmin)
- -TsaBugAreaPath $(_TsaBugAreaPath)
- -TsaIterationPath $(_TsaIterationPath)
- -TsaRepositoryName "dotnet-sdk"
- -TsaCodebaseName "dotnet-sdk"
- -TsaPublish $True'
|