Merge in 'release/8.0.1xx' changes

This commit is contained in:
dotnet-bot 2024-04-02 22:14:01 +00:00
commit ed032a559c
9 changed files with 668 additions and 462 deletions

View file

@ -1,3 +1,5 @@
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=286
trigger: trigger:
batch: true batch: true
branches: branches:
@ -23,339 +25,370 @@ 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/variables/pool-providers.yml - template: /eng/common/templates/variables/pool-providers.yml
# Set the MicroBuild plugin installation directory to the agent temp directory to avoid SDL tool scanning.
- name: MicroBuildOutputFolderOverride
value: $(Agent.TempDirectory)
stages: resources:
- stage: Build repositories:
jobs: - repository: 1esPipelines
# This job is for build retry configuration. type: git
- job: Publish_Build_Configuration name: 1ESPipelineTemplates/1ESPipelineTemplates
pool: ref: refs/tags/release
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool) extends:
demands: ImageOverride -equals windows.vs2022preview.amd64.open ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
${{ if eq(variables['System.TeamProject'], 'internal') }}: template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
${{ else }}:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
parameters:
containers:
alpine315WithNode:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode
cblMariner20Fpm:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm
centosStream8:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8
debianStretch:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch
fedora36:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36
ubuntu2204:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04
ubuntu1804Cross:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross
ubuntu2204DebPkg:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg
sdl:
sourceAnalysisPool:
name: $(DncEngInternalBuildPool) name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2022preview.amd64 image: 1es-windows-2022
steps: os: windows
- publish: $(Build.SourcesDirectory)\eng\buildConfiguration # Temporary to workaround MicroBuild issues.
artifact: buildConfiguration credscan:
displayName: Publish Build Config enabled: false
justificationForDisabling: 'CredScan is failing on the MicroBuild signing plugin. "MicroBuild/Plugins/nuget.config" has changing content and thus cannot be baselined.'
## PR-only jobs stages:
- stage: Build
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: jobs:
# Build Retry Configuration
## Windows - job: Publish_Build_Configuration
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Debug_x64
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: true
## Linux
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Ubuntu_22_04_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Fedora_36_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-36'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_CentOS_8_Stream_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Debian_Stretch_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:debian-stretch'
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:BuildSdkDeb=true'
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Debug
buildConfiguration: Debug
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
# Never run tests on arm64
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Debug_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode'
buildConfiguration: Debug
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: true
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: true
# MacOS
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: true
## Official/PGO instrumentation Builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
## Windows
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Linux
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm_Release
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-arm'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross'
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-musl-arm'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-musl-arm64'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.15-WithNode'
buildConfiguration: Release
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Deb_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-debpkg'
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_x64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_Arm64
container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner-2.0-fpm'
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
# MacOS
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: false
- template: eng/build.yml
parameters:
agentOs: Darwin
jobName: Build_Release_arm64
runtimeIdentifier: 'osx-arm64'
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Windows PGO Instrumentation builds
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
## Linux PGO Instrumentation builds
- template: eng/build.yml
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
- template: eng/build.yml
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
linuxPortable: true
runTests: false
- template: /eng/common/templates/jobs/source-build.yml
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: Publish
dependsOn:
- Build
jobs:
- template: /eng/common/templates/job/publish-build-assets.yml
parameters:
publishUsingPipelines: true
publishAssetsImmediately: true
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $(DncEngPublicBuildPool)
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
steps:
- task: 1ES.PublishPipelineArtifact@1
displayName: Publish Build Config
inputs:
targetPath: $(Build.SourcesDirectory)\eng\buildConfiguration
artifactName: buildConfiguration
# PR-only jobs
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
# Windows
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Debug_x64
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: true
# Linux
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Ubuntu_22_04_Debug_x64
container: ubuntu2204
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Fedora_36_Debug_x64
container: fedora36
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: true
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_CentOS_8_Stream_Debug_x64
container: centosStream8
buildConfiguration: Debug
buildArchitecture: x64
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Debian_Stretch_Debug_x64
container: debianStretch
buildConfiguration: Debug
buildArchitecture: x64
additionalBuildParameters: '/p:BuildSdkDeb=true'
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm64_Debug
buildConfiguration: Debug
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
# Never run tests on arm64
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Debug_x64
container: alpine315WithNode
buildConfiguration: Debug
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: true
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: true
# MacOS
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: true
# Official/PGO instrumentation Builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
# Windows
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Linux
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm_Release
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-arm'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Arm64_Release
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm
container: ubuntu1804Cross
buildConfiguration: Release
buildArchitecture: arm
runtimeIdentifier: 'linux-musl-arm'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-musl-arm64'
additionalBuildParameters: '/p:OSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_musl_Release_x64
container: alpine315WithNode
buildConfiguration: Release
buildArchitecture: x64
runtimeIdentifier: 'linux-musl-x64'
# Pass in HostOSName when running on alpine
additionalBuildParameters: '/p:HostOSName="linux-musl"'
linuxPortable: false
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Deb_Release_x64
container: ubuntu2204DebPkg
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:BuildSdkDeb=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_x64
container: cblMariner20Fpm
buildConfiguration: Release
buildArchitecture: x64
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_Linux_Portable_Rpm_Release_Arm64
container: cblMariner20Fpm
buildConfiguration: Release
buildArchitecture: arm64
runtimeIdentifier: 'linux-arm64'
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
additionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true /p:IsRPMBasedDistro=true'
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
# MacOS
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Darwin
jobName: Build_Release_arm64
runtimeIdentifier: 'osx-arm64'
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Windows PGO Instrumentation builds
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x64
buildConfiguration: Release
buildArchitecture: x64
additionalBuildParameters: '/p:PublishInternalAsset=true'
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_x86
buildConfiguration: Release
buildArchitecture: x86
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Windows_NT
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
runTests: false
# Linux PGO Instrumentation builds
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_LinuxPortable_Release_x64
buildConfiguration: Release
buildArchitecture: x64
linuxPortable: true
runTests: false
- template: eng/build.yml@self
parameters:
agentOs: Linux
pgoInstrument: true
jobName: Build_Release_arm64
buildConfiguration: Release
buildArchitecture: arm64
linuxPortable: true
runTests: false
# Source Build
- template: /eng/common/templates-official/jobs/source-build.yml@self
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- stage: Publish
dependsOn:
- Build
jobs:
- template: /eng/common/templates-official/job/publish-build-assets.yml@self
parameters:
publishUsingPipelines: true
publishAssetsImmediately: true
pool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows

View file

@ -59,7 +59,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 +70,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 +79,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_36_Debug_x64 jobName: Build_Fedora_36_Debug_x64
@ -88,7 +88,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 +97,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_Stretch_Debug_x64 jobName: Build_Debian_Stretch_Debug_x64
@ -107,7 +107,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 +117,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 +129,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 +140,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 +154,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 +162,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 +179,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 +188,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 +197,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 +208,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 +218,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 +230,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 +242,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 +254,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 +267,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 +278,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 +296,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 +305,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 +313,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 +324,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 +334,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

View file

@ -28,7 +28,6 @@
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" /> <add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" /> <add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" /> <add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet-eol-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eol-transport/nuget/v3/index.json" />
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" /> <add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
<add key="dotnet6-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json" /> <add key="dotnet6-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" /> <add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />

View file

@ -39,12 +39,6 @@
<FileSignInfo Include="comhost.dll" CertificateName="None" /> <FileSignInfo Include="comhost.dll" CertificateName="None" />
<FileSignInfo Include="singlefilehost.exe" CertificateName="None" /> <FileSignInfo Include="singlefilehost.exe" CertificateName="None" />
<!-- These are 3rd party nupkgs and should not be signed with an MS cert -->
<FileSignInfo Include="nunit3.dotnetnew.template.$(NUnit3Templates21PackageVersion).nupkg" CertificateName="None" />
<FileSignInfo Include="nunit3.dotnetnew.template.$(NUnit3Templates30PackageVersion).nupkg" CertificateName="None" />
<FileSignInfo Include="nunit3.dotnetnew.template.$(NUnit3Templates31PackageVersion).nupkg" CertificateName="None" />
<FileSignInfo Include="nunit3.dotnetnew.template.$(NUnit3Templates50PackageVersion).nupkg" CertificateName="None" />
<FileExtensionSignInfo Include=".msi" CertificateName="$(InternalCertificateId)" /> <FileExtensionSignInfo Include=".msi" CertificateName="$(InternalCertificateId)" />
<!-- .ttf, .otf, and .js files come in from some older aspnetcore packages (e.g. 2.1). <!-- .ttf, .otf, and .js files come in from some older aspnetcore packages (e.g. 2.1).
These files in the 5.0 packages are NOT signed. When doing postbuild signing, These files in the 5.0 packages are NOT signed. When doing postbuild signing,

View file

@ -193,9 +193,9 @@
<Sha>5957c5c5f85f17c145e7fab4ece37ad6aafcded9</Sha> <Sha>5957c5c5f85f17c145e7fab4ece37ad6aafcded9</Sha>
<SourceBuild RepoName="deployment-tools" ManagedOnly="true" /> <SourceBuild RepoName="deployment-tools" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.24168.2"> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="8.0.0-alpha.1.24175.3">
<Uri>https://github.com/dotnet/source-build-externals</Uri> <Uri>https://github.com/dotnet/source-build-externals</Uri>
<Sha>0fac378047750fa8bd850a98b159560f9f7627c3</Sha> <Sha>300e99190e6ae1983681694dbdd5f75f0c692081</Sha>
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" /> <SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.1.0-beta.23253.1"> <Dependency Name="Microsoft.SourceBuild.Intermediate.symreader" Version="2.1.0-beta.23253.1">

View file

@ -55,13 +55,7 @@
<MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.4-servicing.24169.10</MicrosoftDotNetWpfProjectTemplatesPackageVersion> <MicrosoftDotNetWpfProjectTemplatesPackageVersion>8.0.4-servicing.24169.10</MicrosoftDotNetWpfProjectTemplatesPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates -->
<!-- Legacy versions -->
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates21PackageVersion>
<MicrosoftDotNetTestProjectTemplates30PackageVersion>1.0.2-beta4.22406.1</MicrosoftDotNetTestProjectTemplates30PackageVersion>
<!-- Supported versions --> <!-- Supported versions -->
<MicrosoftDotNetTestProjectTemplates31PackageVersion>1.1.0-rc.22558.1</MicrosoftDotNetTestProjectTemplates31PackageVersion>
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates60PackageVersion> <MicrosoftDotNetTestProjectTemplates60PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates60PackageVersion>
<MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates70PackageVersion> <MicrosoftDotNetTestProjectTemplates70PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates70PackageVersion>
<MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates80PackageVersion> <MicrosoftDotNetTestProjectTemplates80PackageVersion>1.1.0-rc.23410.2</MicrosoftDotNetTestProjectTemplates80PackageVersion>
@ -160,14 +154,10 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Cross-release dependency versions --> <!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.403</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion> <MicrosoftDotNetCommonItemTemplates60PackageVersion>6.0.302</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100</MicrosoftDotNetCommonItemTemplates70PackageVersion> <MicrosoftDotNetCommonItemTemplates70PackageVersion>7.0.100</MicrosoftDotNetCommonItemTemplates70PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.17</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.14</MicrosoftAspNetCoreAppRuntime60PackageVersion> <MicrosoftAspNetCoreAppRuntime60PackageVersion>6.0.14</MicrosoftAspNetCoreAppRuntime60PackageVersion>
<MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.3</MicrosoftAspNetCoreAppRuntime70PackageVersion> <MicrosoftAspNetCoreAppRuntime70PackageVersion>7.0.3</MicrosoftAspNetCoreAppRuntime70PackageVersion>
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
<MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion> <MicrosoftWinFormsProjectTemplates60PackageVersion>6.0.7-servicing.22322.3</MicrosoftWinFormsProjectTemplates60PackageVersion>
<MicrosoftWPFProjectTemplates60PackageVersion>6.0.7-servicing.22322.2</MicrosoftWPFProjectTemplates60PackageVersion> <MicrosoftWPFProjectTemplates60PackageVersion>6.0.7-servicing.22322.2</MicrosoftWPFProjectTemplates60PackageVersion>
<MicrosoftWinFormsProjectTemplates70PackageVersion>7.0.0-rtm.22518.7</MicrosoftWinFormsProjectTemplates70PackageVersion> <MicrosoftWinFormsProjectTemplates70PackageVersion>7.0.0-rtm.22518.7</MicrosoftWinFormsProjectTemplates70PackageVersion>
@ -203,33 +193,6 @@
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion> <MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion> <MicrosoftDotNetCommonProjectTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplates60PackageVersion)</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>6.0.$(AspNetCoreTemplateFeature60)</AspNetCorePackageVersionFor60Templates> <AspNetCorePackageVersionFor60Templates>6.0.$(AspNetCoreTemplateFeature60)</AspNetCorePackageVersionFor60Templates>
<!-- 5.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>$(MicrosoftWinFormsProjectTemplates50PackageVersion)</MicrosoftDotnetWinFormsProjectTemplates50PackageVersion>
<MicrosoftDotNetWpfProjectTemplates50PackageVersion>$(MicrosoftWPFProjectTemplates50PackageVersion)</MicrosoftDotNetWpfProjectTemplates50PackageVersion>
<NUnit3Templates50PackageVersion>$(NUnit3DotNetNewTemplatePackageVersion)</NUnit3Templates50PackageVersion>
<MicrosoftDotNetCommonItemTemplates50PackageVersion>$(MicrosoftDotNetCommonItemTemplates50PackageVersion)</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftDotNetCommonProjectTemplates50PackageVersion>$(MicrosoftDotNetCommonItemTemplates50PackageVersion)</MicrosoftDotNetCommonProjectTemplates50PackageVersion>
<AspNetCorePackageVersionFor50Templates>5.0.17</AspNetCorePackageVersionFor50Templates>
<!-- 3.1 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>4.8.1-servicing.19605.5</MicrosoftDotnetWinFormsProjectTemplates31PackageVersion>
<MicrosoftDotNetWpfProjectTemplates31PackageVersion>3.1.2-servicing.20066.4</MicrosoftDotNetWpfProjectTemplates31PackageVersion>
<NUnit3Templates31PackageVersion>1.7.2</NUnit3Templates31PackageVersion>
<MicrosoftDotNetCommonItemTemplates31PackageVersion>3.1.27</MicrosoftDotNetCommonItemTemplates31PackageVersion>
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
<AspNetCorePackageVersionFor31Templates>3.1.32</AspNetCorePackageVersionFor31Templates>
<MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>3.2.1</MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion>
<!-- 3.0 Template versions -->
<MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>4.8.0-rc2.19462.10</MicrosoftDotnetWinFormsProjectTemplates30PackageVersion>
<MicrosoftDotNetWpfProjectTemplates30PackageVersion>3.0.0</MicrosoftDotNetWpfProjectTemplates30PackageVersion>
<NUnit3Templates30PackageVersion>1.6.5</NUnit3Templates30PackageVersion>
<MicrosoftDotNetCommonItemTemplates30PackageVersion>2.0.0-preview8.19373.1</MicrosoftDotNetCommonItemTemplates30PackageVersion>
<MicrosoftDotNetCommonProjectTemplates30PackageVersion>$(MicrosoftDotNetCommonItemTemplates30PackageVersion)</MicrosoftDotNetCommonProjectTemplates30PackageVersion>
<AspNetCorePackageVersionFor30Templates>3.0.3</AspNetCorePackageVersionFor30Templates>
<!-- 2.1 Template versions -->
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
<MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion>
<AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates>
</PropertyGroup> </PropertyGroup>
<!-- infrastructure and test only dependencies --> <!-- infrastructure and test only dependencies -->
<PropertyGroup> <PropertyGroup>

261
eng/build-pr.yml Normal file
View 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.vs2019.amd64.open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2019.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
variables:
# Test 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()

View file

@ -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,36 +69,42 @@ 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 }}:
name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }} name: PGO_${{ parameters.agentOs }}_${{ parameters.jobName }}
${{ 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.vs2019.amd64.open image: 1es-windows-2019-open
os: windows
${{ if eq(variables['System.TeamProject'], 'internal') }}: ${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $(DncEngInternalBuildPool) name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2019.amd64 image: 1es-windows-2019
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-2004
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
@ -245,13 +251,13 @@ jobs:
inputs: inputs:
SourceFolder: '$(installerRoot)/artifacts' SourceFolder: '$(installerRoot)/artifacts'
Contents: | Contents: |
log/${{ parameters.buildConfiguration }}/**/* log/${{ parameters.buildConfiguration }}/**/*
TestResults/${{ parameters.buildConfiguration }}/**/* TestResults/${{ parameters.buildConfiguration }}/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)' TargetFolder: '$(Build.ArtifactStagingDirectory)'
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)'

View file

@ -58,52 +58,6 @@
<Bundled60Templates Include="Microsoft.DotNet.Test.ProjectTemplates.6.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates60PackageVersion)" /> <Bundled60Templates Include="Microsoft.DotNet.Test.ProjectTemplates.6.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates60PackageVersion)" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Bundled50Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates50PackageVersion)" />
<Bundled50Templates Include="Microsoft.DotNet.Common.ProjectTemplates.5.0" PackageVersion="$(MicrosoftDotNetCommonProjectTemplates50PackageVersion)" />
<Bundled50Templates Include="Microsoft.DotNet.Test.ProjectTemplates.5.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates50PackageVersion)" />
<Bundled50Templates Include="Microsoft.DotNet.Web.ItemTemplates" PackageVersion="$(AspNetCorePackageVersionFor50Templates)" />
<Bundled50Templates Include="Microsoft.Dotnet.Wpf.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWpfProjectTemplates50PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled50Templates Include="Microsoft.Dotnet.WinForms.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWinFormsProjectTemplates50PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled50Templates Include="Microsoft.DotNet.Web.ProjectTemplates.5.0" PackageVersion="$(AspNetCorePackageVersionFor50Templates)" UseVersionForTemplateInstallPath="true" />
<Bundled50Templates Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.5.0" PackageVersion="$(AspNetCorePackageVersionFor50Templates)" />
<Bundled50Templates Include="NUnit3.DotNetNew.Template" PackageVersion="$(NUnit3Templates50PackageVersion)" />
</ItemGroup>
<ItemGroup>
<Bundled31Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates31PackageVersion)" />
<Bundled31Templates Include="Microsoft.DotNet.Common.ProjectTemplates.3.1" PackageVersion="$(MicrosoftDotNetCommonProjectTemplates31PackageVersion)" />
<Bundled31Templates Include="Microsoft.DotNet.Test.ProjectTemplates.3.1" PackageVersion="$(MicrosoftDotNetTestProjectTemplates31PackageVersion)" />
<Bundled31Templates Include="Microsoft.DotNet.Web.ItemTemplates" PackageVersion="$(AspNetCorePackageVersionFor31Templates)" />
<Bundled31Templates Include="Microsoft.DotNet.Web.ProjectTemplates.3.1" PackageVersion="$(AspNetCorePackageVersionFor31Templates)" UseVersionForTemplateInstallPath="true" />
<Bundled31Templates Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.1" PackageVersion="$(AspNetCorePackageVersionFor31Templates)" />
<Bundled31Templates Include="Microsoft.AspNetCore.Components.WebAssembly.Templates" PackageVersion="$(MicrosoftAspNetCoreComponentsWebAssemblyTemplatesPackageVersion)" />
<Bundled31Templates Include="NUnit3.DotNetNew.Template" PackageVersion="$(NUnit3Templates31PackageVersion)" />
</ItemGroup>
<ItemGroup Condition="!$(Architecture.StartsWith('arm'))">
<Bundled31Templates Include="Microsoft.Dotnet.Wpf.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWpfProjectTemplates31PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled31Templates Include="Microsoft.Dotnet.WinForms.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWinFormsProjectTemplates31PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
</ItemGroup>
<ItemGroup Condition="!$(Architecture.StartsWith('arm'))">
<Bundled30Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates30PackageVersion)" />
<Bundled30Templates Include="Microsoft.DotNet.Common.ProjectTemplates.3.0" PackageVersion="$(MicrosoftDotNetCommonProjectTemplates30PackageVersion)" />
<Bundled30Templates Include="Microsoft.DotNet.Test.ProjectTemplates.3.0" PackageVersion="$(MicrosoftDotNetTestProjectTemplates30PackageVersion)" />
<Bundled30Templates Include="Microsoft.DotNet.Web.ItemTemplates" PackageVersion="$(AspNetCorePackageVersionFor30Templates)" />
<Bundled30Templates Include="Microsoft.Dotnet.Wpf.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWpfProjectTemplates30PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled30Templates Include="Microsoft.Dotnet.WinForms.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWinFormsProjectTemplates30PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled30Templates Include="Microsoft.DotNet.Web.ProjectTemplates.3.0" PackageVersion="$(AspNetCorePackageVersionFor30Templates)" UseVersionForTemplateInstallPath="true" />
<Bundled30Templates Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.3.0" PackageVersion="$(AspNetCorePackageVersionFor30Templates)" />
<Bundled30Templates Include="NUnit3.DotNetNew.Template" PackageVersion="$(NUnit3Templates30PackageVersion)" />
</ItemGroup>
<ItemGroup Condition="!$(Architecture.StartsWith('arm'))">
<Bundled21Templates Include="Microsoft.DotNet.Common.ItemTemplates" PackageVersion="$(MicrosoftDotNetCommonItemTemplates21PackageVersion)" />
<Bundled21Templates Include="Microsoft.DotNet.Common.ProjectTemplates.2.1" PackageVersion="$(MicrosoftDotNetCommonProjectTemplates21PackageVersion)" />
<Bundled21Templates Include="Microsoft.DotNet.Test.ProjectTemplates.2.1" PackageVersion="$(MicrosoftDotNetTestProjectTemplates21PackageVersion)" />
<Bundled21Templates Include="Microsoft.DotNet.Web.ItemTemplates" PackageVersion="$(AspNetCorePackageVersionFor21Templates)" />
<Bundled21Templates Include="Microsoft.DotNet.Web.ProjectTemplates.2.1" PackageVersion="$(AspNetCorePackageVersionFor21Templates)" UseVersionForTemplateInstallPath="true" />
<Bundled21Templates Include="Microsoft.DotNet.Web.Spa.ProjectTemplates.2.1" PackageVersion="$(AspNetCorePackageVersionFor21Templates)" />
<Bundled21Templates Include="NUnit3.DotNetNew.Template" PackageVersion="$(NUnit3Templates21PackageVersion)" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<CurrentVersionBundledTemplates Include="@(Bundled80Templates)" TemplateFrameworkVersion="8.0"/> <CurrentVersionBundledTemplates Include="@(Bundled80Templates)" TemplateFrameworkVersion="8.0"/>
</ItemGroup> </ItemGroup>
@ -111,10 +65,6 @@
<ItemGroup> <ItemGroup>
<PreviousVersionBundledTemplates Include="@(Bundled70Templates)" TemplateFrameworkVersion="7.0"/> <PreviousVersionBundledTemplates Include="@(Bundled70Templates)" TemplateFrameworkVersion="7.0"/>
<PreviousVersionBundledTemplates Include="@(Bundled60Templates)" TemplateFrameworkVersion="6.0"/> <PreviousVersionBundledTemplates Include="@(Bundled60Templates)" TemplateFrameworkVersion="6.0"/>
<PreviousVersionBundledTemplates Include="@(Bundled50Templates)" TemplateFrameworkVersion="5.0"/>
<PreviousVersionBundledTemplates Include="@(Bundled31Templates)" TemplateFrameworkVersion="3.1"/>
<PreviousVersionBundledTemplates Include="@(Bundled30Templates)" TemplateFrameworkVersion="3.0"/>
<PreviousVersionBundledTemplates Include="@(Bundled21Templates)" TemplateFrameworkVersion="2.1"/>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>