diff --git a/Build.proj b/Build.proj
index 2f687610b4a93a..0957ae6846e573 100644
--- a/Build.proj
+++ b/Build.proj
@@ -1,6 +1,6 @@
-
+
diff --git a/Directory.Build.props b/Directory.Build.props
index ce5c6e9173bc81..2977184375269e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -17,39 +17,8 @@
false
-
- <_hostOS>linux
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows
- $(_hostOS)
- browser
- $(_hostOS)
- true
- true
-
-
-
-
- <_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)
- $(_hostArch)
- wasm
- wasm
- arm
- armv6
- armel
- arm64
- loongarch64
- s390x
- ppc64le
- x64
- x64
- $(TargetArchitecture)
-
+
+
-
-
-
- <_portableOS>$(TargetOS.ToLowerInvariant())
- <_portableOS Condition="'$(_portableOS)' == 'windows'">win
-
-
- <_portableOS Condition="'$(_portableOS)' == 'anyos'">$(__PortableTargetOS)
-
-
- <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-musl'">linux-musl
- <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-bionic'">linux-bionic
-
-
- <_portableOS Condition="'$(HostOS)' == 'win' and '$(TargetsMobile)' != 'true'">win
-
-
-
-
- <_packageOS>$(_portableOS)
-
- <_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic' and '$(_portableOS)' != 'android'">$(_hostOS)
-
-
- $(PackageOS)-$(TargetArchitecture)
- $(_packageOS)-$(TargetArchitecture)
-
-
-
-
-
- <_portableHostOS>$(_hostOS)
- <_portableHostOS Condition="'$(_portableHostOS)' == 'windows'">win
- <_portableHostOS Condition="'$(CrossBuild)' != 'true' and '$(_portableOS)' == 'linux-musl'">linux-musl
-
-
- $(ToolsOS)-$(_hostArch)
- $(_portableHostOS)-$(_hostArch)
-
-
- $(ToolsRID)
-
-
-
-
- <_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)
- <_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)
-
- <_parseDistroRid>$(__DistroRid)
- <_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid)
- <_distroRidIndex>$(_parseDistroRid.LastIndexOf('-'))
-
- <_outputOS>$(_parseDistroRid.SubString(0, $(_distroRidIndex)))
- <_outputOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)
-
- $(_outputOS)-$(TargetArchitecture)
-
-
-
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
- true
-
+
$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'microsoft.netcore.app.ref'))
diff --git a/eng/DotNetBuild.props b/eng/DotNetBuild.props
index 75cfd1acb039f5..3ccab6c8aba46c 100644
--- a/eng/DotNetBuild.props
+++ b/eng/DotNetBuild.props
@@ -105,6 +105,14 @@
$(InnerBuildArgs) /p:NetCoreAppToolCurrentVersion=$(NetCoreAppToolCurrentVersion)
+
+
+ $(InnerBuildArgs) /p:EnableDefaultArtifacts=false
diff --git a/eng/OSArch.props b/eng/OSArch.props
new file mode 100644
index 00000000000000..d1be0745175825
--- /dev/null
+++ b/eng/OSArch.props
@@ -0,0 +1,35 @@
+
+
+ <_hostOS>linux
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows
+ $(_hostOS)
+ browser
+ $(_hostOS)
+ true
+ true
+
+
+
+
+ <_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)
+ $(_hostArch)
+ wasm
+ wasm
+ arm
+ armv6
+ armel
+ arm64
+ loongarch64
+ s390x
+ ppc64le
+ x64
+ x64
+ $(TargetArchitecture)
+
+
\ No newline at end of file
diff --git a/eng/Publishing.props b/eng/Publishing.props
index da3d606ed683c4..1f986eff2e9c3e 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -1,155 +1,10 @@
-
-
+
true
false
-
- $(TargetArchitecture)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -168,15 +23,15 @@
This ensures that we don't produce these files in the "Repo source build" builds,
but we do produce them in both the VMR and the runtime official build.
-->
-
- <_ShouldGenerateProductVersionFiles Condition="'$(DotNetBuildRepo)' == 'true' and '$(DotNetBuildOrchestrator)' == 'true'">true
- <_ShouldGenerateProductVersionFiles Condition="'$(DotNetBuildRepo)' != 'true' and '$(DotNetBuildOrchestrator)' != 'true'">true
+
+ true
+ true
+ Condition="'$(ShouldGenerateProductVersionFiles)' == 'true'">
-
-
-
-
-
-
-
-
-
diff --git a/eng/RuntimeIdentifier.props b/eng/RuntimeIdentifier.props
new file mode 100644
index 00000000000000..9ebd5e65194874
--- /dev/null
+++ b/eng/RuntimeIdentifier.props
@@ -0,0 +1,100 @@
+
+
+ false
+ true
+
+
+
+
+
+
+ <_portableOS>$(TargetOS.ToLowerInvariant())
+ <_portableOS Condition="'$(_portableOS)' == 'windows'">win
+
+
+ <_portableOS Condition="'$(_portableOS)' == 'anyos'">$(__PortableTargetOS)
+
+
+ <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-musl'">linux-musl
+ <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-bionic'">linux-bionic
+
+
+ <_portableOS Condition="'$(HostOS)' == 'win' and '$(TargetsMobile)' != 'true'">win
+
+
+
+
+ <_packageOS>$(_portableOS)
+
+ <_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic' and '$(_portableOS)' != 'android'">$(_hostOS)
+
+
+ $(PackageOS)-$(TargetArchitecture)
+ $(_packageOS)-$(TargetArchitecture)
+
+
+
+
+
+ <_portableHostOS>$(_hostOS)
+ <_portableHostOS Condition="'$(_portableHostOS)' == 'windows'">win
+ <_portableHostOS Condition="'$(CrossBuild)' != 'true' and '$(_portableOS)' == 'linux-musl'">linux-musl
+
+
+ $(ToolsOS)-$(_hostArch)
+ $(_portableHostOS)-$(_hostArch)
+
+
+ $(ToolsRID)
+
+
+
+
+ <_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)
+ <_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)
+
+ <_parseDistroRid>$(__DistroRid)
+ <_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid)
+ <_distroRidIndex>$(_parseDistroRid.LastIndexOf('-'))
+
+ <_outputOS>$(_parseDistroRid.SubString(0, $(_distroRidIndex)))
+ <_outputOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)
+
+ $(_outputOS)-$(TargetArchitecture)
+
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+
\ No newline at end of file
diff --git a/eng/Signing.props b/eng/Signing.props
index c1ff2d8ba476b0..6b6b0d73a3c5d6 100644
--- a/eng/Signing.props
+++ b/eng/Signing.props
@@ -1,6 +1,26 @@
+
+
+
- false
+
+ false
+ true
+ false
+
+ true
@@ -14,6 +34,9 @@
+
+
+
@@ -27,10 +50,10 @@
-
@@ -38,37 +61,121 @@
-
-
-
-
-
-
-
-
-
+
%(FullPath).sha512
-
-
-
-
+
-
\ No newline at end of file
+
+
+
+
+
+ <_HostArtifact Include="$(ArtifactsPackagesDir)**\runtime.*.Microsoft.NETCore.ILAsm.*.nupkg"
+ Exclude="$(ArtifactsPackagesDir)**\runtime.$(OutputRID).Microsoft.NETCore.ILAsm.*.nupkg" />
+
+ <_HostArtifact Include="$(ArtifactsPackagesDir)**\runtime.*.Microsoft.NETCore.ILDAsm.*.nupkg"
+ Exclude="$(ArtifactsPackagesDir)**\runtime.$(OutputRID).Microsoft.NETCore.ILDAsm.*.nupkg" />
+
+ <_HostArtifact Include="$(ArtifactsPackagesDir)**\runtime.*.Microsoft.DotNet.ILCompiler.*.nupkg"
+ Exclude="$(ArtifactsPackagesDir)**\runtime.$(OutputRID).Microsoft.DotNet.ILCompiler.*.nupkg" />
+
+ <_HostArtifact Include="$(ArtifactsPackagesDir)**\Microsoft.NETCore.App.Crossgen2.*.nupkg"
+ Exclude="$(ArtifactsPackagesDir)**\Microsoft.NETCore.App.Crossgen2.$(OutputRID).*.nupkg" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml
index 6bdd96038acf75..6cbc0c09eeda37 100644
--- a/eng/pipelines/common/global-build-job.yml
+++ b/eng/pipelines/common/global-build-job.yml
@@ -52,6 +52,8 @@ jobs:
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
enablePublishTestResults: ${{ parameters.enablePublishTestResults }}
testResultsFormat: ${{ parameters.testResultsFormat }}
+ enableMicrobuild: ${{ parameters.isOfficialBuild }}
+ enableMicrobuildForMacAndLinux: ${{ parameters.isOfficialBuild }}
${{ if ne(parameters.templateContext, '') }}:
templateContext: ${{ parameters.templateContext }}
@@ -89,6 +91,12 @@ jobs:
value: -os ${{ parameters.osGroup }}
- name: _archParameter
value: -arch ${{ parameters.archType }}
+
+ - name: _AssetManifestName
+ value: ${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.nameSuffix }}
+
+ - name: _SignType
+ value: $[ coalesce(variables.OfficialSignType, 'real') ]
- ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubGroup, '_bionic')) }}:
- name: _osParameter
@@ -123,7 +131,7 @@ jobs:
- name: _officialBuildParameter
${{ if eq(parameters.isOfficialBuild, true) }}:
- value: /p:OfficialBuildId=$(Build.BuildNumber)
+ value: /p:OfficialBuildId=$(Build.BuildNumber) /p:DotNetPublishUsingPipelines=true /p:SignType=$(_SignType) /p:DotNetSignType=$(_SignType)
${{ if ne(parameters.isOfficialBuild, true) }}:
value: ''
diff --git a/eng/pipelines/common/macos-sign-with-entitlements.yml b/eng/pipelines/common/macos-sign-with-entitlements.yml
deleted file mode 100644
index 72a03b90f340d6..00000000000000
--- a/eng/pipelines/common/macos-sign-with-entitlements.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-parameters:
- filesToSign: []
- timeoutInMinutes: '30'
-
-steps:
- - task: UseDotNet@2
- displayName: Install .NET 6 SDK for signing.
- inputs:
- packageType: 'sdk'
- version: '6.0.x'
- installationPath: '$(Agent.TempDirectory)/dotnet'
-
- - ${{ each file in parameters.filesToSign }}:
- - task: CopyFiles@2
- displayName: 'Copy entitled file ${{ file.name }}'
- inputs:
- contents: '${{ file.path }}/${{ file.name }}'
- targetFolder: '$(Build.ArtifactStagingDirectory)/mac_entitled'
- overWrite: true
-
- - task: ArchiveFiles@2
- displayName: 'Zip MacOS files for signing'
- inputs:
- rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/mac_entitled'
- archiveFile: '$(Build.ArtifactStagingDirectory)/mac_entitled_to_sign.zip'
- archiveType: zip
- includeRootFolder: true
- replaceExistingArchive: true
-
- - task: EsrpCodeSigning@5
- displayName: 'ESRP CodeSigning'
- inputs:
- ConnectedServiceName: 'DotNet-Engineering-Services_KeyVault'
- AppRegistrationClientId: '28ec6507-2167-4eaa-a294-34408cf5dd0e'
- AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47'
- AuthAKVName: 'EngKeyVault'
- AuthCertName: 'DotNetCore-ESRP-AuthCert'
- AuthSignCertName: 'DotNetCore-ESRP-AuthSignCert'
- FolderPath: '$(Build.ArtifactStagingDirectory)/'
- Pattern: 'mac_entitled_to_sign.zip'
- UseMinimatch: true
- signConfigType: inlineSignParams
- inlineOperation: |
- [
- {
- "keyCode": "CP-401337-Apple",
- "operationCode": "MacAppDeveloperSign",
- "parameters" : {
- "hardening": "Enable"
- },
- "toolName": "sign",
- "toolVersion": "1.0"
- }
- ]
- SessionTimeout: ${{ parameters.timeoutInMinutes }}
- MaxConcurrency: '50'
- MaxRetryAttempts: '5'
- PendingAnalysisWaitTimeoutMinutes: '5'
- env:
- DOTNET_MULTILEVEL_LOOKUP: 0
- DOTNET_ROOT: '$(Agent.TempDirectory)/dotnet'
- DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: '$(Agent.TempDirectory)/dotnet'
-
- - task: ExtractFiles@1
- displayName: 'Extract MacOS after signing'
- inputs:
- archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/mac_entitled_to_sign.zip'
- destinationFolder: '$(Build.ArtifactStagingDirectory)/mac_entitled_signed'
-
- - ${{ each file in parameters.filesToSign }}:
- - task: CopyFiles@2
- displayName: 'Copy ${{ file.name }} to destination'
- inputs:
- contents: ${{ file.name }}
- sourceFolder: '$(Build.ArtifactStagingDirectory)/mac_entitled_signed'
- targetFolder: '${{ file.path }}'
- overWrite: true
diff --git a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
index db0ab302b43545..d5f50ad4dfc973 100644
--- a/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
+++ b/eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml
@@ -28,7 +28,6 @@ parameters:
displayName: ''
timeoutInMinutes: ''
enableMicrobuild: ''
- gatherAssetManifests: false
shouldContinueOnError: false
steps:
diff --git a/eng/pipelines/common/templates/runtimes/build-runtime-tests.yml b/eng/pipelines/common/templates/runtimes/build-runtime-tests.yml
index a822ccf28fd288..1b1660693d6e03 100644
--- a/eng/pipelines/common/templates/runtimes/build-runtime-tests.yml
+++ b/eng/pipelines/common/templates/runtimes/build-runtime-tests.yml
@@ -11,7 +11,6 @@ parameters:
displayName: ''
timeoutInMinutes: ''
enableMicrobuild: ''
- gatherAssetManifests: false
shouldContinueOnError: false
diff --git a/eng/pipelines/common/templates/runtimes/xplat-job.yml b/eng/pipelines/common/templates/runtimes/xplat-job.yml
index e22f8f968c4790..3b7dfa334ed259 100644
--- a/eng/pipelines/common/templates/runtimes/xplat-job.yml
+++ b/eng/pipelines/common/templates/runtimes/xplat-job.yml
@@ -18,7 +18,6 @@ parameters:
displayName: ''
timeoutInMinutes: ''
enableMicrobuild: ''
- gatherAssetManifests: false
disableComponentGovernance: ''
templatePath: 'templates'
@@ -69,11 +68,6 @@ jobs:
${{ else }}:
disableComponentGovernance: ${{ parameters.disableComponentGovernance }}
- # Setting this results in the arcade job template including a step
- # that gathers asset manifests and publishes them to pipeline
- # storage. Only relevant for build jobs.
- enablePublishBuildAssets: ${{ parameters.gatherAssetManifests }}
-
artifacts:
publish:
${{ if ne(parameters.logsName, '') }}:
diff --git a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml b/eng/pipelines/official/jobs/prepare-signed-artifacts.yml
deleted file mode 100644
index 1440a7a1dfdc35..00000000000000
--- a/eng/pipelines/official/jobs/prepare-signed-artifacts.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-parameters:
- PublishRidAgnosticPackagesFromPlatform: ''
- isOfficialBuild: false
- logArtifactName: 'Logs-PrepareSignedArtifacts_Attempt$(System.JobAttempt)'
-
-jobs:
-- template: /eng/common/templates-official/job/job.yml
- parameters:
- name: 'PrepareSignedArtifacts'
- displayName: 'Prepare Signed Artifacts'
-
- pool:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals 1es-windows-2022
-
- # Double the default timeout.
- timeoutInMinutes: 240
-
- workspace:
- clean: all
-
- enableMicrobuild: true
-
- variables:
- - name: '_SignType'
- value: $[ coalesce(variables.OfficialSignType, 'real') ]
-
- templateContext:
- inputs:
- - input: checkout
- repository: self
- clean: true
- fetchDepth: 20
- - input: pipelineArtifact
- artifactName: IntermediateArtifacts
- targetPath: $(Build.SourcesDirectory)\artifacts\PackageDownload\IntermediateArtifacts
- outputs:
- - output: pipelineArtifact
- displayName: 'Publish BuildLogs'
- condition: succeededOrFailed()
- targetPath: '$(Build.StagingDirectory)\BuildLogs'
- artifactName: ${{ parameters.logArtifactName }}
-
- steps:
- - script: >-
- build.cmd -restore -sign -publish -ci -configuration Release
- /p:RestoreToolsetOnly=true
- /p:PublishRidAgnosticPackagesFromPlatform=${{ parameters.PublishRidAgnosticPackagesFromPlatform }}
- /p:DownloadDirectory=$(Build.SourcesDirectory)\artifacts\PackageDownload\
- /p:OfficialBuildId=$(Build.BuildNumber)
- /p:SignType=$(_SignType)
- /p:DotNetSignType=$(_SignType)
- /p:DotNetPublishUsingPipelines=true
- /bl:$(Build.SourcesDirectory)\prepare-artifacts.binlog
- displayName: Prepare artifacts and upload to build
-
- - task: CopyFiles@2
- displayName: Copy Files to $(Build.StagingDirectory)\BuildLogs
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)'
- Contents: |
- **/*.log
- **/*.binlog
- TargetFolder: '$(Build.StagingDirectory)\BuildLogs'
- continueOnError: true
- condition: succeededOrFailed()
\ No newline at end of file
diff --git a/eng/pipelines/official/stages/publish.yml b/eng/pipelines/official/stages/publish.yml
deleted file mode 100644
index 83b059ffc32a65..00000000000000
--- a/eng/pipelines/official/stages/publish.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-parameters:
- PublishRidAgnosticPackagesFromPlatform: windows_x64
-
-stages:
-
-- stage: PrepareForPublish
- displayName: Prepare for Publish
- variables:
- - template: /eng/common/templates-official/variables/pool-providers.yml
- jobs:
- # Prep artifacts: sign them and upload pipeline artifacts expected by stages-based publishing.
- - template: /eng/pipelines/official/jobs/prepare-signed-artifacts.yml
- parameters:
- PublishRidAgnosticPackagesFromPlatform: ${{ parameters.PublishRidAgnosticPackagesFromPlatform }}
-
- # Publish to Build Asset Registry in order to generate the ReleaseConfigs artifact.
- - template: /eng/common/templates-official/job/publish-build-assets.yml
- parameters:
- publishUsingPipelines: true
- publishAssetsImmediately: true
- dependsOn: PrepareSignedArtifacts
- pool:
- name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals 1es-windows-2022
- symbolPublishingAdditionalParameters: '/p:PublishSpecialClrFiles=true'
-
-# Stages-based publishing entry point
-- template: /eng/common/templates-official/post-build/post-build.yml
- parameters:
- validateDependsOn:
- - PrepareForPublish
- # The following checks are run after the build in the validation and release pipelines
- # And thus are not enabled here. They can be enabled for dev builds for spot testing if desired
- enableSymbolValidation: false
- enableSigningValidation: false
- enableNugetValidation: false
- enableSourceLinkValidation: false
- publishAssetsImmediately: true
- SDLValidationParameters:
- enable: false
- artifactNames:
- - PackageArtifacts
- - BlobArtifacts
- params: >-
- -SourceToolsList @("policheck","credscan")
- -TsaInstanceURL "$(TsaInstanceURL)"
- -TsaProjectName "$(TsaProjectName)"
- -TsaNotificationEmail "$(TsaNotificationEmail)"
- -TsaCodebaseAdmin "$(TsaCodebaseAdmin)"
- -TsaBugAreaPath "$(TsaBugAreaPath)"
- -TsaIterationPath "$(TsaIterationPath)"
- -TsaRepositoryName "$(TsaRepositoryName)"
- -TsaCodebaseName "$(TsaCodebaseName)"
- -TsaPublish $True
- symbolPublishingAdditionalParameters: '/p:PublishSpecialClrFiles=true'
- # Publish to blob storage.
- publishInstallersAndChecksums: true
diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml
index 03c4308e13aebf..e581348a11eb80 100644
--- a/eng/pipelines/runtime-official.yml
+++ b/eng/pipelines/runtime-official.yml
@@ -72,6 +72,8 @@ extends:
variables:
- name: _SignDiagnosticFilesArgs
value: ''
+ - name: _EnableDefaultArtifactsArg
+ value: $[iif(and(eq(variables.osGroup, 'windows'), eq(variables.archType, 'x64')),'/p:EnableDefaultArtifacts=true','')]
jobParameters:
templatePath: 'templates-official'
preBuildSteps:
@@ -84,7 +86,7 @@ extends:
vaultName: 'clrdiag-esrp-id'
azureSubscription: 'diagnostics-esrp-kvcertuser'
- buildArgs: -c $(_BuildConfig) /p:DotNetBuildAllRuntimePacks=true $(_SignDiagnosticFilesArgs)
+ buildArgs: -c $(_BuildConfig) -restore -build -sign -publish /p:DotNetBuildAllRuntimePacks=true $(_SignDiagnosticFilesArgs) $(_EnableDefaultArtifactsArg)
nameSuffix: AllRuntimes
isOfficialBuild: ${{ variables.isOfficialBuild }}
timeoutInMinutes: 120
@@ -93,64 +95,8 @@ extends:
parameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
- # Upload the results.
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: $(osGroup)$(osSubgroup)_$(archType)
-
- #
- # Build all runtime packs
- # Mac x64/arm64
- # Sign and entitle createdump and corerun after native build.
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - osx_arm64
- - osx_x64
- jobParameters:
- templatePath: 'templates-official'
- buildArgs: -s clr.runtime+clr.alljits+clr.nativeaotruntime+host.native -c $(_BuildConfig) /bl:$(Build.SourcesDirectory)/artifacts/logs/$(_BuildConfig)/CoreClrNativeBuild.binlog
- nameSuffix: AllRuntimes
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- timeoutInMinutes: 120
- postBuildSteps:
- - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/pipelines/common/macos-sign-with-entitlements.yml
- parameters:
- filesToSign:
- - name: createdump
- path: $(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(_BuildConfig)
- - name: corerun
- path: $(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(_BuildConfig)
- - name: dotnet
- path: $(Build.SourcesDirectory)/artifacts/bin/$(osGroup)-$(archType).$(_BuildConfig)/corehost
- - name: apphost
- path: $(Build.SourcesDirectory)/artifacts/bin/$(osGroup)-$(archType).$(_BuildConfig)/corehost
-
- - task: CopyFiles@2
- displayName: 'Copy signed createdump to sharedFramework'
- inputs:
- contents: createdump
- sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(_BuildConfig)
- targetFolder: $(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).$(_BuildConfig)/sharedFramework
- overWrite: true
-
- # Now that we've entitled and signed createdump, we can build the rest.
- - template: /eng/pipelines/common/templates/global-build-step.yml
- parameters:
- buildArgs: -s clr.corelib+clr.nativecorelib+clr.nativeaotlibs+clr.tools+clr.packages+mono+libs+host.tools+host.pkg+packs -c $(_BuildConfig) /p:DotNetBuildAllRuntimePacks=true
- displayName: Build managed CoreCLR and host components, Mono, all libraries, and packs
-
- # Upload the results.
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: $(osGroup)$(osSubgroup)_$(archType)
-
#
- # Build all runtime packs for Linux and Linux musl
+ # Build all runtime packs for MacOS, Linux, Linux musl, and mobile
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
@@ -163,17 +109,31 @@ extends:
- linux_musl_x64
- linux_musl_arm
- linux_musl_arm64
+ - osx_arm64
+ - osx_x64
+ - android_x64
+ - android_x86
+ - android_arm
+ - android_arm64
+ - maccatalyst_x64
+ - maccatalyst_arm64
+ - tvossimulator_x64
+ - tvossimulator_arm64
+ - tvos_arm64
+ - iossimulator_x64
+ - iossimulator_arm64
+ - ios_arm64
+ - linux_bionic_x64
+ - linux_bionic_arm
+ - linux_bionic_arm64
+ - browser_wasm
+ - wasi_wasm
jobParameters:
templatePath: 'templates-official'
- buildArgs: -c $(_BuildConfig) /p:DotNetBuildAllRuntimePacks=true
+ buildArgs: -c $(_BuildConfig) -restore -build -sign -publish /p:DotNetBuildAllRuntimePacks=true
nameSuffix: AllRuntimes
isOfficialBuild: ${{ variables.isOfficialBuild }}
timeoutInMinutes: 120
- postBuildSteps:
- # Upload the results.
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: $(osGroup)$(osSubgroup)_$(archType)
#
# Build and Pack CrossDac
@@ -194,11 +154,10 @@ extends:
- task: DownloadPipelineArtifact@2
displayName: Download runtime packs for CrossDac
inputs:
- artifact: 'IntermediateArtifacts'
+ artifact: 'PackageArtifacts'
path: $(Build.SourcesDirectory)/artifacts/RuntimeDownload
patterns: |
- IntermediateArtifacts/linux_*/Shipping/Microsoft.NETCore.App.Runtime.linux-*.nupkg
- !IntermediateArtifacts/linux_*/Shipping/Microsoft.NETCore.App.Runtime.linux-*.symbols.nupkg
+ PackageArtifacts/linux_*/Shipping/Microsoft.NETCore.App.Runtime.linux-*.nupkg
- powershell: $(Build.SourcesDirectory)/eng/extract-for-crossdac.ps1 -DownloadDirectory $(Build.SourcesDirectory)/artifacts/RuntimeDownload -ExtractDirectory $(CrossRuntimeExtractionRoot)
displayName: Extract runtime packs
- template: /eng/pipelines/coreclr/templates/install-diagnostic-certs.yml
@@ -213,11 +172,6 @@ extends:
- template: /eng/pipelines/coreclr/templates/remove-diagnostic-certs.yml
parameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
- # Save packages using the prepare-signed-artifacts format.
- # CrossDac packages are expected to be in the windows_x64 folder.
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: windows_x64
dependsOn:
- build_linux_x64_release_AllRuntimes
- build_linux_arm_release_AllRuntimes
@@ -231,73 +185,6 @@ extends:
- name: _SignDiagnosticFilesArgs
value: ''
- #
- # Build All runtime packs for mobile platforms
- #
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- platforms:
- - android_x64
- - android_x86
- - android_arm
- - android_arm64
- - maccatalyst_x64
- - maccatalyst_arm64
- - tvossimulator_x64
- - tvossimulator_arm64
- - tvos_arm64
- - iossimulator_x64
- - iossimulator_arm64
- - ios_arm64
- - linux_bionic_x64
- - linux_bionic_arm
- - linux_bionic_arm64
- jobParameters:
- templatePath: 'templates-official'
- buildArgs: -c $(_BuildConfig) /p:BuildMonoAOTCrossCompiler=false /p:DotNetBuildAllRuntimePacks=true
- nameSuffix: AllRuntimes
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- postBuildSteps:
- # delete duplicate RIDless packages to prevent upload conflict
- - task: DeleteFiles@1
- displayName: 'Delete Microsoft.NETCore.App.Ref and Microsoft.NETCore.App.HostModel package'
- inputs:
- SourceFolder: $(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/Shipping
- Contents: |
- 'Microsoft.NETCore.App.Ref.*.nupkg'
- 'Microsoft.NET.HostModel.*.nupkg'
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: MobileRuntimePacks
-
- - template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/global-build-job.yml
- buildConfig: release
- runtimeFlavor: mono
- platforms:
- - browser_wasm
- - wasi_wasm
- jobParameters:
- templatePath: 'templates-official'
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
- nameSuffix: Mono
- isOfficialBuild: ${{ variables.isOfficialBuild }}
- postBuildSteps:
- # delete duplicate RIDless packages to prevent upload conflict
- - task: DeleteFiles@1
- displayName: 'Delete Microsoft.NETCore.App.Ref and Microsoft.NETCore.App.HostModel package'
- inputs:
- SourceFolder: $(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/Shipping
- Contents: |
- 'Microsoft.NETCore.App.Ref.*.nupkg'
- 'Microsoft.NET.HostModel.*.nupkg'
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: MobileRuntimePacks
-
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
@@ -307,22 +194,10 @@ extends:
- browser_wasm
jobParameters:
templatePath: 'templates-official'
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:WasmEnableThreads=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
+ buildArgs: -c $(_BuildConfig) -restore -build -sign -publish /p:DotNetBuildAllRuntimePacks=true /p:WasmEnableThreads=true
nameSuffix: Mono_multithread
isOfficialBuild: ${{ variables.isOfficialBuild }}
runtimeVariant: multithread
- postBuildSteps:
- # delete duplicate RIDless packages to prevent upload conflict
- - task: DeleteFiles@1
- displayName: 'Delete Microsoft.NETCore.App.Ref and Microsoft.NETCore.App.HostModel package'
- inputs:
- SourceFolder: $(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/Shipping
- Contents: |
- 'Microsoft.NETCore.App.Ref.*.nupkg'
- 'Microsoft.NET.HostModel.*.nupkg'
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: MobileRuntimePacks
#
# Build Mono LLVM runtime packs
@@ -338,23 +213,11 @@ extends:
runtimeFlavor: mono
jobParameters:
templatePath: 'templates-official'
- buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
+ buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -restore -build -sign -publish
/p:MonoEnableLLVM=true /p:MonoAOTEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
nameSuffix: Mono_LLVMAOT
runtimeVariant: LLVMAOT
isOfficialBuild: ${{ variables.isOfficialBuild }}
- postBuildSteps:
- # delete duplicate RIDless packages to prevent upload conflict
- - task: DeleteFiles@1
- displayName: 'Delete Microsoft.NETCore.App.Ref and Microsoft.NETCore.App.HostModel package'
- inputs:
- SourceFolder: $(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)/Shipping
- Contents: |
- 'Microsoft.NETCore.App.Ref.*.nupkg'
- 'Microsoft.NET.HostModel.*.nupkg'
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: $(osGroup)$(osSubgroup)_$(archType)
#
# Build libraries (all TFMs) and packages
@@ -367,13 +230,9 @@ extends:
- windows_x64
jobParameters:
templatePath: 'templates-official'
- buildArgs: -s tools+libs -pack -c $(_BuildConfig) /p:TestAssemblies=false /p:TestPackages=true
+ buildArgs: -s tools+libs -restore -build -pack -sign -publish -c $(_BuildConfig) /p:TestAssemblies=false /p:TestPackages=true /p:EnableDefaultArtifacts=true
nameSuffix: Libraries_WithPackages
isOfficialBuild: ${{ variables.isOfficialBuild }}
- postBuildSteps:
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: Libraries_WithPackages
timeoutInMinutes: 95
#
# Build SourceBuild packages
@@ -401,13 +260,9 @@ extends:
- linux_arm64
jobParameters:
templatePath: 'templates-official'
- buildArgs: -s clr.native+clr.corelib+clr.tools+clr.nativecorelib+libs+host+packs -c $(_BuildConfig) -pgoinstrument /p:SkipLibrariesNativeRuntimePackages=true
+ buildArgs: -s clr.native+clr.corelib+clr.tools+clr.nativecorelib+libs+host+packs -c $(_BuildConfig) -restore -build -sign -publish -pgoinstrument /p:SkipLibrariesNativeRuntimePackages=true
isOfficialBuild: ${{ variables.isOfficialBuild }}
nameSuffix: PGO
- postBuildSteps:
- - template: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
- parameters:
- name: PGO
timeoutInMinutes: 95
#
@@ -425,83 +280,41 @@ extends:
preBuildSteps:
- task: DownloadPipelineArtifact@2
inputs:
- artifact: 'IntermediateArtifacts'
+ artifact: 'PackageArtifacts'
path: $(Build.SourcesDirectory)/artifacts/workloadPackages
patterns: |
- IntermediateArtifacts/windows_x64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-*.nupkg
- IntermediateArtifacts/windows_arm64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-*.nupkg
- IntermediateArtifacts/windows_x64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm*.nupkg
- IntermediateArtifacts/windows_arm64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm*.nupkg
- IntermediateArtifacts/windows_x64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm*.nupkg
- IntermediateArtifacts/windows_arm64/Shipping/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.android-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.ios-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.iossimulator-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.maccatalyst-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NETCore.App.Runtime.Mono.wasi-wasm*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Workload.Mono.ToolChain.net9.Manifest*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoTargets.Sdk*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Runtime.MonoAOTCompiler.Task*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Sdk*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Wasi*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Runtime.WebAssembly.Templates*.nupkg
- IntermediateArtifacts/windows_arm64/Shipping/Microsoft.NETCore.App.Runtime.win-arm64*.nupkg
- IntermediateArtifacts/windows_x64/Shipping/Microsoft.NETCore.App.Runtime.win-x64*.nupkg
- IntermediateArtifacts/windows_x86/Shipping/Microsoft.NETCore.App.Runtime.win-x86*.nupkg
- IntermediateArtifacts/MobileRuntimePacks/Shipping/Microsoft.NET.Sdk.WebAssembly.Pack*.nupkg
-
- - task: CopyFiles@2
- displayName: Flatten packages
- inputs:
- sourceFolder: $(Build.SourcesDirectory)/artifacts/workloadPackages
- contents: '*/Shipping/*.nupkg'
- cleanTargetFolder: false
- targetFolder: $(Build.SourcesDirectory)/artifacts/workloadPackages
- flattenFolders: true
-
- buildArgs: -s mono.workloads -c $(_BuildConfig) /p:PackageSource=$(Build.SourcesDirectory)/artifacts/workloadPackages /p:WorkloadOutputPath=$(Build.SourcesDirectory)/artifacts/workloads
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.android-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.android-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.browser-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.wasi-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.AOT.win-arm64.Cross.wasi-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.android-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.browser-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.ios-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.iossimulator-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.maccatalyst-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.tvos-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.tvossimulator-*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.Mono.wasi-wasm*.nupkg
+ PackageArtifacts/Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest*.nupkg
+ PackageArtifacts/Microsoft.NET.Workload.Mono.ToolChain.net6.Manifest*.nupkg
+ PackageArtifacts/Microsoft.NET.Workload.Mono.ToolChain.net7.Manifest*.nupkg
+ PackageArtifacts/Microsoft.NET.Workload.Mono.ToolChain.net8.Manifest*.nupkg
+ PackageArtifacts/Microsoft.NET.Workload.Mono.ToolChain.net9.Manifest*.nupkg
+ PackageArtifacts/Microsoft.NET.Runtime.MonoTargets.Sdk*.nupkg
+ PackageArtifacts/Microsoft.NET.Runtime.MonoAOTCompiler.Task*.nupkg
+ PackageArtifacts/Microsoft.NET.Runtime.WebAssembly.Sdk*.nupkg
+ PackageArtifacts/Microsoft.NET.Runtime.WebAssembly.Wasi*.nupkg
+ PackageArtifacts/Microsoft.NET.Runtime.WebAssembly.Templates*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.win-arm64*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.win-x64*.nupkg
+ PackageArtifacts/Microsoft.NETCore.App.Runtime.win-x86*.nupkg
+ PackageArtifacts/Microsoft.NET.Sdk.WebAssembly.Pack*.nupkg
- postBuildSteps:
- # Prepare packages wrapping msis
- - task: CopyFiles@2
- displayName: Prepare package artifacts
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)/artifacts/packages/$(_BuildConfig)'
- Contents: |
- Shipping/**/*
- NonShipping/**/*
- TargetFolder: '$(Build.ArtifactStagingDirectory)/IntermediateArtifacts1/workloads'
- CleanTargetFolder: true
-
- # Prepare artifacts to be used for generating VS components
- - task: CopyFiles@2
- displayName: Prepare VS Insertion artifacts
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)/artifacts/VSSetup/$(_BuildConfig)'
- Contents: |
- Insertion/**/*
- TargetFolder: '$(Build.ArtifactStagingDirectory)/IntermediateArtifacts2/workloads-vs'
- CleanTargetFolder: true
-
- templateContext:
- outputs:
- - output: buildArtifacts
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/IntermediateArtifacts1'
- ArtifactName: IntermediateArtifacts
- displayName: 'Publish workload packages'
- - output: buildArtifacts
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/IntermediateArtifacts2'
- ArtifactName: IntermediateArtifacts
- displayName: 'Publish workload VS Insertion artifacts'
+ buildArgs: -s mono.workloads -c $(_BuildConfig) -restore -build -sign -publish /p:PackageSource=$(Build.SourcesDirectory)/artifacts/workloadPackages /p:WorkloadOutputPath=$(Build.SourcesDirectory)/artifacts/workloads /p:ShouldGenerateProductVersionFiles=true /p:EnableDefaultArtifacts=true
isOfficialBuild: ${{ variables.isOfficialBuild }}
timeoutInMinutes: 120
@@ -524,7 +337,13 @@ extends:
- Build_windows_x86_release_AllRuntimes
- Build_windows_arm64_release_AllRuntimes
- - ${{ if eq(variables.isOfficialBuild, true) }}:
- - template: /eng/pipelines/official/stages/publish.yml
+ - stage: Publish
+ jobs:
+ - template: /eng/common/templates-official/job/publish-build-assets.yml
parameters:
- isOfficialBuild: ${{ variables.isOfficialBuild }}
+ publishUsingPipelines: true
+ publishAssetsImmediately: true
+ pool:
+ name: $(DncEngInternalBuildPool)
+ demands: ImageOverride -equals 1es-windows-2022
+ symbolPublishingAdditionalParameters: '/p:PublishSpecialClrFiles=true'