Skip to content

Commit a7c3f7a

Browse files
dotnet-maestro[bot]akoeplingerkotlarmiloslewing
authored
[main] Source code updates from dotnet/dotnet (#121614)
> [!NOTE] > This is a codeflow update. It may contain both source code changes from > [the VMR](https://github.com/dotnet/dotnet) > as well as dependency updates. Learn more [here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md). This pull request brings the following source code changes [marker]: <> (Begin:f7901f87-9f24-40d6-9bc1-564863937237) ## From https://github.com/dotnet/dotnet - **Subscription**: [f7901f87-9f24-40d6-9bc1-564863937237](https://maestro.dot.net/subscriptions?search=f7901f87-9f24-40d6-9bc1-564863937237) - **Build**: [20251202.5](https://dev.azure.com/dnceng/internal/_build/results?buildId=2851916) ([293020](https://maestro.dot.net/channel/8298/github:dotnet:dotnet/build/293020)) - **Date Produced**: December 2, 2025 11:00:49 PM UTC - **Commit**: [78c39718bb6e8008ba9d2dbd00d550bee6be9f59](dotnet/dotnet@78c3971) - **Commit Diff**: [e545239...78c3971](dotnet/dotnet@e545239...78c3971) - **Branch**: [main](https://github.com/dotnet/dotnet/tree/main) **Updated Dependencies** - From [5.3.0-1.25528.108 to 5.3.0-1.25602.105][14] - Microsoft.CodeAnalysis - Microsoft.CodeAnalysis.Analyzers - Microsoft.CodeAnalysis.CSharp - Microsoft.Net.Compilers.Toolset - From [10.0.100-rc.2.25528.108 to 10.0.100-rc.3.25602.105][14] - Microsoft.CodeAnalysis.NetAnalyzers - Microsoft.DotNet.ApiCompat.Task - Microsoft.NET.Workload.Emscripten.Current.Manifest-10.0.100.Transport - From [11.0.0-beta.25528.108 to 11.0.0-beta.25602.105][14] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Archives - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.Build.Tasks.Installers - Microsoft.DotNet.Build.Tasks.Packaging - Microsoft.DotNet.Build.Tasks.TargetFramework - Microsoft.DotNet.Build.Tasks.Templating - Microsoft.DotNet.Build.Tasks.Workloads - Microsoft.DotNet.CodeAnalysis - Microsoft.DotNet.GenAPI - Microsoft.DotNet.GenFacades - Microsoft.DotNet.Helix.Sdk - Microsoft.DotNet.PackageTesting - Microsoft.DotNet.RemoteExecutor - Microsoft.DotNet.SharedFramework.Sdk - Microsoft.DotNet.XliffTasks - Microsoft.DotNet.XUnitExtensions - From [0.11.5-alpha.25528.108 to 0.11.5-alpha.25602.105][14] - Microsoft.DotNet.Cecil - From [2.9.3-beta.25528.108 to 2.9.3-beta.25602.105][14] - Microsoft.DotNet.XUnitAssert - Microsoft.DotNet.XUnitConsoleRunner - From [10.0.0-rc.1.25528.108 to 10.0.0-rc.3.25602.105][14] - Microsoft.NET.Sdk.IL - Microsoft.NETCore.App.Ref - Microsoft.NETCore.ILAsm - runtime.native.System.IO.Ports - System.Reflection.Metadata - System.Reflection.MetadataLoadContext - System.Text.Json - From [7.0.0-preview.1.2908 to 7.0.0-preview.1.10305][14] - NuGet.Frameworks - NuGet.Packaging - NuGet.ProjectModel - NuGet.Versioning - From [2.0.0-rc.1.25528.108 to 3.0.0-alpha.1.25602.105][14] - System.CommandLine - From [19.1.0-alpha.1.25513.1 to 19.1.0-alpha.1.25564.1](dotnet/dotnet@816523d...df75e5e) - runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools [marker]: <> (End:f7901f87-9f24-40d6-9bc1-564863937237) [1]: dotnet/dotnet@e545239...679ec82 [2]: dotnet/dotnet@e545239...88c8789 [3]: dotnet/dotnet@e545239...feff871 [4]: dotnet/dotnet@e545239...9447c70 [5]: dotnet/dotnet@e545239...ea77dd1 [6]: dotnet/dotnet@e545239...e9a2ab6 [7]: dotnet/dotnet@e545239...cc7f6e8 [8]: dotnet/dotnet@e545239...d119b40 [9]: dotnet/dotnet@e545239...de417a6 [10]: dotnet/dotnet@e545239...305623c [11]: dotnet/dotnet@e545239...791f8df [12]: dotnet/dotnet@e545239...3b5d49b [13]: dotnet/dotnet@e545239...5b18350 [14]: dotnet/dotnet@e545239...78c3971 [marker]: <> (Start:Footer:CodeFlow PR) ## Associated changes in source repos - dotnet/arcade@d487320...e29f11a - dotnet/aspnetcore@d434929...70d8511 - dotnet/cecil@2a768f2...82f47fc - dotnet/command-line-api@0b4618b...cf5fd8d - dotnet/deployment-tools@c0c5287...84ccc05 - dotnet/efcore@af2d7b8...de10f40 - dotnet/emsdk@aead567...f8b8587 - dotnet/fsharp@12efe3b...61c1a22 - dotnet/msbuild@ad915a4...dd27cf3 - dotnet/razor@bb00268...2d8783f - 54689bc...efb3990 - dotnet/scenario-tests@0823590...21ded7e - dotnet/source-build-reference-packages@0eed3a9...feab92a - dotnet/sourcelink@9b949ee...c84e22b - dotnet/symreader@ee968d4...2255aa6 - dotnet/templating@0cb802c...41ef93a - microsoft/vstest@81d120f...154e8ba - dotnet/windowsdesktop@9f2ae28...132afba - dotnet/winforms@c43e8c7...1a8c138 - dotnet/wpf@5194680...038222a - dotnet/xdt@ec08678...a37116d <!-- To diff the source repo and PR branch contents locally, run: darc vmr diff --name-only https://github.com/dotnet/dotnet:78c39718bb6e8008ba9d2dbd00d550bee6be9f59..https://github.com/dotnet/runtime:darc-main-0576f04d-232c-4851-9239-e8bb783a5402 --> [marker]: <> (End:Footer:CodeFlow PR) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com> Co-authored-by: Milos Kotlar <kotlarmilos@gmail.com> Co-authored-by: Larry Ewing <lewing@microsoft.com>
1 parent bce6119 commit a7c3f7a

File tree

21 files changed

+324
-269
lines changed

21 files changed

+324
-269
lines changed

eng/Version.Details.props

Lines changed: 68 additions & 68 deletions
Large diffs are not rendered by default.

eng/Version.Details.xml

Lines changed: 137 additions & 137 deletions
Large diffs are not rendered by default.

eng/Versions.props

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,48 @@
11
<Project>
2-
<Import Project="Version.Details.props" Condition="Exists('Version.Details.props')" />
2+
3+
<Import Project="Version.Details.props" />
4+
35
<PropertyGroup>
4-
<!-- The .NET product branding version -->
5-
<ProductVersion>10.0.0</ProductVersion>
6-
<!-- File version numbers -->
76
<MajorVersion>10</MajorVersion>
87
<MinorVersion>0</MinorVersion>
98
<PatchVersion>0</PatchVersion>
10-
<SdkBandVersion>$(MajorVersion).0.100</SdkBandVersion>
9+
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
10+
<PreReleaseVersionIteration>3</PreReleaseVersionIteration>
11+
<!-- Allowed values: '', 'prerelease', 'release'. Set to 'release' when stabilizing. -->
12+
<DotNetFinalVersionKind></DotNetFinalVersionKind>
13+
14+
<!-- The .NET product branding version -->
15+
<ProductVersion>$(MajorVersion).$(MinorVersion).$(PatchVersion)</ProductVersion>
1116
<PackageVersionNet9>9.0.3</PackageVersionNet9>
1217
<PackageVersionNet8>8.0.$([MSBuild]::Add($([System.Version]::Parse('$(PackageVersionNet9)').Build),11))</PackageVersionNet8>
1318
<PackageVersionNet7>7.0.20</PackageVersionNet7>
1419
<PackageVersionNet6>6.0.36</PackageVersionNet6>
15-
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
16-
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
17-
<!-- Enable to remove prerelease label. -->
18-
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
19-
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
20-
<WorkloadVersionSuffix Condition="'$(DotNetFinalVersionKind)' != 'release' and '$(PreReleaseVersionIteration)' == '' and '$(PreReleaseVersionLabel)' != 'rtm'">-$(PreReleaseVersionLabel)</WorkloadVersionSuffix>
21-
<WorkloadVersionSuffix Condition="'$(WorkloadVersionSuffix)' == '' and '$(DotNetFinalVersionKind)' != 'release' and '$(PreReleaseVersionLabel)' != 'rtm'">-$(PreReleaseVersionLabel).$(PreReleaseVersionIteration)</WorkloadVersionSuffix>
22-
<SdkBandVersionForWorkload_FromRuntimeVersions>$(SdkBandVersion)$(WorkloadVersionSuffix)</SdkBandVersionForWorkload_FromRuntimeVersions>
20+
21+
<!-- SdkVersionForWorkloadTesting is used to compute the sdk band and version for workload testing. -->
22+
<!-- NETCoreSdkVersion is normally set by the SDK, but for non-SDK projects we need extract from global.json -->
23+
<SdkVersionForWorkloadTesting>$(MicrosoftNETWorkloadEmscriptenCurrentManifest100100TransportPackageVersion)</SdkVersionForWorkloadTesting>
24+
<SdkMajorVersion>$([System.String]::Copy('$(SdkVersionForWorkloadTesting)').Split('.')[0])</SdkMajorVersion>
25+
<SdkBandVersion>$(SdkMajorVersion).0.100</SdkBandVersion>
26+
<SdkPreReleaseLabel>$([System.Text.RegularExpressions.Regex]::Match($(SdkVersionForWorkloadTesting), '-(?!rtm|servicing)(.+)\.[^.]+\.[^.]+$').Groups[1].Value)</SdkPreReleaseLabel>
27+
<SdkBandVersionForWorkload_FromRuntimeVersions Condition="'$(SdkPreReleaseLabel)' == ''">$(SdkBandVersion)</SdkBandVersionForWorkload_FromRuntimeVersions>
28+
<SdkBandVersionForWorkload_FromRuntimeVersions Condition="'$(SdkPreReleaseLabel)' != ''">$(SdkBandVersion)-$(SdkPreReleaseLabel)</SdkBandVersionForWorkload_FromRuntimeVersions>
29+
2330
<!-- Set assembly version to align with major and minor version,
2431
as for the patches and revisions should be manually updated per assembly if it is serviced. -->
2532
<AssemblyVersion>$(MajorVersion).$(MinorVersion).0.0</AssemblyVersion>
26-
<!-- Opt-in/out repo features -->
33+
34+
<!-- Arcade features -->
2735
<UsingToolIbcOptimization>false</UsingToolIbcOptimization>
2836
<UsingToolXliff>false</UsingToolXliff>
29-
<FlagNetStandard1XDependencies Condition="'$(FlagNetStandard1XDependencies)' == ''">true</FlagNetStandard1XDependencies>
3037
<!-- Runtime controls its dependency graph via Traversal projects and doesn't want or need Arcade's ExcludeFrom infrastructure. -->
3138
<DisableArcadeExcludeFromBuildSupport>true</DisableArcadeExcludeFromBuildSupport>
3239
<UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers>
3340
</PropertyGroup>
41+
3442
<ItemGroup>
3543
<WorkloadSdkBandVersions Include="$(SdkBandVersion)" SupportsMachineArch="true" />
3644
</ItemGroup>
45+
3746
<!--
3847
For source generator support we need to target multiple versions of Roslyn in order to be able to run on older versions of Roslyn.
3948
We pin these versions as we need to match them exactly for any scenarios that run Roslyn on .NET Framework, like Visual Studio.
@@ -60,12 +69,14 @@
6069
<!-- Some of the analyzer dependencies used by ILLink project -->
6170
<MicrosoftCodeAnalysisBannedApiAnalyzersVersion>3.3.5-beta1.23270.2</MicrosoftCodeAnalysisBannedApiAnalyzersVersion>
6271
</PropertyGroup>
72+
6373
<!--
6474
These packages affect the design-time experience in VS, so we update them at the same cadance as the MicrosoftCodeAnalysisVersion_LatestVS version.
6575
-->
6676
<PropertyGroup>
6777
<MicrosoftCodeAnalysisCSharpCodeStyleVersion>$(MicrosoftCodeAnalysisVersion_LatestVS)</MicrosoftCodeAnalysisCSharpCodeStyleVersion>
6878
</PropertyGroup>
79+
6980
<PropertyGroup>
7081
<StaticCsVersion>0.2.0</StaticCsVersion>
7182
<!-- NuGet dependencies -->
@@ -155,10 +166,7 @@
155166
<MicrosoftExtensionsLoggingVersion>3.1.7</MicrosoftExtensionsLoggingVersion>
156167
<MicrosoftSymbolStoreVersion>1.0.406601</MicrosoftSymbolStoreVersion>
157168
<!-- sdk version, for testing workloads -->
158-
<!-- TODO: reenable this once .NET 11 channel builds have 11.0 build version -->
159-
<!--<SdkVersionForWorkloadTesting>$(MicrosoftDotNetApiCompatTaskVersion)</SdkVersionForWorkloadTesting>-->
160-
<SdkVersionForWorkloadTesting>10.0.100-rc.2.25502.107</SdkVersionForWorkloadTesting>
161-
<EmsdkPackageVersion>10.0.0-preview.7.25359.101</EmsdkPackageVersion>
169+
<EmsdkPackageVersion>10.0.0</EmsdkPackageVersion>
162170
<NodePackageVersion>$(runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion)</NodePackageVersion>
163171
<!-- The package path for python in src/mono/mono.proj needs to be updated if this changes-->
164172
<EmsdkVersion>3.1.56</EmsdkVersion>
@@ -170,4 +178,5 @@
170178
<MicrosoftWixToolsetBalWixextVersion>5.0.2-dotnet.2811440</MicrosoftWixToolsetBalWixextVersion>
171179
<MicrosoftWixToolsetHeatVersion>5.0.2-dotnet.2811440</MicrosoftWixToolsetHeatVersion>
172180
</PropertyGroup>
181+
173182
</Project>

eng/common/core-templates/job/publish-build-assets.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,9 @@ jobs:
122122

123123
# Populate internal runtime variables.
124124
- template: /eng/common/templates/steps/enable-internal-sources.yml
125-
parameters:
126-
legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw)
125+
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
126+
parameters:
127+
legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw)
127128

128129
- template: /eng/common/templates/steps/enable-internal-runtimes.yml
129130

@@ -140,7 +141,7 @@ jobs:
140141
/p:MaestroApiEndpoint=https://maestro.dot.net
141142
/p:OfficialBuildId=$(OfficialBuildId)
142143
-runtimeSourceFeed https://ci.dot.net/internal
143-
-runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
144+
-runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)'
144145

145146
condition: ${{ parameters.condition }}
146147
continueOnError: ${{ parameters.continueOnError }}
@@ -189,6 +190,11 @@ jobs:
189190
BARBuildId: ${{ parameters.BARBuildId }}
190191
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
191192
is1ESPipeline: ${{ parameters.is1ESPipeline }}
193+
194+
# Darc is targeting 8.0, so make sure it's installed
195+
- task: UseDotNet@2
196+
inputs:
197+
version: 8.0.x
192198

193199
- task: AzureCLI@2
194200
displayName: Publish Using Darc
@@ -205,8 +211,8 @@ jobs:
205211
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
206212
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
207213
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'
208-
-runtimeSourceFeed https://ci.dot.net/internal
209-
-runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
214+
-runtimeSourceFeed https://ci.dot.net/internal
215+
-runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)'
210216
211217
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
212218
- template: /eng/common/core-templates/steps/publish-logs.yml

eng/common/core-templates/job/source-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ jobs:
6060
pool:
6161
${{ if eq(variables['System.TeamProject'], 'public') }}:
6262
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
63-
demands: ImageOverride -equals build.ubuntu.2004.amd64
63+
demands: ImageOverride -equals build.ubuntu.2204.amd64
6464
${{ if eq(variables['System.TeamProject'], 'internal') }}:
6565
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
66-
image: 1es-mariner-2
66+
image: 1es-azurelinux-3
6767
os: linux
6868
${{ else }}:
6969
pool:

eng/common/core-templates/job/source-index-stage1.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ jobs:
2525
pool:
2626
${{ if eq(variables['System.TeamProject'], 'public') }}:
2727
name: $(DncEngPublicBuildPool)
28-
image: windows.vs2022.amd64.open
28+
image: windows.vs2026preview.scout.amd64.open
2929
${{ if eq(variables['System.TeamProject'], 'internal') }}:
3030
name: $(DncEngInternalBuildPool)
31-
image: windows.vs2022.amd64
31+
image: windows.vs2026preview.scout.amd64
3232

3333
steps:
3434
- ${{ if eq(parameters.is1ESPipeline, '') }}:

eng/common/core-templates/post-build/post-build.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,11 @@ stages:
127127
${{ else }}:
128128
${{ if eq(parameters.is1ESPipeline, true) }}:
129129
name: $(DncEngInternalBuildPool)
130-
image: windows.vs2022.amd64
130+
image: windows.vs2026preview.scout.amd64
131131
os: windows
132132
${{ else }}:
133133
name: $(DncEngInternalBuildPool)
134-
demands: ImageOverride -equals windows.vs2022.amd64
134+
demands: ImageOverride -equals windows.vs2026preview.scout.amd64
135135

136136
steps:
137137
- template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
@@ -175,7 +175,7 @@ stages:
175175
os: windows
176176
${{ else }}:
177177
name: $(DncEngInternalBuildPool)
178-
demands: ImageOverride -equals windows.vs2022.amd64
178+
demands: ImageOverride -equals windows.vs2026preview.scout.amd64
179179
steps:
180180
- template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
181181
parameters:
@@ -236,7 +236,7 @@ stages:
236236
os: windows
237237
${{ else }}:
238238
name: $(DncEngInternalBuildPool)
239-
demands: ImageOverride -equals windows.vs2022.amd64
239+
demands: ImageOverride -equals windows.vs2026preview.scout.amd64
240240
steps:
241241
- template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
242242
parameters:
@@ -305,14 +305,19 @@ stages:
305305
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
306306
is1ESPipeline: ${{ parameters.is1ESPipeline }}
307307

308-
- task: NuGetAuthenticate@1 # Populate internal runtime variables.
308+
- task: NuGetAuthenticate@1
309309

310+
# Populate internal runtime variables.
310311
- template: /eng/common/templates/steps/enable-internal-sources.yml
311312
parameters:
312313
legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw)
313314

314315
- template: /eng/common/templates/steps/enable-internal-runtimes.yml
315316

317+
- task: UseDotNet@2
318+
inputs:
319+
version: 8.0.x
320+
316321
- task: AzureCLI@2
317322
displayName: Publish Using Darc
318323
inputs:
@@ -330,4 +335,4 @@ stages:
330335
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
331336
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'
332337
-runtimeSourceFeed https://ci.dot.net/internal
333-
-runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
338+
-runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)'

eng/common/core-templates/steps/install-microbuild-impl.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ parameters:
2020
steps:
2121
- ${{ if eq(parameters.enablePreviewMicrobuild, 'true') }}:
2222
- task: MicroBuildSigningPluginPreview@4
23-
displayName: Install Preview MicroBuild plugin (Windows)
23+
displayName: Install Preview MicroBuild plugin
2424
inputs: ${{ parameters.microbuildTaskInputs }}
2525
env: ${{ parameters.microbuildEnv }}
2626
continueOnError: ${{ parameters.continueOnError }}
2727
condition: ${{ parameters.condition }}
2828
- ${{ else }}:
2929
- task: MicroBuildSigningPlugin@4
30-
displayName: Install MicroBuild plugin (Windows)
30+
displayName: Install MicroBuild plugin
3131
inputs: ${{ parameters.microbuildTaskInputs }}
3232
env: ${{ parameters.microbuildEnv }}
3333
continueOnError: ${{ parameters.continueOnError }}
34-
condition: ${{ parameters.condition }}
34+
condition: ${{ parameters.condition }}

eng/common/core-templates/steps/install-microbuild.yml

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ parameters:
1313
# Unfortunately, _SignType can't be used to exclude the use of the service connection in non-real sign scenarios. The
1414
# variable is not available in template expression. _SignType has a very large proliferation across .NET, so replacing it is tough.
1515
microbuildUseESRP: true
16+
# Microbuild installation directory
17+
microBuildOutputFolder: $(Agent.TempDirectory)/MicroBuild
1618
# Microbuild version
1719
microbuildPluginVersion: 'latest'
1820

@@ -21,16 +23,33 @@ parameters:
2123
steps:
2224
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
2325
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
24-
# Installing .NET 8 is required to use the MicroBuild signing plugin on non-Windows platforms
26+
# Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable
2527
- task: UseDotNet@2
2628
displayName: Install .NET 8.0 SDK for MicroBuild Plugin
2729
inputs:
2830
packageType: sdk
2931
version: 8.0.x
30-
# Installing the SDK in a '.dotnet-microbuild' directory is required for signing.
31-
# See target FindDotNetPathForMicroBuild in arcade/src/Microsoft.DotNet.Arcade.Sdk/tools/Sign.proj
32-
# Do not remove '.dotnet-microbuild' from the path without changing the corresponding logic.
33-
installationPath: $(Agent.TempDirectory)/.dotnet-microbuild
32+
installationPath: ${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild
33+
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
34+
35+
- script: |
36+
set -euo pipefail
37+
38+
# UseDotNet@2 prepends the dotnet executable path to the PATH variable, so we can call dotnet directly
39+
version=$(dotnet --version)
40+
cat << 'EOF' > ${{ parameters.microBuildOutputFolder }}/global.json
41+
{
42+
"sdk": {
43+
"version": "$version",
44+
"paths": [
45+
"${{ parameters.microBuildOutputFolder }}/.dotnet-microbuild"
46+
],
47+
"errorMessage": "The .NET SDK version $version is required to install the MicroBuild signing plugin."
48+
}
49+
}
50+
EOF
51+
displayName: 'Add global.json to MicroBuild Installation path'
52+
workingDirectory: ${{ parameters.microBuildOutputFolder }}
3453
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
3554
3655
- script: |
@@ -70,7 +89,7 @@ steps:
7089
ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
7190
microbuildEnv:
7291
TeamName: $(_TeamName)
73-
MicroBuildOutputFolderOverride: $(Agent.TempDirectory)/MicroBuild
92+
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
7493
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
7594
continueOnError: ${{ parameters.continueOnError }}
7695
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
@@ -84,6 +103,7 @@ steps:
84103
zipSources: false
85104
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
86105
version: ${{ parameters.microbuildPluginVersion }}
106+
workingDirectory: ${{ parameters.microBuildOutputFolder }}
87107
${{ if eq(parameters.microbuildUseESRP, true) }}:
88108
ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
89109
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
@@ -92,7 +112,7 @@ steps:
92112
ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc
93113
microbuildEnv:
94114
TeamName: $(_TeamName)
95-
MicroBuildOutputFolderOverride: $(Agent.TempDirectory)/MicroBuild
115+
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
96116
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
97117
continueOnError: ${{ parameters.continueOnError }}
98118
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real'))

eng/common/core-templates/steps/publish-logs.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ steps:
2626
# If the file exists - sensitive data for redaction will be sourced from it
2727
# (single entry per line, lines starting with '# ' are considered comments and skipped)
2828
arguments: -InputPath '$(System.DefaultWorkingDirectory)/PostBuildLogs'
29-
-BinlogToolVersion ${{parameters.BinlogToolVersion}}
29+
-BinlogToolVersion '${{parameters.BinlogToolVersion}}'
3030
-TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt'
31+
-runtimeSourceFeed https://ci.dot.net/internal
32+
-runtimeSourceFeedKey '$(dotnetbuilds-internal-container-read-token-base64)'
3133
'$(publishing-dnceng-devdiv-code-r-build-re)'
3234
'$(MaestroAccessToken)'
3335
'$(dn-bot-all-orgs-artifact-feeds-rw)'

0 commit comments

Comments
 (0)