Merge branch 'release/6.0.4xx' into fix-newtonsoft-in-deps-6-0-4xx

This commit is contained in:
Jakub Jareš 2024-04-05 12:56:20 +02:00 committed by GitHub
commit 8f232fb8af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 1109 additions and 600 deletions

View file

@ -1,3 +1,5 @@
# Pipeline: https://dnceng.visualstudio.com/internal/_build?definitionId=286
trigger: trigger:
batch: true batch: true
branches: branches:
@ -21,7 +23,6 @@ variables:
- group: DotNet-Installer-SDLValidation-Params - group: DotNet-Installer-SDLValidation-Params
- name: _PublishUsingPipelines - name: _PublishUsingPipelines
value: true value: true
# Default to running tests in PRs and public CI, but not in official builds # Default to running tests in PRs and public CI, but not in official builds
- name: _WindowsTestArg - name: _WindowsTestArg
value: '-test' value: '-test'
@ -32,42 +33,75 @@ variables:
value: '' value: ''
- name: _NonWindowsTestArg - name: _NonWindowsTestArg
value: '' value: ''
- 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)
- name: DncEngPublicBuildPool
value: NetCore-Svc-Public
- name: DncEngInternalBuildPool
value: NetCore1ESPool-Svc-Internal
# Set the MicroBuild plugin installation directory to the agent temp directory to avoid SDL tool scanning.
- name: MicroBuildOutputFolderOverride
value: $(Agent.TempDirectory)
resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
extends:
${{ if notin(variables['Build.Reason'], 'PullRequest') }}:
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
${{ else }}:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
parameters:
containers:
fedora38:
image: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38
sdl:
sourceAnalysisPool:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2019
os: windows
stages: stages:
- stage: build - stage: build
jobs: jobs:
# 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: NetCore-Svc-Public 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: NetCore1ESPool-Svc-Internal name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2019.amd64 image: 1es-windows-2019
os: windows
steps: steps:
- publish: $(Build.SourcesDirectory)\eng\BuildConfiguration - task: 1ES.PublishPipelineArtifact@1
artifact: BuildConfiguration
displayName: Publish Build Config displayName: Publish Build Config
- template: /eng/build.yml inputs:
targetPath: $(Build.SourcesDirectory)\eng\BuildConfiguration
artifactName: BuildConfiguration
- template: /eng/build.yml@self
parameters: parameters:
agentOs: Windows_NT agentOs: Windows_NT
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public 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: NetCore1ESPool-Svc-Internal name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2019.amd64 image: 1es-windows-2019
os: windows
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
@ -115,16 +149,18 @@ stages:
# Never run tests on arm64 # Never run tests on arm64
_TestArg: '' _TestArg: ''
- template: /eng/build.yml - template: /eng/build.yml@self
parameters: parameters:
agentOs: Windows_NT agentOs: Windows_NT
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public 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: NetCore1ESPool-Svc-Internal name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals windows.vs2019.amd64 image: 1es-windows-2019
os: windows
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
@ -144,16 +180,18 @@ stages:
_TestArg: '' _TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build.yml@self
parameters: parameters:
agentOs: Linux agentOs: Linux
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public 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: NetCore1ESPool-Svc-Internal name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
@ -330,16 +368,18 @@ stages:
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
- template: /eng/build.yml - template: /eng/build.yml@self
parameters: parameters:
agentOs: Linux agentOs: Linux
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Svc-Public 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: NetCore1ESPool-Svc-Internal name: $(DncEngInternalBuildPool)
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
@ -353,11 +393,13 @@ stages:
_TestArg: '' _TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build.yml@self
parameters: parameters:
agentOs: Darwin agentOs: Darwin
pool: pool:
vmImage: 'macOS-latest' name: Azure Pipelines
image: macOS-latest
os: macOS
timeoutInMinutes: 180 timeoutInMinutes: 180
strategy: strategy:
matrix: matrix:
@ -373,31 +415,12 @@ stages:
# Never run tests on arm64 # Never run tests on arm64
_TestArg: '' _TestArg: ''
- template: /eng/common/templates/jobs/source-build.yml - template: /eng/common/templates-official/jobs/source-build.yml@self
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml@self
# For .NET 6.0, source-build only supports 6.0.1xx. Disable tarball build validation in all other branches.
# - ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
# - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
# parameters:
# dependsOn: Source_Build_Create_Tarball
# https://github.com/dotnet/core-sdk/issues/248
# - template: /eng/build.yml
# parameters:
# agentOs: FreeBSD
# queue:
# name: dnceng-freebsd-internal
# timeoutInMinutes: 180
# matrix:
# Build_Release:
# _BuildConfig: Release
# _BuildArchitecture: 'x64'
# _AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates/job/publish-build-assets.yml - template: /eng/common/templates-official/job/publish-build-assets.yml@self
parameters: parameters:
dependsOn: dependsOn:
- Windows_NT - Windows_NT
@ -409,13 +432,12 @@ stages:
- PGO_Windows_NT - PGO_Windows_NT
publishUsingPipelines: true publishUsingPipelines: true
pool: pool:
${{ if eq(variables['System.TeamProject'], 'internal') }}: name: $(DncEngInternalBuildPool)
name: NetCore1ESPool-Svc-Internal image: 1es-windows-2019
demands: ImageOverride -equals windows.vs2017.amd64 os: windows
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng\common\templates\post-build\post-build.yml - template: /eng/common/templates-official/post-build/post-build.yml@self
parameters: parameters:
publishingInfraVersion: 3 publishingInfraVersion: 3
enableSymbolValidation: false enableSymbolValidation: false

View file

@ -21,7 +21,6 @@ variables:
- group: DotNet-Installer-SDLValidation-Params - group: DotNet-Installer-SDLValidation-Params
- name: _PublishUsingPipelines - name: _PublishUsingPipelines
value: true value: true
# Default to running tests in PRs and public CI, but not in official builds # Default to running tests in PRs and public CI, but not in official builds
- name: _WindowsTestArg - name: _WindowsTestArg
value: '-test' value: '-test'
@ -32,10 +31,8 @@ variables:
value: '' value: ''
- name: _NonWindowsTestArg - name: _NonWindowsTestArg
value: '' value: ''
- 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
@ -58,7 +55,7 @@ stages:
- publish: $(Build.SourcesDirectory)\eng\BuildConfiguration - publish: $(Build.SourcesDirectory)\eng\BuildConfiguration
artifact: BuildConfiguration artifact: BuildConfiguration
displayName: Publish Build Config displayName: Publish Build Config
- template: /eng/build.yml - template: /eng/build-pr.yml
parameters: parameters:
agentOs: Windows_NT agentOs: Windows_NT
pool: pool:
@ -115,7 +112,7 @@ stages:
# Never run tests on arm64 # Never run tests on arm64
_TestArg: '' _TestArg: ''
- template: /eng/build.yml - template: /eng/build-pr.yml
parameters: parameters:
agentOs: Windows_NT agentOs: Windows_NT
pool: pool:
@ -144,7 +141,7 @@ stages:
_TestArg: '' _TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build-pr.yml
parameters: parameters:
agentOs: Linux agentOs: Linux
pool: pool:
@ -330,7 +327,7 @@ stages:
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg) _TestArg: $(_NonWindowsTestArg)
- template: /eng/build.yml - template: /eng/build-pr.yml
parameters: parameters:
agentOs: Linux agentOs: Linux
pool: pool:
@ -353,7 +350,7 @@ stages:
_TestArg: '' _TestArg: ''
pgoInstrument: true pgoInstrument: true
- template: /eng/build.yml - template: /eng/build-pr.yml
parameters: parameters:
agentOs: Darwin agentOs: Darwin
pool: pool:
@ -375,26 +372,7 @@ stages:
- template: /eng/common/templates/jobs/source-build.yml - template: /eng/common/templates/jobs/source-build.yml
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-create-tarball-pr.yml
# For .NET 6.0, source-build only supports 6.0.1xx. Disable tarball build validation in all other branches.
# - ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
# - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
# parameters:
# dependsOn: Source_Build_Create_Tarball
# https://github.com/dotnet/core-sdk/issues/248
# - template: /eng/build.yml
# parameters:
# agentOs: FreeBSD
# queue:
# name: dnceng-freebsd-internal
# timeoutInMinutes: 180
# matrix:
# Build_Release:
# _BuildConfig: Release
# _BuildArchitecture: 'x64'
# _AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates/job/publish-build-assets.yml - template: /eng/common/templates/job/publish-build-assets.yml
@ -413,7 +391,6 @@ stages:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals windows.vs2017.amd64 demands: ImageOverride -equals windows.vs2017.amd64
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: eng\common\templates\post-build\post-build.yml - template: eng\common\templates\post-build\post-build.yml
parameters: parameters:

View file

@ -9,26 +9,14 @@
<!-- Begin: Package sources from dotnet-aspnetcore --> <!-- Begin: Package sources from dotnet-aspnetcore -->
<!-- End: Package sources from dotnet-aspnetcore --> <!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-emsdk --> <!-- Begin: Package sources from dotnet-emsdk -->
<add key="darc-pub-dotnet-emsdk-925c59b" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-925c59b4/nuget/v3/index.json" />
<add key="darc-pub-dotnet-emsdk-925c59b-2" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-925c59b4-2/nuget/v3/index.json" />
<add key="darc-pub-dotnet-emsdk-925c59b-1" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-925c59b4-1/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-emsdk --> <!-- End: Package sources from dotnet-emsdk -->
<!-- Begin: Package sources from DotNet-msbuild-Trusted --> <!-- Begin: Package sources from DotNet-msbuild-Trusted -->
<!-- End: Package sources from DotNet-msbuild-Trusted --> <!-- End: Package sources from DotNet-msbuild-Trusted -->
<!-- Begin: Package sources from dotnet-runtime --> <!-- Begin: Package sources from dotnet-runtime -->
<add key="darc-int-dotnet-runtime-34a1091" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-runtime-34a10914/nuget/v3/index.json" />
<add key="darc-int-dotnet-runtime-34a1091-2" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-runtime-34a10914-2/nuget/v3/index.json" />
<add key="darc-int-dotnet-runtime-34a1091-1" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-runtime-34a10914-1/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-runtime --> <!-- End: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-templating --> <!-- Begin: Package sources from dotnet-templating -->
<add key="darc-int-dotnet-templating-d6969ba" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-templating-d6969bae/nuget/v3/index.json" />
<add key="darc-int-dotnet-templating-d6969ba-2" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-templating-d6969bae-2/nuget/v3/index.json" />
<add key="darc-int-dotnet-templating-d6969ba-1" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-templating-d6969bae-1/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-templating --> <!-- End: Package sources from dotnet-templating -->
<!-- Begin: Package sources from dotnet-windowsdesktop --> <!-- Begin: Package sources from dotnet-windowsdesktop -->
<add key="darc-int-dotnet-windowsdesktop-c4a33f2" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-windowsdesktop-c4a33f22/nuget/v3/index.json" />
<add key="darc-int-dotnet-windowsdesktop-c4a33f2-2" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-windowsdesktop-c4a33f22-2/nuget/v3/index.json" />
<add key="darc-int-dotnet-windowsdesktop-c4a33f2-1" value="https://pkgs.dev.azure.com/dnceng/internal/_packaging/darc-int-dotnet-windowsdesktop-c4a33f22-1/nuget/v3/index.json" />
<!-- End: Package sources from dotnet-windowsdesktop --> <!-- End: Package sources from dotnet-windowsdesktop -->
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.--> <!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
<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" />
@ -51,19 +39,10 @@
<!-- Begin: Package sources from dotnet-aspnetcore --> <!-- Begin: Package sources from dotnet-aspnetcore -->
<!-- End: Package sources from dotnet-aspnetcore --> <!-- End: Package sources from dotnet-aspnetcore -->
<!-- Begin: Package sources from dotnet-runtime --> <!-- Begin: Package sources from dotnet-runtime -->
<add key="darc-int-dotnet-runtime-34a1091-1" value="true" />
<add key="darc-int-dotnet-runtime-34a1091-2" value="true" />
<add key="darc-int-dotnet-runtime-34a1091" value="true" />
<!-- End: Package sources from dotnet-runtime --> <!-- End: Package sources from dotnet-runtime -->
<!-- Begin: Package sources from dotnet-templating --> <!-- Begin: Package sources from dotnet-templating -->
<add key="darc-int-dotnet-templating-d6969ba-1" value="true" />
<add key="darc-int-dotnet-templating-d6969ba-2" value="true" />
<add key="darc-int-dotnet-templating-d6969ba" value="true" />
<!-- End: Package sources from dotnet-templating --> <!-- End: Package sources from dotnet-templating -->
<!-- Begin: Package sources from dotnet-windowsdesktop --> <!-- Begin: Package sources from dotnet-windowsdesktop -->
<add key="darc-int-dotnet-windowsdesktop-c4a33f2-1" value="true" />
<add key="darc-int-dotnet-windowsdesktop-c4a33f2-2" value="true" />
<add key="darc-int-dotnet-windowsdesktop-c4a33f2" value="true" />
<!-- End: Package sources from dotnet-windowsdesktop --> <!-- End: Package sources from dotnet-windowsdesktop -->
<!-- Begin: Package sources from dotnet-windowsdesktop --> <!-- Begin: Package sources from dotnet-windowsdesktop -->
<!-- End: Package sources from dotnet-windowsdesktop --> <!-- End: Package sources from dotnet-windowsdesktop -->

View file

@ -34,12 +34,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

@ -197,23 +197,23 @@
</Dependency> </Dependency>
</ProductDependencies> </ProductDependencies>
<ToolsetDependencies> <ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.24163.13"> <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="6.0.0-beta.24176.9">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>100394106fe203c112ab72bcc1576fb3753f7910</Sha> <Sha>e438144bbffb29ed5d7c113dc4947b51650344dc</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" /> <SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.24163.13"> <Dependency Name="Microsoft.DotNet.CMake.Sdk" Version="6.0.0-beta.24176.9">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>100394106fe203c112ab72bcc1576fb3753f7910</Sha> <Sha>e438144bbffb29ed5d7c113dc4947b51650344dc</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" /> <SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.24163.13"> <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="6.0.0-beta.24176.9">
<Uri>https://github.com/dotnet/arcade</Uri> <Uri>https://github.com/dotnet/arcade</Uri>
<Sha>100394106fe203c112ab72bcc1576fb3753f7910</Sha> <Sha>e438144bbffb29ed5d7c113dc4947b51650344dc</Sha>
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.24121.1"> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="6.0.0-servicing.24172.6">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri> <Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>2e6cb1a0008be982effb0c5d9e96a4ff138352d4</Sha> <Sha>7ce77af2d76bb40b32e483b5050df50ea07b8984</Sha>
<SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" /> <SourceBuildTarball RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency> </Dependency>
<Dependency Name="Microsoft.SourceLink.GitHub" Version="1.1.0-beta-21480-02" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk"> <Dependency Name="Microsoft.SourceLink.GitHub" Version="1.1.0-beta-21480-02" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">

View file

@ -8,7 +8,7 @@
<VersionMajor>6</VersionMajor> <VersionMajor>6</VersionMajor>
<VersionMinor>0</VersionMinor> <VersionMinor>0</VersionMinor>
<VersionSDKMinor>4</VersionSDKMinor> <VersionSDKMinor>4</VersionSDKMinor>
<VersionFeature>21</VersionFeature> <VersionFeature>22</VersionFeature>
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix> <VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionSDKMinor)$(VersionFeature)</VersionPrefix>
<PreReleaseVersionLabel>servicing</PreReleaseVersionLabel> <PreReleaseVersionLabel>servicing</PreReleaseVersionLabel>
<MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion> <MajorMinorVersion>$(VersionMajor).$(VersionMinor)</MajorMinorVersion>
@ -19,7 +19,7 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/arcade --> <!-- Dependency from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.24163.13</MicrosoftDotNetBuildTasksInstallersPackageVersion> <MicrosoftDotNetBuildTasksInstallersPackageVersion>6.0.0-beta.24176.9</MicrosoftDotNetBuildTasksInstallersPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/winforms --> <!-- Dependency from https://github.com/dotnet/winforms -->
@ -35,7 +35,6 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<!-- Dependency from https://github.com/dotnet/test-templates --> <!-- Dependency from https://github.com/dotnet/test-templates -->
<MicrosoftDotNetTestProjectTemplates50PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates50PackageVersion>
<MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates60PackageVersion> <MicrosoftDotNetTestProjectTemplates60PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates60PackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
@ -100,13 +99,6 @@
<!-- Dependencies from https://github.com/dotnet/msbuild --> <!-- Dependencies from https://github.com/dotnet/msbuild -->
<MicrosoftBuildPackageVersion>17.3.2</MicrosoftBuildPackageVersion> <MicrosoftBuildPackageVersion>17.3.2</MicrosoftBuildPackageVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<!-- Cross-release dependency versions -->
<MicrosoftDotNetCommonItemTemplates50PackageVersion>5.0.3</MicrosoftDotNetCommonItemTemplates50PackageVersion>
<MicrosoftAspNetCoreAppRuntime50PackageVersion>5.0.0-rc.2.20474.4</MicrosoftAspNetCoreAppRuntime50PackageVersion>
<MicrosoftWinFormsProjectTemplates50PackageVersion>5.0.17-servicing.22215.4</MicrosoftWinFormsProjectTemplates50PackageVersion>
<MicrosoftWPFProjectTemplates50PackageVersion>5.0.17-servicing.22218.2</MicrosoftWPFProjectTemplates50PackageVersion>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion> <HostFxrVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</HostFxrVersion>
<SharedHostVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedHostVersion> <SharedHostVersion>$(MicrosoftNETCoreAppRuntimePackageVersion)</SharedHostVersion>
@ -125,36 +117,6 @@
<MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion> <MicrosoftDotNetCommonItemTemplates60PackageVersion>$(MicrosoftDotNetCommonItemTemplatesPackageVersion)</MicrosoftDotNetCommonItemTemplates60PackageVersion>
<MicrosoftDotNetCommonProjectTemplates60PackageVersion>6.0.420</MicrosoftDotNetCommonProjectTemplates60PackageVersion> <MicrosoftDotNetCommonProjectTemplates60PackageVersion>6.0.420</MicrosoftDotNetCommonProjectTemplates60PackageVersion>
<AspNetCorePackageVersionFor60Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</AspNetCorePackageVersionFor60Templates> <AspNetCorePackageVersionFor60Templates>$(MicrosoftAspNetCoreAppRuntimePackageVersion)</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.15</MicrosoftDotNetCommonItemTemplates31PackageVersion>
<MicrosoftDotNetCommonProjectTemplates31PackageVersion>$(MicrosoftDotNetCommonItemTemplates31PackageVersion)</MicrosoftDotNetCommonProjectTemplates31PackageVersion>
<MicrosoftDotNetTestProjectTemplates31PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates31PackageVersion>
<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>
<MicrosoftDotNetTestProjectTemplates30PackageVersion>$(MicrosoftDotNetTestProjectTemplates50PackageVersion)</MicrosoftDotNetTestProjectTemplates30PackageVersion>
<AspNetCorePackageVersionFor30Templates>3.0.3</AspNetCorePackageVersionFor30Templates>
<!-- 2.1 Template versions -->
<NUnit3Templates21PackageVersion>1.5.3</NUnit3Templates21PackageVersion>
<MicrosoftDotNetCommonItemTemplates21PackageVersion>1.0.2-beta3</MicrosoftDotNetCommonItemTemplates21PackageVersion>
<MicrosoftDotNetCommonProjectTemplates21PackageVersion>$(MicrosoftDotNetCommonItemTemplates21PackageVersion)</MicrosoftDotNetCommonProjectTemplates21PackageVersion>
<MicrosoftDotNetTestProjectTemplates21PackageVersion>1.0.2-beta4.22207.1</MicrosoftDotNetTestProjectTemplates21PackageVersion>
<AspNetCorePackageVersionFor21Templates>2.1.34</AspNetCorePackageVersionFor21Templates>
</PropertyGroup> </PropertyGroup>
<!-- infrastructure and test only dependencies --> <!-- infrastructure and test only dependencies -->
<PropertyGroup> <PropertyGroup>
@ -182,7 +144,7 @@
or minor release, prebuilts may be needed. When the release is mature, prebuilts are not or minor release, prebuilts may be needed. When the release is mature, prebuilts are not
necessary, and this property is removed from the file. necessary, and this property is removed from the file.
--> -->
<PrivateSourceBuiltArtifactsPackageVersion>6.0.127</PrivateSourceBuiltArtifactsPackageVersion> <PrivateSourceBuiltArtifactsPackageVersion>6.0.128</PrivateSourceBuiltArtifactsPackageVersion>
</PropertyGroup> </PropertyGroup>
<!-- Workload manifest package versions --> <!-- Workload manifest package versions -->
<PropertyGroup> <PropertyGroup>

166
eng/build-pr.yml Normal file
View file

@ -0,0 +1,166 @@
parameters:
# Agent OS identifier and used as job name
agentOs: ''
# Agent pool
pool: {}
# Additional variables
variables: {}
# Build strategy - matrix
strategy: {}
# Job timeout
timeoutInMinutes: 180
# Publish using pipelines
enablePublishUsingPipelines: true
phases:
- template: /eng/common/templates/job/job.yml
parameters:
${{ if parameters.pgoInstrument }}:
name: PGO_${{ parameters.agentOs }}
${{ if not(parameters.pgoInstrument) }}:
name: ${{ parameters.agentOs }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
${{ if eq(parameters.agentOs, 'Windows_NT') }}:
enableMicrobuild: true
enablePublishBuildAssets: true
enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}}
enableTelemetry: true
helixRepo: dotnet/installer
pool: ${{ parameters.pool }}
${{ if ne(parameters.strategy, '') }}:
strategy: ${{ parameters.strategy }}
workspace:
clean: all
variables:
- _PgoInstrument: ''
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- _PackArg: '-pack'
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- _PackArg: '--pack'
- ${{ if parameters.pgoInstrument }}:
- _PgoInstrument: '/p:PgoInstrument=true'
- _PackArg: ''
- _AgentOSName: ${{ parameters.agentOs }}
- _TeamName: Roslyn-Project-System
- _SignType: test
- _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-Symbol-Server-PATs
- group: DotNet-HelixApi-Access
- group: DotNet-Blob-Feed
- _DotNetPublishToBlobFeed: true
- _PushToVSFeed: true
- _SignType: real
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
$(_PgoInstrument)
steps:
- checkout: self
clean: true
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: PowerShell@2
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: build.cmd
$(_TestArg) $(_PackArg)
-publish -ci -sign
-Configuration $(_BuildConfig)
-Architecture $(_BuildArchitecture)
$(_BuildArgs)
$(_AdditionalBuildParameters)
$(_InternalRuntimeDownloadArgs)
displayName: Build
env:
DOTNET_CLI_UI_LANGUAGE: $(_DOTNET_CLI_UI_LANGUAGE)
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: Bash@3
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if eq(parameters.agentOs, 'Linux') }}:
- script: ./build.sh
$(_TestArg) $(_PackArg)
--publish --ci
--noprettyprint
--configuration $(_BuildConfig)
$(_DockerParameter)
--architecture $(_BuildArchitecture)
$(_LinuxPortable)
$(_RuntimeIdentifier)
$(_BuildArgs)
$(_AdditionalBuildParameters)
$(_InternalRuntimeDownloadArgs)
displayName: Build
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
- script: ./build.sh
$(_TestArg)
--pack --publish --ci
--noprettyprint
--configuration $(_BuildConfig)
--architecture $(_BuildArchitecture)
$(_RuntimeIdentifier)
$(_BuildArgs)
$(_AdditionalBuildParameters)
$(_InternalRuntimeDownloadArgs)
displayName: Build
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.agentOs, 'Windows_NT'), ne(variables['PostBuildSign'], 'true')) }}:
- task: NuGetCommand@2
displayName: Push Visual Studio NuPkgs
inputs:
command: push
packagesToPush: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/NonShipping/VS.*.nupkg'
nuGetFeedType: external
publishFeedCredentials: 'DevDiv - VS package feed'
condition: and(succeeded(), ne(variables['PostBuildSign'], true), eq(variables['_PushToVSFeed'], 'true'), eq(variables['_DotNetPublishToBlobFeed'], 'true'), or(eq(variables['_BuildArchitecture'], 'x64'), eq(variables['_BuildArchitecture'], 'x86')))
- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testRunner: XUnit
testResultsFiles: 'artifacts/TestResults/$(_BuildConfig)/*.xml'
testRunTitle: '$(_AgentOSName)_$(Agent.JobName)'
platform: '$(BuildPlatform)'
configuration: '$(_BuildConfig)'
condition: ne(variables['_TestArg'], '')
- task: CopyFiles@2
displayName: Gather Logs
inputs:
SourceFolder: '$(Build.SourcesDirectory)/artifacts'
Contents: |
log/$(_BuildConfig)/**/*
TestResults/$(_BuildConfig)/**/*
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

@ -18,7 +18,7 @@ parameters:
enablePublishUsingPipelines: true enablePublishUsingPipelines: true
phases: phases:
- template: /eng/common/templates/job/job.yml - template: /eng/common/templates-official/job/job.yml
parameters: parameters:
${{ if parameters.pgoInstrument }}: ${{ if parameters.pgoInstrument }}:
name: PGO_${{ parameters.agentOs }} name: PGO_${{ parameters.agentOs }}
@ -28,9 +28,6 @@ phases:
${{ if eq(parameters.agentOs, 'Windows_NT') }}: ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
enableMicrobuild: true enableMicrobuild: true
enablePublishBuildAssets: true enablePublishBuildAssets: true
# Don't use built-in arcade logic for publishing artifacts and test results, as we manually do this and give better names
#enablePublishBuildArtifacts: true
#enablePublishTestResults: true
enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}} enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}}
enableTelemetry: true enableTelemetry: true
helixRepo: dotnet/installer helixRepo: dotnet/installer
@ -49,12 +46,10 @@ phases:
- ${{ if parameters.pgoInstrument }}: - ${{ if parameters.pgoInstrument }}:
- _PgoInstrument: '/p:PgoInstrument=true' - _PgoInstrument: '/p:PgoInstrument=true'
- _PackArg: '' - _PackArg: ''
- _AgentOSName: ${{ parameters.agentOs }} - _AgentOSName: ${{ parameters.agentOs }}
- _TeamName: Roslyn-Project-System - _TeamName: Roslyn-Project-System
- _SignType: test - _SignType: test
- _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)' - _BuildArgs: '/p:DotNetSignType=$(_SignType) $(_PgoInstrument)'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-Symbol-Server-PATs - group: DotNet-Symbol-Server-PATs
- group: DotNet-HelixApi-Access - group: DotNet-HelixApi-Access
@ -101,6 +96,7 @@ phases:
arguments: $(Build.SourcesDirectory)/NuGet.config $Token arguments: $(Build.SourcesDirectory)/NuGet.config $Token
env: env:
Token: $(dn-bot-dnceng-artifact-feeds-rw) Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if eq(parameters.agentOs, 'Linux') }}: - ${{ if eq(parameters.agentOs, 'Linux') }}:
- script: ./build.sh - script: ./build.sh
$(_TestArg) $(_PackArg) $(_TestArg) $(_PackArg)
@ -130,10 +126,9 @@ phases:
displayName: Build displayName: Build
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.agentOs, 'Windows_NT'), ne(variables['PostBuildSign'], 'true')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.agentOs, 'Windows_NT'), ne(variables['PostBuildSign'], 'true')) }}:
- task: NuGetCommand@2 - task: 1ES.PublishNuget@1
displayName: Push Visual Studio NuPkgs displayName: Push Visual Studio NuPkgs
inputs: inputs:
command: push
packagesToPush: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/NonShipping/VS.*.nupkg' packagesToPush: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/NonShipping/VS.*.nupkg'
nuGetFeedType: external nuGetFeedType: external
publishFeedCredentials: 'DevDiv - VS package feed' publishFeedCredentials: 'DevDiv - VS package feed'
@ -160,7 +155,7 @@ phases:
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

@ -116,7 +116,7 @@ jobs:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- ${{ if eq(parameters.enableMicrobuild, 'true') }}: - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- task: MicroBuildSigningPlugin@3 - task: MicroBuildSigningPlugin@4
displayName: Install MicroBuild plugin displayName: Install MicroBuild plugin
inputs: inputs:
signType: $(_SignType) signType: $(_SignType)
@ -124,6 +124,7 @@ jobs:
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
env: env:
TeamName: $(_TeamName) TeamName: $(_TeamName)
MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
continueOnError: ${{ parameters.continueOnError }} continueOnError: ${{ parameters.continueOnError }}
condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT')) condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))

View file

@ -80,14 +80,16 @@ jobs:
inputs: inputs:
targetType: inline targetType: inline
script: | script: |
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId) New-Item -Path "$(Build.StagingDirectory)/ReleaseConfigs" -ItemType Directory -Force
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)" $filePath = "$(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt"
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild) Add-Content -Path $filePath -Value $(BARBuildId)
Add-Content -Path $filePath -Value "$(DefaultChannels)"
Add-Content -Path $filePath -Value $(IsStableBuild)
- task: 1ES.PublishBuildArtifacts@1 - task: 1ES.PublishBuildArtifacts@1
displayName: Publish ReleaseConfigs Artifact displayName: Publish ReleaseConfigs Artifact
inputs: inputs:
PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs.txt' PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs'
PublishLocation: Container PublishLocation: Container
ArtifactName: ReleaseConfigs ArtifactName: ReleaseConfigs

View file

@ -137,6 +137,7 @@ stages:
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
name: AzurePipelines-EO name: AzurePipelines-EO
image: 1ESPT-Windows2022
demands: Cmd demands: Cmd
os: windows os: windows
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng
@ -251,6 +252,7 @@ stages:
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com) # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}: ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
name: AzurePipelines-EO name: AzurePipelines-EO
image: 1ESPT-Windows2022
demands: Cmd demands: Cmd
os: windows os: windows
# If it's not devdiv, it's dnceng # If it's not devdiv, it's dnceng

View file

@ -1,5 +1,6 @@
trigger: none trigger: none
pr: none pr: none
resources: resources:
pipelines: pipelines:
- pipeline: installer-build-resource - pipeline: installer-build-resource
@ -17,10 +18,25 @@ resources:
- internal/release/6.0.4xx - internal/release/6.0.4xx
stages: stages:
- build - build
repositories:
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
extends:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
sdl:
sourceAnalysisPool:
name: NetCore1ESPool-Svc-Internal
image: 1es-windows-2022
os: windows
customBuildTags:
- ES365AIMigrationTooling
stages: stages:
- stage: build - stage: build
jobs: jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml@self
parameters: parameters:
installerBuildResourceId: installer-build-resource installerBuildResourceId: installer-build-resource

View file

@ -1,14 +0,0 @@
trigger: none
pr: none
resources:
pipelines:
- pipeline: installer-build-resource
source: installer
trigger: none
stages:
- stage: build
jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
parameters:
installerBuildResourceId: installer-build-resource

View file

@ -11,7 +11,7 @@
"cmake": "3.16.4" "cmake": "3.16.4"
}, },
"msbuild-sdks": { "msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.24163.13", "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.24176.9",
"Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.24163.13" "Microsoft.DotNet.CMake.Sdk": "6.0.0-beta.24176.9"
} }
} }

View file

@ -0,0 +1,223 @@
# Builds a source-build tarball
parameters:
# Architecture to build
architecture:
# Custom condition to apply to the job
condition:
# Dependent jobs that must be completed before this job will run
dependsOn:
# Skip running the SDK content smoke-tests
excludeSdkContentTests: false
# Resource id of the installer build to retrieve source/product tarball's from
installerBuildResourceId:
# Matrix to run jobs over
matrix:
# Job name
name:
# Agent pool to use
pool:
# Build using the previous source-build artifacts
usePreviousArtifacts: false
jobs:
- job: ${{ parameters.name }}
condition: ${{ parameters.condition }}
dependsOn: ${{ parameters.dependsOn }}
pool: ${{ parameters.pool }}
strategy:
matrix: ${{ parameters.matrix }}
timeoutInMinutes: 300
variables:
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- group: AzureDevOps-Artifact-Feeds-Pats
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
- name: additionalBuildArgs
value: --with-sdk /tarball/.dotnet
- name: tarballDir
${{ if eq(parameters.installerBuildResourceId, '') }}:
value: $(Build.SourcesDirectory)
${{ else }}:
value: $(Build.StagingDirectory)/tarball
- name: installerSrcDir
${{ if eq(parameters.installerBuildResourceId, '') }}:
value: $(Build.SourcesDirectory)/src/installer
${{ else }}:
value: $(Build.SourcesDirectory)
workspace:
clean: all
steps:
- checkout: self
clean: true
- ${{ if ne(parameters.installerBuildResourceId, '') }}:
- download: ${{ parameters.installerBuildResourceId }}
artifact: BlobArtifacts
patterns: '**/dotnet-sdk-source*.tar.gz'
displayName: Download Source Tarball
- script: |
set -x
resourceIdPathSegment=
if [[ '${{ parameters.installerBuildResourceId }}' != 'current' ]]; then
resourceIdPathSegment='${{ parameters.installerBuildResourceId }}/'
fi
mkdir -p "$(tarballDir)"
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)"
eval rm -f "$tarballFilePath"
displayName: Extract Tarball
- script: cp $(installerSrcDir)/NuGet.config $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config
displayName: Copy Test NuGet Config
- ${{ if ne(parameters.excludeSdkContentTests, 'true') }}:
- download: ${{ parameters.installerBuildResourceId }}
artifact: BlobArtifacts
patterns: '**/dotnet-sdk-+([0-9]).+([0-9]).+([0-9])?(-@(preview|rc|rtm)*)-linux*-${{ parameters.architecture }}.tar.gz'
displayName: Download MSFT sdk Tarball
- ${{ if eq(parameters.usePreviousArtifacts, 'true') }}:
- download: current
artifact: $(_PreviousSourceBuildArtifact)
patterns: '*.tar.gz'
displayName: Download Previous Source Build Artifacts
- task: CopyFiles@2
displayName: Copy Previous Source Build Artifacts
inputs:
SourceFolder: $(PIPELINE.WORKSPACE)/$(_PreviousSourceBuildArtifact)
Contents: '*.tar.gz'
TargetFolder: $(tarballDir)/packages/archive/
- script: |
set -x
if [[ '${{ parameters.usePreviousArtifacts }}' != 'true' ]]; then
customPrepArgs=
if [[ '$(_BootstrapPrep)' == 'true' ]]; then
customPrepArgs='--bootstrap'
fi
docker run --rm -v $(tarballDir):/tarball -w /tarball $(_Container) ./prep.sh ${customPrepArgs}
else
mkdir $(tarballDir)/.dotnet
tarballFilePath="$(tarballDir)/packages/archive/dotnet-sdk-*.tar.gz"
eval tar -ozxf "$tarballFilePath" -C "$(tarballDir)/.dotnet"
eval rm -f "$tarballFilePath"
fi
displayName: Prep Tarball
- script: |
set -x
df -h
customRunArgs=
customBuildArgs=
if [[ '$(_RunOnline)' == 'true' ]]; then
customBuildArgs='--online'
else
customRunArgs='--network none'
fi
# See https://github.com/dotnet/source-build/issues/3712
if [[ '$(_OverrideDistroDisablingSha1)' == 'true' ]]; then
customRunArgs="$customRunArgs -e OPENSSL_ENABLE_SHA1_SIGNATURES=1"
fi
if [[ '$(_EnablePoison)' == 'true' ]]; then
customBuildArgs="$customBuildArgs --poison"
fi
docker run --rm -v $(tarballDir):/tarball -w /tarball ${customRunArgs} $(_Container) ./build.sh --clean-while-building ${customBuildArgs} $(additionalBuildArgs)
displayName: Build Tarball
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: Bash@3
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(installerSrcDir)/eng/common/SetupNugetSources.sh
arguments: $(tarballDir)/test/Microsoft.DotNet.SourceBuild.SmokeTests/assets/online.NuGet.Config $Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: |
set -x
dockerVolumeArgs="-v $(tarballDir):/tarball"
dockerEnvArgs="-e SMOKE_TESTS_EXCLUDE_OMNISHARP=$(_ExcludeOmniSharpTests) -e SMOKE_TESTS_WARN_SDK_CONTENT_DIFFS=true"
poisonArg=''
if [[ '${{ parameters.excludeSdkContentTests}}' != 'true' ]]; then
dockerVolumeArgs+=" -v $(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/:/BlobArtifacts"
platform="linux"
docker run --rm $(_Container) /bin/sh -c "cat /etc/os-release | grep -q alpine"
if [[ $? == 0 ]]; then
platform="$platform-musl"
fi
msftSdkTarballName=$(find "$(PIPELINE.WORKSPACE)/${{ parameters.installerBuildResourceId }}/BlobArtifacts/" -name "dotnet-sdk-*-$platform-${{ parameters.architecture }}.tar.gz" -exec basename {} \;)
dockerEnvArgs+=" -e SMOKE_TESTS_MSFT_SDK_TARBALL_PATH=/BlobArtifacts/$msftSdkTarballName"
fi
if [[ '$(_EnablePoison)' == 'true' ]]; then
poisonArg='--poison'
dockerEnvArgs+=" -e SMOKE_TESTS_WARN_POISON_DIFFS=true"
fi
docker run --rm $dockerVolumeArgs -w /tarball $dockerEnvArgs $(_Container) ./build.sh $poisonArg --run-smoke-test $(additionalBuildArgs) -- /p:SmokeTestConsoleVerbosity=detailed
displayName: Run Tests
# Don't use CopyFiles@2 as it encounters permissions issues because it indexes all files in the source directory graph.
- script: |
set -x
targetFolder=$(Build.StagingDirectory)/BuildLogs/
mkdir -p ${targetFolder}
cd "$(tarballDir)"
find artifacts/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find artifacts/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
find artifacts/prebuilt-report/ -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find src/ -type f -name "*.log" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "*.binlog" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.diff" -exec cp {} --parents -t ${targetFolder} \;
find test/ -type f -name "Updated*.txt" -exec cp {} --parents -t ${targetFolder} \;
displayName: Prepare BuildLogs staging directory
continueOnError: true
condition: succeededOrFailed()
- publish: '$(Build.StagingDirectory)/BuildLogs'
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs
continueOnError: true
condition: succeededOrFailed()
- task: PublishTestResults@2
displayName: Publish Test Results
condition: succeededOrFailed()
continueOnError: true
inputs:
testRunner: vSTest
testResultsFiles: 'test/**/*.trx'
searchFolder: $(tarballDir)
mergeTestResults: true
publishRunAttachments: true
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
- publish: '$(tarballDir)/artifacts/${{ parameters.architecture}}/Release/'
artifact: $(Agent.JobName)_Artifacts
displayName: Publish Artifacts
condition: succeededOrFailed()
continueOnError: true

View file

@ -198,9 +198,11 @@ jobs:
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()
- publish: '$(Build.StagingDirectory)/BuildLogs' - task: 1ES.PublishPipelineArtifact@1
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs displayName: Publish BuildLogs
inputs:
targetPath: $(Build.StagingDirectory)/BuildLogs
artifactName: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()
@ -216,8 +218,10 @@ jobs:
publishRunAttachments: true publishRunAttachments: true
testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName) testRunTitle: SourceBuild_SmokeTests_$(Agent.JobName)
- publish: '$(tarballDir)/artifacts/${{ parameters.architecture}}/Release/' - task: 1ES.PublishPipelineArtifact@1
artifact: $(Agent.JobName)_Artifacts
displayName: Publish Artifacts displayName: Publish Artifacts
condition: succeededOrFailed() inputs:
targetPath: $(tarballDir)/artifacts/${{ parameters.architecture}}/Release/
artifactName: $(Agent.JobName)_Artifacts
continueOnError: true continueOnError: true
condition: succeededOrFailed()

View file

@ -0,0 +1,85 @@
# Creates a source-build tarball
jobs:
- job: Source_Build_Create_Tarball
container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38
displayName: Source-Build Create Tarball
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ else }}:
name: NetCore-Svc-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
name: NetCore1ESPool-Internal-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
${{ else }}:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
variables:
- name: _BuildConfig
value: Release
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- group: DotNet-Source-Build-All-Orgs-Source-Access
workspace:
clean: all
steps:
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: Bash@3
displayName: Setup Private Feeds Credentials
inputs:
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
env:
Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: |
set -x
df -h
officialBuildArgs=
if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then
officialBuildArgs='/p:OfficialBuildId=$(BUILD.BUILDNUMBER)'
fi
# If building on the internal project, the internal storage variable may be available (usually only if needed)
# In that case, add variables to allow the download of internal runtimes if the specified versions are not found
# in the default public locations.
internalRuntimeDownloadArgs=
if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
fi
./build.sh \
--ci \
--configuration $(_BuildConfig) \
--publish \
-bl \
$officialBuildArgs \
$internalRuntimeDownloadArgs \
/p:DotNetPublishUsingPipelines=true \
/p:ArcadeBuildTarball=true \
/p:AzDoPat=$(dn-bot-all-orgs-build-rw-code-rw)
displayName: Create Tarball
- task: CopyFiles@2
displayName: Prepare BuildLogs staging directory
inputs:
Contents: |
**/*.log
**/*.binlog
TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
CleanTargetFolder: true
continueOnError: true
condition: succeededOrFailed()
- publish: '$(Build.StagingDirectory)/BuildLogs'
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs
continueOnError: true
condition: succeededOrFailed()

View file

@ -2,23 +2,27 @@
jobs: jobs:
- job: Source_Build_Create_Tarball - job: Source_Build_Create_Tarball
container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38 container: fedora38
displayName: Source-Build Create Tarball displayName: Source-Build Create Tarball
pool: pool:
${{ if eq(variables['System.TeamProject'], 'public') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}: ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
name: NetCore-Public-XL name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open image: 1es-ubuntu-2004-open
os: linux
${{ else }}: ${{ else }}:
name: NetCore-Svc-Public name: NetCore-Svc-Public
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') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}: ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
name: NetCore1ESPool-Internal-XL name: NetCore1ESPool-Internal-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
${{ else }}: ${{ else }}:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
variables: variables:
- name: _BuildConfig - name: _BuildConfig
@ -78,8 +82,10 @@ jobs:
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()
- publish: '$(Build.StagingDirectory)/BuildLogs' - task: 1ES.PublishPipelineArtifact@1
artifact: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
displayName: Publish BuildLogs displayName: Publish BuildLogs
inputs:
targetPath: $(Build.StagingDirectory)/BuildLogs
artifactName: $(Agent.JobName)_BuildLogs_Attempt$(System.JobAttempt)
continueOnError: true continueOnError: true
condition: succeededOrFailed() condition: succeededOrFailed()

View file

@ -0,0 +1,132 @@
# Builds a source-build tarball
parameters:
# Dependent jobs that must be completed before this job will run
dependsOn:
# Resource id of the installer build to retrieve source/product tarball's from
installerBuildResourceId: current
# The following parameters aren't expected to be passed in rather they are used for encapsulation
# -----------------------------------------------------------------------------------------------
alpine317Container: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.17
centOS7Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build
centOSStream9Container: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream9
debian11Arm64Container: mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-arm64v8
fedora38Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-38
ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04
poolInternalAmd64:
name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
poolInternalAmd64PR:
name: NetCore1ESPool-Internal-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
poolInternalArm64:
name: Docker-Linux-Arm-Internal
poolPublicAmd64:
name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball-pr.yml
parameters:
architecture: x64
dependsOn: ${{ parameters.dependsOn }}
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
Alpine317-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.alpine317Container }}
_ExcludeOmniSharpTests: true
_OverrideDistroDisablingSha1: false
_RunOnline: false
CentOS7-Online:
_BootstrapPrep: false
_Container: ${{ parameters.centOS7Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_OverrideDistroDisablingSha1: false
_RunOnline: true
${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
CentOS7-Offline:
_BootstrapPrep: false
_Container: ${{ parameters.centOS7Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: true
_OverrideDistroDisablingSha1: false
_RunOnline: false
CentOSStream9-Offline:
_BootstrapPrep: false
_Container: ${{ parameters.centOSStream9Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_OverrideDistroDisablingSha1: true
_RunOnline: false
Fedora38-Offline:
_BootstrapPrep: false
_Container: ${{ parameters.fedora38Container }}
_EnablePoison: true
_ExcludeOmniSharpTests: false
_OverrideDistroDisablingSha1: false
_RunOnline: false
Ubuntu1804-Offline:
_BootstrapPrep: false
_Container: ${{ parameters.ubuntu1804Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_OverrideDistroDisablingSha1: false
_RunOnline: false
name: Build_Tarball_x64
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ parameters.poolPublicAmd64 }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
${{ parameters.poolInternalAmd64PR }}
${{ else }}:
${{ parameters.poolInternalAmd64 }}
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball-pr.yml
parameters:
architecture: arm64
dependsOn: ${{ parameters.dependsOn }}
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
Debian11-Offline:
_BootstrapPrep: true
_Container: ${{ parameters.debian11Arm64Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_OverrideDistroDisablingSha1: false
_RunOnline: false
name: Build_Tarball_arm64
pool: ${{ parameters.poolInternalArm64 }}
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball-pr.yml
parameters:
architecture: x64
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete assessment of the build status.
# The bootstrap build will shortcut if the stage 1 build failed.
condition: succeededOrFailed()
dependsOn: Build_Tarball_x64
excludeSdkContentTests: true
installerBuildResourceId: ${{ parameters.installerBuildResourceId }}
matrix:
Fedora38-Offline:
_PreviousSourceBuildArtifact: Build_Tarball_x64 Fedora38-Offline_Artifacts
_Container: ${{ parameters.fedora38Container }}
_EnablePoison: false
_ExcludeOmniSharpTests: false
_OverrideDistroDisablingSha1: false
_RunOnline: false
name: Build_Tarball_x64_Using_Previous
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
${{ parameters.poolPublicAmd64 }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
${{ parameters.poolInternalAmd64 }}
usePreviousArtifacts: true

View file

@ -17,15 +17,21 @@ parameters:
ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04 ubuntu1804Container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04
poolInternalAmd64: poolInternalAmd64:
name: NetCore1ESPool-Svc-Internal name: NetCore1ESPool-Svc-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
poolInternalAmd64PR: poolInternalAmd64PR:
name: NetCore1ESPool-Internal-XL name: NetCore1ESPool-Internal-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 image: 1es-ubuntu-2004
os: linux
poolInternalArm64: poolInternalArm64:
name: Docker-Linux-Arm-Internal name: Docker-Linux-Arm-Internal
image: Mariner-2-Docker-ARM64
os: linux
hostArchitecture: Arm64
poolPublicAmd64: poolPublicAmd64:
name: NetCore-Public-XL name: NetCore-Public-XL
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open image: 1es-ubuntu-2004-open
os: linux
jobs: jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
@ -109,7 +115,7 @@ jobs:
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml - template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-build-tarball.yml
parameters: parameters:
architecture: x64 architecture: x64
# Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete accessment of the build status. # Always attempt to run the bootstrap leg (e.g. even when stage 1 tests fail) in order to get a complete assessment of the build status.
# The bootstrap build will shortcut if the stage 1 build failed. # The bootstrap build will shortcut if the stage 1 build failed.
condition: succeededOrFailed() condition: succeededOrFailed()
dependsOn: Build_Tarball_x64 dependsOn: Build_Tarball_x64

View file

@ -101,6 +101,7 @@ namespace Microsoft.DotNet.Build.Tasks
// -a : architecture --JSON // -a : architecture --JSON
// -d : is for all dependent packages. This can be used multiple times to specify the dependencies of the package. --JSON // -d : is for all dependent packages. This can be used multiple times to specify the dependencies of the package. --JSON
// --rpm-os : the operating system to target this rpm --Static // --rpm-os : the operating system to target this rpm --Static
// --rpm-digest : rpm digest algorithm --Static
// --rpm-changelog : the changelog from FILEPATH contents --ARG // --rpm-changelog : the changelog from FILEPATH contents --ARG
// --rpm-summary : it is the RPM summary that shows in the Title --JSON // --rpm-summary : it is the RPM summary that shows in the Title --JSON
// --description : it is the description for the package --JSON // --description : it is the description for the package --JSON
@ -157,6 +158,7 @@ namespace Microsoft.DotNet.Build.Tasks
} }
parameters.Add("--rpm-os linux"); parameters.Add("--rpm-os linux");
parameters.Add("--rpm-digest sha256");
parameters.Add(string.Concat("--rpm-changelog ", parameters.Add(string.Concat("--rpm-changelog ",
EscapeArg(Path.Combine(InputDir, "templates", "changelog")))); // Changelog File EscapeArg(Path.Combine(InputDir, "templates", "changelog")))); // Changelog File
parameters.Add(string.Concat("--rpm-summary ", EscapeArg(configJson.Short_Description))); parameters.Add(string.Concat("--rpm-summary ", EscapeArg(configJson.Short_Description)));

View file

@ -40,61 +40,10 @@
--> -->
</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 Condition="!$(Architecture.StartsWith('arm'))">
<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.Wpf.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWpfProjectTemplates31PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<Bundled31Templates Include="Microsoft.Dotnet.WinForms.ProjectTemplates" PackageVersion="$(MicrosoftDotnetWinFormsProjectTemplates31PackageVersion)" Condition="'$(DotNetBuildFromSource)' != 'true'" />
<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'))">
<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="@(Bundled60Templates)" TemplateFrameworkVersion="6.0"/> <CurrentVersionBundledTemplates Include="@(Bundled60Templates)" TemplateFrameworkVersion="6.0"/>
</ItemGroup> </ItemGroup>
<ItemGroup>
<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>
<BundledTemplates Include="@(CurrentVersionBundledTemplates)" /> <BundledTemplates Include="@(CurrentVersionBundledTemplates)" />
<BundledTemplates Include="@(PreviousVersionBundledTemplates)" Condition="'$(DotNetBuildFromSource)' != 'true'" /> <BundledTemplates Include="@(PreviousVersionBundledTemplates)" Condition="'$(DotNetBuildFromSource)' != 'true'" />