Migrate to 1ES templates for internal builds (#19016)
This commit is contained in:
commit
b40c44502d
6 changed files with 668 additions and 369 deletions
180
.vsts-ci.yml
180
.vsts-ci.yml
|
@ -1,3 +1,5 @@
|
||||||
|
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=286
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
batch: true
|
batch: true
|
||||||
branches:
|
branches:
|
||||||
|
@ -23,43 +25,82 @@ variables:
|
||||||
- group: DotNet-Installer-SDLValidation-Params
|
- group: DotNet-Installer-SDLValidation-Params
|
||||||
- name: _PublishUsingPipelines
|
- name: _PublishUsingPipelines
|
||||||
value: true
|
value: true
|
||||||
|
|
||||||
- name: _InternalRuntimeDownloadArgs
|
- name: _InternalRuntimeDownloadArgs
|
||||||
value: ''
|
value: ''
|
||||||
|
|
||||||
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
- group: DotNetBuilds storage account read tokens
|
- group: DotNetBuilds storage account read tokens
|
||||||
- name: _InternalRuntimeDownloadArgs
|
- name: _InternalRuntimeDownloadArgs
|
||||||
value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
|
value: /p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal
|
||||||
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
|
/p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64)
|
||||||
/p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64)
|
/p:dotnetbuilds-internal-container-read-token-base64=$(dotnetbuilds-internal-container-read-token-base64)
|
||||||
|
- template: /eng/common/templates-official/variables/pool-providers.yml
|
||||||
|
|
||||||
- template: /eng/common/templates/variables/pool-providers.yml
|
resources:
|
||||||
|
repositories:
|
||||||
|
- repository: 1esPipelines
|
||||||
|
type: git
|
||||||
|
name: 1ESPipelineTemplates/1ESPipelineTemplates
|
||||||
|
ref: refs/tags/release
|
||||||
|
|
||||||
stages:
|
extends:
|
||||||
- stage: Build
|
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
|
||||||
|
parameters:
|
||||||
|
containers:
|
||||||
|
alpine319WithNode:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode
|
||||||
|
cblMariner20Fpm:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
|
||||||
|
centosStream8:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
|
||||||
|
debian11Amd64:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64
|
||||||
|
fedora39:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39
|
||||||
|
ubuntu2204:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
|
||||||
|
ubuntu2204CrossArmAlpine:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine
|
||||||
|
ubuntu2204DebPkg:
|
||||||
|
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
|
||||||
|
sdl:
|
||||||
|
sourceAnalysisPool:
|
||||||
|
name: $(DncEngInternalBuildPool)
|
||||||
|
image: 1es-windows-2022
|
||||||
|
os: windows
|
||||||
|
# https://docs.opensource.microsoft.com/tools/cg/component-detection/variables/
|
||||||
|
componentgovernance:
|
||||||
|
# This should be uncommented when a fix is available.
|
||||||
|
# See: https://dev.azure.com/mseng/1ES/_workitems/edit/2159448
|
||||||
|
# failOnAlert: false
|
||||||
|
# This should be removed when failOnAlert works properly.
|
||||||
|
ignoreDirectories: '.packages'
|
||||||
|
customBuildTags:
|
||||||
|
- ES365AIMigrationTooling
|
||||||
|
stages:
|
||||||
|
- stage: Build
|
||||||
jobs:
|
jobs:
|
||||||
# This job is for build retry configuration.
|
# Build Retry Configuration
|
||||||
- job: Publish_Build_Configuration
|
- job: Publish_Build_Configuration
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
name: $(DncEngPublicBuildPool)
|
name: $(DncEngPublicBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2022preview.amd64.open
|
image: 1es-windows-2022-open
|
||||||
|
os: windows
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2022preview.amd64
|
image: 1es-windows-2022
|
||||||
|
os: windows
|
||||||
steps:
|
steps:
|
||||||
- publish: $(Build.SourcesDirectory)\eng\buildConfiguration
|
- task: 1ES.PublishPipelineArtifact@1
|
||||||
artifact: buildConfiguration
|
|
||||||
displayName: Publish Build Config
|
displayName: Publish Build Config
|
||||||
|
inputs:
|
||||||
|
targetPath: $(Build.SourcesDirectory)\eng\buildConfiguration
|
||||||
|
artifactName: buildConfiguration
|
||||||
|
|
||||||
## PR-only jobs
|
# PR-only jobs
|
||||||
|
|
||||||
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
|
# Windows
|
||||||
## Windows
|
- template: eng/build.yml@self
|
||||||
|
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Debug_x64
|
jobName: Build_Debug_x64
|
||||||
|
@ -68,46 +109,45 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||||
runTests: true
|
runTests: true
|
||||||
|
|
||||||
## Linux
|
# Linux
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Ubuntu_22_04_Debug_x64
|
jobName: Build_Ubuntu_22_04_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04'
|
container: ubuntu2204
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Fedora_39_Debug_x64
|
jobName: Build_Fedora_39_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-39'
|
container: fedora39
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_CentOS_8_Stream_Debug_x64
|
jobName: Build_CentOS_8_Stream_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
|
container: centosStream8
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Debian_11_Debug_x64
|
jobName: Build_Debian_11_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-amd64'
|
container: debian11Amd64
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
additionalBuildParameters: '/p:BuildSdkDeb=true'
|
additionalBuildParameters: '/p:BuildSdkDeb=true'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm64_Debug
|
jobName: Build_Arm64_Debug
|
||||||
|
@ -117,11 +157,11 @@ stages:
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
# Never run tests on arm64
|
# Never run tests on arm64
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Debug_x64
|
jobName: Build_Linux_musl_Debug_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
|
container: alpine319WithNode
|
||||||
buildConfiguration: Debug
|
buildConfiguration: Debug
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runtimeIdentifier: 'linux-musl-x64'
|
runtimeIdentifier: 'linux-musl-x64'
|
||||||
|
@ -129,7 +169,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_LinuxPortable_Release_x64
|
jobName: Build_LinuxPortable_Release_x64
|
||||||
|
@ -139,8 +179,7 @@ stages:
|
||||||
runTests: true
|
runTests: true
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
|
@ -148,13 +187,10 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runTests: true
|
runTests: true
|
||||||
|
|
||||||
## Official/PGO instrumentation Builds
|
# Official/PGO instrumentation Builds
|
||||||
|
|
||||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
|
# Windows
|
||||||
## Windows
|
- template: eng/build.yml@self
|
||||||
|
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
|
@ -162,14 +198,14 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_x86
|
jobName: Build_Release_x86
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x86
|
buildArchitecture: x86
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_arm64
|
jobName: Build_Release_arm64
|
||||||
|
@ -177,9 +213,8 @@ stages:
|
||||||
buildArchitecture: arm64
|
buildArchitecture: arm64
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
## Linux
|
# Linux
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm_Release
|
jobName: Build_Arm_Release
|
||||||
|
@ -188,7 +223,7 @@ stages:
|
||||||
runtimeIdentifier: 'linux-arm'
|
runtimeIdentifier: 'linux-arm'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm64_Release
|
jobName: Build_Arm64_Release
|
||||||
|
@ -197,18 +232,18 @@ stages:
|
||||||
runtimeIdentifier: 'linux-arm64'
|
runtimeIdentifier: 'linux-arm64'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_arm
|
jobName: Build_Linux_musl_Release_arm
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm-alpine'
|
container: ubuntu2204CrossArmAlpine
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: arm
|
buildArchitecture: arm
|
||||||
runtimeIdentifier: 'linux-musl-arm'
|
runtimeIdentifier: 'linux-musl-arm'
|
||||||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_arm64
|
jobName: Build_Linux_musl_Release_arm64
|
||||||
|
@ -218,11 +253,11 @@ stages:
|
||||||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_x64
|
jobName: Build_Linux_musl_Release_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.19-WithNode'
|
container: alpine319WithNode
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runtimeIdentifier: 'linux-musl-x64'
|
runtimeIdentifier: 'linux-musl-x64'
|
||||||
|
@ -230,11 +265,11 @@ stages:
|
||||||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Deb_Release_x64
|
jobName: Build_Linux_Portable_Deb_Release_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg'
|
container: ubuntu2204DebPkg
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
# Do not publish zips and tarballs. The linux-x64 binaries are
|
# Do not publish zips and tarballs. The linux-x64 binaries are
|
||||||
|
@ -242,11 +277,11 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Rpm_Release_x64
|
jobName: Build_Linux_Portable_Rpm_Release_x64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
|
container: cblMariner20Fpm
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
# Do not publish zips and tarballs. The linux-x64 binaries are
|
# Do not publish zips and tarballs. The linux-x64 binaries are
|
||||||
|
@ -254,11 +289,11 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Rpm_Release_Arm64
|
jobName: Build_Linux_Portable_Rpm_Release_Arm64
|
||||||
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
|
container: cblMariner20Fpm
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: arm64
|
buildArchitecture: arm64
|
||||||
runtimeIdentifier: 'linux-arm64'
|
runtimeIdentifier: 'linux-arm64'
|
||||||
|
@ -267,7 +302,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_LinuxPortable_Release_x64
|
jobName: Build_LinuxPortable_Release_x64
|
||||||
|
@ -277,15 +312,14 @@ stages:
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_arm64
|
jobName: Build_Release_arm64
|
||||||
|
@ -294,9 +328,8 @@ stages:
|
||||||
buildArchitecture: arm64
|
buildArchitecture: arm64
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
## Windows PGO Instrumentation builds
|
# Windows PGO Instrumentation
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -305,7 +338,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -313,7 +346,7 @@ stages:
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x86
|
buildArchitecture: x86
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -322,9 +355,8 @@ stages:
|
||||||
buildArchitecture: arm64
|
buildArchitecture: arm64
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
## Linux PGO Instrumentation builds
|
# Linux PGO Instrumentation
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -333,8 +365,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
|
- template: eng/build.yml@self
|
||||||
- template: eng/build.yml
|
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -344,18 +375,19 @@ stages:
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
- template: /eng/common/templates/jobs/source-build.yml
|
# Source Build
|
||||||
|
- template: /eng/common/templates-official/jobs/source-build.yml@self
|
||||||
|
|
||||||
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- stage: Publish
|
- stage: Publish
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- Build
|
- Build
|
||||||
jobs:
|
jobs:
|
||||||
- template: /eng/common/templates/job/publish-build-assets.yml
|
- template: /eng/common/templates-official/job/publish-build-assets.yml@self
|
||||||
parameters:
|
parameters:
|
||||||
publishUsingPipelines: true
|
publishUsingPipelines: true
|
||||||
publishAssetsImmediately: true
|
publishAssetsImmediately: true
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2022.amd64
|
image: 1es-windows-2022
|
||||||
|
os: windows
|
||||||
|
|
58
.vsts-pr.yml
58
.vsts-pr.yml
|
@ -1,3 +1,5 @@
|
||||||
|
# Pipeline: https://dev.azure.com/dnceng-public/public/_build?definitionId=20
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
batch: true
|
batch: true
|
||||||
branches:
|
branches:
|
||||||
|
@ -59,7 +61,7 @@ stages:
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Debug_x64
|
jobName: Build_Debug_x64
|
||||||
|
@ -70,7 +72,7 @@ stages:
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Ubuntu_22_04_Debug_x64
|
jobName: Build_Ubuntu_22_04_Debug_x64
|
||||||
|
@ -79,7 +81,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Fedora_39_Debug_x64
|
jobName: Build_Fedora_39_Debug_x64
|
||||||
|
@ -88,7 +90,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_CentOS_8_Stream_Debug_x64
|
jobName: Build_CentOS_8_Stream_Debug_x64
|
||||||
|
@ -97,7 +99,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Debian_11_Debug_x64
|
jobName: Build_Debian_11_Debug_x64
|
||||||
|
@ -107,7 +109,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:BuildSdkDeb=true'
|
additionalBuildParameters: '/p:BuildSdkDeb=true'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm64_Debug
|
jobName: Build_Arm64_Debug
|
||||||
|
@ -117,7 +119,7 @@ stages:
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
# Never run tests on arm64
|
# Never run tests on arm64
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Debug_x64
|
jobName: Build_Linux_musl_Debug_x64
|
||||||
|
@ -129,7 +131,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: true
|
runTests: true
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_LinuxPortable_Release_x64
|
jobName: Build_LinuxPortable_Release_x64
|
||||||
|
@ -140,7 +142,7 @@ stages:
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
|
@ -154,7 +156,7 @@ stages:
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
|
@ -162,14 +164,14 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_x86
|
jobName: Build_Release_x86
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x86
|
buildArchitecture: x86
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
jobName: Build_Release_arm64
|
jobName: Build_Release_arm64
|
||||||
|
@ -179,7 +181,7 @@ stages:
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm_Release
|
jobName: Build_Arm_Release
|
||||||
|
@ -188,7 +190,7 @@ stages:
|
||||||
runtimeIdentifier: 'linux-arm'
|
runtimeIdentifier: 'linux-arm'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Arm64_Release
|
jobName: Build_Arm64_Release
|
||||||
|
@ -197,7 +199,7 @@ stages:
|
||||||
runtimeIdentifier: 'linux-arm64'
|
runtimeIdentifier: 'linux-arm64'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_arm
|
jobName: Build_Linux_musl_Release_arm
|
||||||
|
@ -208,7 +210,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_arm64
|
jobName: Build_Linux_musl_Release_arm64
|
||||||
|
@ -218,7 +220,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:OSName="linux-musl"'
|
additionalBuildParameters: '/p:OSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_musl_Release_x64
|
jobName: Build_Linux_musl_Release_x64
|
||||||
|
@ -230,7 +232,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
additionalBuildParameters: '/p:HostOSName="linux-musl"'
|
||||||
linuxPortable: false
|
linuxPortable: false
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Deb_Release_x64
|
jobName: Build_Linux_Portable_Deb_Release_x64
|
||||||
|
@ -242,7 +244,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Rpm_Release_x64
|
jobName: Build_Linux_Portable_Rpm_Release_x64
|
||||||
|
@ -254,7 +256,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_Linux_Portable_Rpm_Release_Arm64
|
jobName: Build_Linux_Portable_Rpm_Release_Arm64
|
||||||
|
@ -267,7 +269,7 @@ stages:
|
||||||
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
|
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
jobName: Build_LinuxPortable_Release_x64
|
jobName: Build_LinuxPortable_Release_x64
|
||||||
|
@ -278,14 +280,14 @@ stages:
|
||||||
|
|
||||||
# MacOS
|
# MacOS
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_x64
|
jobName: Build_Release_x64
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Darwin
|
agentOs: Darwin
|
||||||
jobName: Build_Release_arm64
|
jobName: Build_Release_arm64
|
||||||
|
@ -296,7 +298,7 @@ stages:
|
||||||
|
|
||||||
## Windows PGO Instrumentation builds
|
## Windows PGO Instrumentation builds
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -305,7 +307,7 @@ stages:
|
||||||
buildArchitecture: x64
|
buildArchitecture: x64
|
||||||
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
additionalBuildParameters: '/p:PublishInternalAsset=true'
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -313,7 +315,7 @@ stages:
|
||||||
buildConfiguration: Release
|
buildConfiguration: Release
|
||||||
buildArchitecture: x86
|
buildArchitecture: x86
|
||||||
runTests: false
|
runTests: false
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Windows_NT
|
agentOs: Windows_NT
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -324,7 +326,7 @@ stages:
|
||||||
|
|
||||||
## Linux PGO Instrumentation builds
|
## Linux PGO Instrumentation builds
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
@ -334,7 +336,7 @@ stages:
|
||||||
linuxPortable: true
|
linuxPortable: true
|
||||||
runTests: false
|
runTests: false
|
||||||
|
|
||||||
- template: eng/build.yml
|
- template: eng/build-pr.yml
|
||||||
parameters:
|
parameters:
|
||||||
agentOs: Linux
|
agentOs: Linux
|
||||||
pgoInstrument: true
|
pgoInstrument: true
|
||||||
|
|
261
eng/build-pr.yml
Normal file
261
eng/build-pr.yml
Normal file
|
@ -0,0 +1,261 @@
|
||||||
|
parameters:
|
||||||
|
# Agent OS identifier and used as job name
|
||||||
|
- name: agentOs
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Job name
|
||||||
|
- name: jobName
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Container to run the build in, if any
|
||||||
|
- name: container
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
# Job timeout
|
||||||
|
- name: timeoutInMinutes
|
||||||
|
type: number
|
||||||
|
default: 180
|
||||||
|
|
||||||
|
# Build configuration (Debug, Release)
|
||||||
|
- name: buildConfiguration
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
- Debug
|
||||||
|
- Release
|
||||||
|
|
||||||
|
# Build architecture
|
||||||
|
- name: buildArchitecture
|
||||||
|
type: string
|
||||||
|
values:
|
||||||
|
- arm
|
||||||
|
- arm64
|
||||||
|
- x64
|
||||||
|
- x86
|
||||||
|
|
||||||
|
# Linux portable. If true, passes portable switch to build
|
||||||
|
- name: linuxPortable
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
# Runtime Identifier
|
||||||
|
- name: runtimeIdentifier
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
# UI lang
|
||||||
|
- name: dotnetCLIUILanguage
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
# Additional parameters
|
||||||
|
- name: additionalBuildParameters
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
- name: runTests
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
# PGO instrumentation jobs
|
||||||
|
- name: pgoInstrument
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
- name: isBuiltFromVmr
|
||||||
|
displayName: True when build is running from dotnet/dotnet
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- template: common/templates/job/job.yml
|
||||||
|
parameters:
|
||||||
|
# Set up the name of the job.
|
||||||
|
${{ if parameters.pgoInstrument }}:
|
||||||
|
name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }}
|
||||||
|
${{ if not(parameters.pgoInstrument) }}:
|
||||||
|
name: ${{ parameters.agentOs }}_${{ parameters.jobName }}
|
||||||
|
|
||||||
|
## Set up the pool/machine info to be used based on the Agent OS
|
||||||
|
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||||
|
enableMicrobuild: true
|
||||||
|
pool:
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
|
name: $(DncEngPublicBuildPool)
|
||||||
|
demands: ImageOverride -equals windows.vs2022.amd64.open
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
|
name: $(DncEngInternalBuildPool)
|
||||||
|
demands: ImageOverride -equals windows.vs2022.amd64
|
||||||
|
${{ if eq(parameters.agentOs, 'Linux') }}:
|
||||||
|
pool:
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
|
name: $(DncEngPublicBuildPool)
|
||||||
|
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||||
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
|
name: $(DncEngInternalBuildPool)
|
||||||
|
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||||
|
container: ${{ parameters.container }}
|
||||||
|
${{ if eq(parameters.agentOs, 'Darwin') }}:
|
||||||
|
pool:
|
||||||
|
vmImage: 'macOS-latest'
|
||||||
|
|
||||||
|
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
||||||
|
${{ if parameters.isBuiltFromVmr }}:
|
||||||
|
enableSbom: false
|
||||||
|
${{ else }}:
|
||||||
|
enablePublishBuildAssets: true
|
||||||
|
enablePublishUsingPipelines: true
|
||||||
|
enableTelemetry: true
|
||||||
|
helixRepo: dotnet/installer
|
||||||
|
workspace:
|
||||||
|
clean: all
|
||||||
|
|
||||||
|
# Test parameters
|
||||||
|
variables:
|
||||||
|
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||||
|
- _PackArg: '-pack'
|
||||||
|
- ${{ if parameters.runTests }}:
|
||||||
|
- _TestArg: '-test'
|
||||||
|
- ${{ else }}:
|
||||||
|
- _TestArg: ''
|
||||||
|
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
|
||||||
|
- _PackArg: '--pack'
|
||||||
|
- ${{ if parameters.runTests }}:
|
||||||
|
- _TestArg: '--test'
|
||||||
|
- ${{ else }}:
|
||||||
|
- _TestArg: ''
|
||||||
|
|
||||||
|
- ${{ if parameters.pgoInstrument }}:
|
||||||
|
- _PgoInstrument: '/p:PgoInstrument=true'
|
||||||
|
- _PackArg: ''
|
||||||
|
- ${{ else }}:
|
||||||
|
- _PgoInstrument: ''
|
||||||
|
|
||||||
|
- ${{ if parameters.linuxPortable }}:
|
||||||
|
- _LinuxPortable: '--linux-portable'
|
||||||
|
- ${{ else }}:
|
||||||
|
- _LinuxPortable: ''
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.runtimeIdentifier, '') }}:
|
||||||
|
- _RuntimeIdentifier: '--runtime-id ${{ parameters.runtimeIdentifier }}'
|
||||||
|
- ${{ else }}:
|
||||||
|
- _RuntimeIdentifier: ''
|
||||||
|
|
||||||
|
- _AgentOSName: ${{ parameters.agentOs }}
|
||||||
|
- _TeamName: Roslyn-Project-System
|
||||||
|
- _SignType: test
|
||||||
|
- _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)'
|
||||||
|
|
||||||
|
- ${{ if parameters.isBuiltFromVmr }}:
|
||||||
|
- installerRoot: '$(Build.SourcesDirectory)/src/installer'
|
||||||
|
- _SignType: test
|
||||||
|
- _PushToVSFeed: false
|
||||||
|
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
|
||||||
|
/p:TeamName=$(_TeamName)
|
||||||
|
/p:DotNetPublishUsingPipelines=true
|
||||||
|
/p:PublishToSymbolServer=false
|
||||||
|
$(_PgoInstrument)
|
||||||
|
- ${{ else }}:
|
||||||
|
- installerRoot: '$(Build.SourcesDirectory)'
|
||||||
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
|
- group: DotNet-HelixApi-Access
|
||||||
|
- _PushToVSFeed: true
|
||||||
|
- _SignType: real
|
||||||
|
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
|
||||||
|
/p:DotNetSignType=$(_SignType)
|
||||||
|
/p:TeamName=$(_TeamName)
|
||||||
|
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
||||||
|
$(_PgoInstrument)
|
||||||
|
|
||||||
|
- template: /eng/common/templates/variables/pool-providers.yml
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
clean: true
|
||||||
|
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||||
|
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
|
||||||
|
- task: PowerShell@2
|
||||||
|
displayName: Setup Private Feeds Credentials
|
||||||
|
inputs:
|
||||||
|
filePath: $(installerRoot)/eng/common/SetupNugetSources.ps1
|
||||||
|
arguments: -ConfigFile $(installerRoot)/NuGet.config -Password $Env:Token
|
||||||
|
env:
|
||||||
|
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||||
|
- script: $(installerRoot)/build.cmd
|
||||||
|
$(_TestArg) $(_PackArg)
|
||||||
|
-publish -ci -sign
|
||||||
|
-Configuration ${{ parameters.buildConfiguration }}
|
||||||
|
-Architecture ${{ parameters.buildArchitecture }}
|
||||||
|
$(_BuildArgs)
|
||||||
|
${{ parameters.additionalBuildParameters }}
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
|
displayName: Build
|
||||||
|
env:
|
||||||
|
DOTNET_CLI_UI_LANGUAGE: ${{ parameters.dotnetCLIUILanguage }}
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
|
||||||
|
- ${{ if and(not(parameters.isBuiltFromVmr), ne(variables['System.TeamProject'], 'public')) }}:
|
||||||
|
- task: Bash@3
|
||||||
|
displayName: Setup Private Feeds Credentials
|
||||||
|
inputs:
|
||||||
|
filePath: $(installerRoot)/eng/common/SetupNugetSources.sh
|
||||||
|
arguments: $(installerRoot)/NuGet.config $Token
|
||||||
|
env:
|
||||||
|
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||||
|
- ${{ if eq(parameters.agentOs, 'Linux') }}:
|
||||||
|
- script: $(installerRoot)/build.sh
|
||||||
|
$(_TestArg) $(_PackArg)
|
||||||
|
--publish --ci
|
||||||
|
--noprettyprint
|
||||||
|
--configuration ${{ parameters.buildConfiguration }}
|
||||||
|
--architecture ${{ parameters.buildArchitecture }}
|
||||||
|
$(_LinuxPortable)
|
||||||
|
$(_RuntimeIdentifier)
|
||||||
|
$(_BuildArgs)
|
||||||
|
${{ parameters.additionalBuildParameters }}
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
|
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
|
||||||
|
- script: $(installerRoot)/build.sh
|
||||||
|
$(_TestArg)
|
||||||
|
--pack --publish --ci
|
||||||
|
--noprettyprint
|
||||||
|
--configuration ${{ parameters.buildConfiguration }}
|
||||||
|
--architecture ${{ parameters.buildArchitecture }}
|
||||||
|
$(_RuntimeIdentifier)
|
||||||
|
$(_BuildArgs)
|
||||||
|
${{ parameters.additionalBuildParameters }}
|
||||||
|
$(_InternalRuntimeDownloadArgs)
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
|
- task: PublishTestResults@2
|
||||||
|
displayName: Publish Test Results
|
||||||
|
inputs:
|
||||||
|
testRunner: XUnit
|
||||||
|
testResultsFiles: 'artifacts/TestResults/${{ parameters.buildConfiguration }}/*.xml'
|
||||||
|
testRunTitle: '$(_AgentOSName)_$(Agent.JobName)'
|
||||||
|
platform: '$(BuildPlatform)'
|
||||||
|
configuration: '${{ parameters.buildConfiguration }}'
|
||||||
|
condition: ne(variables['_TestArg'], '')
|
||||||
|
|
||||||
|
- task: CopyFiles@2
|
||||||
|
displayName: Gather Logs
|
||||||
|
inputs:
|
||||||
|
SourceFolder: '$(installerRoot)/artifacts'
|
||||||
|
Contents: |
|
||||||
|
log/${{ parameters.buildConfiguration }}/**/*
|
||||||
|
TestResults/${{ parameters.buildConfiguration }}/**/*
|
||||||
|
TargetFolder: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
continueOnError: true
|
||||||
|
condition: always()
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: Publish Logs to VSTS
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
ArtifactName: '$(_AgentOSName)_$(Agent.JobName)_$(Build.BuildNumber)'
|
||||||
|
publishLocation: Container
|
||||||
|
continueOnError: true
|
||||||
|
condition: always()
|
|
@ -1,9 +1,9 @@
|
||||||
parameters:
|
parameters:
|
||||||
# Agent OS identifier and used as job name
|
# Agent OS identifier and used as job name
|
||||||
- name: agentOs
|
- name: agentOs
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
# Job name
|
# Job name
|
||||||
- name: jobName
|
- name: jobName
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
default: ''
|
default: ''
|
||||||
|
|
||||||
# Job timeout
|
# Job timeout
|
||||||
- name: timeoutInMinutes
|
- name: timeoutInMinutes
|
||||||
type: number
|
type: number
|
||||||
default: 180
|
default: 180
|
||||||
|
@ -69,7 +69,7 @@ parameters:
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- template: common/templates/job/job.yml
|
- template: common/templates-official/job/job.yml
|
||||||
parameters:
|
parameters:
|
||||||
# Set up the name of the job.
|
# Set up the name of the job.
|
||||||
${{ if parameters.pgoInstrument }}:
|
${{ if parameters.pgoInstrument }}:
|
||||||
|
@ -77,28 +77,34 @@ jobs:
|
||||||
${{ if not(parameters.pgoInstrument) }}:
|
${{ if not(parameters.pgoInstrument) }}:
|
||||||
name: ${{ parameters.agentOs }}_${{ parameters.jobName }}
|
name: ${{ parameters.agentOs }}_${{ parameters.jobName }}
|
||||||
|
|
||||||
## Set up the pool/machine info to be used based on the Agent OS
|
# Set up the pool/machine info to be used based on the Agent OS
|
||||||
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||||
enableMicrobuild: true
|
enableMicrobuild: true
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
name: $(DncEngPublicBuildPool)
|
name: $(DncEngPublicBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2022.amd64.open
|
image: 1es-windows-2022-open
|
||||||
|
os: windows
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
demands: ImageOverride -equals windows.vs2022.amd64
|
image: 1es-windows-2022
|
||||||
|
os: windows
|
||||||
${{ if eq(parameters.agentOs, 'Linux') }}:
|
${{ if eq(parameters.agentOs, 'Linux') }}:
|
||||||
pool:
|
pool:
|
||||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||||
name: $(DncEngPublicBuildPool)
|
name: $(DncEngPublicBuildPool)
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
image: 1es-ubuntu-2004-open
|
||||||
|
os: linux
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
image: 1es-ubuntu-2204
|
||||||
|
os: linux
|
||||||
container: ${{ parameters.container }}
|
container: ${{ parameters.container }}
|
||||||
${{ if eq(parameters.agentOs, 'Darwin') }}:
|
${{ if eq(parameters.agentOs, 'Darwin') }}:
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'macOS-latest'
|
name: Azure Pipelines
|
||||||
|
image: macOS-latest
|
||||||
|
os: macOS
|
||||||
|
|
||||||
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
|
||||||
${{ if parameters.isBuiltFromVmr }}:
|
${{ if parameters.isBuiltFromVmr }}:
|
||||||
|
@ -111,8 +117,8 @@ jobs:
|
||||||
workspace:
|
workspace:
|
||||||
clean: all
|
clean: all
|
||||||
|
|
||||||
# Test parameters
|
|
||||||
variables:
|
variables:
|
||||||
|
# Test variables
|
||||||
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
|
||||||
- _PackArg: '-pack'
|
- _PackArg: '-pack'
|
||||||
- ${{ if parameters.runTests }}:
|
- ${{ if parameters.runTests }}:
|
||||||
|
@ -168,7 +174,7 @@ jobs:
|
||||||
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
||||||
$(_PgoInstrument)
|
$(_PgoInstrument)
|
||||||
|
|
||||||
- template: /eng/common/templates/variables/pool-providers.yml
|
- template: /eng/common/templates-official/variables/pool-providers.yml
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- checkout: self
|
- checkout: self
|
||||||
|
@ -251,7 +257,7 @@ jobs:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: always()
|
condition: always()
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
- task: 1ES.PublishBuildArtifacts@1
|
||||||
displayName: Publish Logs to VSTS
|
displayName: Publish Logs to VSTS
|
||||||
inputs:
|
inputs:
|
||||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
#
|
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=1224
|
||||||
# See https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for details on this file.
|
|
||||||
#
|
|
||||||
|
|
||||||
schedules:
|
schedules:
|
||||||
# Cron timezone is UTC.
|
# Cron timezone is UTC.
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<RuntimeNETCoreAppPackageName>microsoft.netcore.app.runtime.$(SharedFrameworkRid)</RuntimeNETCoreAppPackageName>
|
<RuntimeNETCoreAppPackageName>microsoft.netcore.app.runtime.$(SharedFrameworkRid)</RuntimeNETCoreAppPackageName>
|
||||||
<RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
|
<RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
|
||||||
<CrossgenPath>$(NuGetPackageRoot)/$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
|
<CrossgenPath>$(NuGetPackageRoot)$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
|
||||||
<!-- When ingesting stable pgo instrumented binaries, the shared framework will be a non-stable version,
|
<!-- When ingesting stable pgo instrumented binaries, the shared framework will be a non-stable version,
|
||||||
as will the archive file names themselves. -->
|
as will the archive file names themselves. -->
|
||||||
<SharedFrameworkNameVersionPath Condition=" '$(PgoInstrument)' != 'true' ">$(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedFrameworkNameVersionPath>
|
<SharedFrameworkNameVersionPath Condition=" '$(PgoInstrument)' != 'true' ">$(RedistLayoutPath)shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedFrameworkNameVersionPath>
|
||||||
|
|
Loading…
Reference in a new issue