Skip to content

Commit 389909f

Browse files
authored
Merge branch 'dotnet:main' into dotnet#51611
2 parents cee1331 + 3f99d45 commit 389909f

File tree

104 files changed

+3556
-2908
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+3556
-2908
lines changed

.azure/pipelines/ci-public.yml

+536-698
Large diffs are not rendered by default.

.azure/pipelines/ci.yml

+634-695
Large diffs are not rendered by default.

.azure/pipelines/components-e2e-tests.yml

+2
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,13 @@ jobs:
5252
- script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore
5353
displayName: Build
5454
- script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined!=true|Quarantined=false'
55+
-p:VsTestUseMSBuildOutput=false
5556
--logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx"
5657
--logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html"
5758
--results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Unquarantined
5859
displayName: Run E2E tests
5960
- script: .dotnet/dotnet test ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-build --filter 'Quarantined=true' -p:RunQuarantinedTests=true
61+
-p:VsTestUseMSBuildOutput=false
6062
--logger:"trx%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.trx"
6163
--logger:"html%3BLogFileName=Microsoft.AspNetCore.Components.E2ETests.html"
6264
--results-directory $(Build.SourcesDirectory)/artifacts/TestResults/$(BuildConfiguration)/Quarantined

.azure/pipelines/helix-matrix.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
timeoutInMinutes: 480
3333
steps:
3434
# Build the shared framework
35-
- script: ./eng/build.cmd -ci -prepareMachine -nobl -all -pack -arch x64
35+
- script: ./eng/build.cmd -ci -prepareMachine -nativeToolsOnMachine -nobl -all -pack -arch x64
3636
/p:CrossgenOutput=false /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log
3737
displayName: Build shared fx
3838
# -noBuildRepoTasks -noBuildNative -noBuild to avoid repeating work done in the previous step.

.azure/pipelines/jobs/codesign-xplat.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ parameters:
33
inputName: ''
44

55
jobs:
6-
- template: default-build.yml
6+
- template: default-build.yml@self
77
parameters:
88
codeSign: true
99
dependsOn:
@@ -14,7 +14,7 @@ jobs:
1414
agentOs: Windows
1515
installNodeJs: false
1616
steps:
17-
- task: DownloadBuildArtifacts@0
17+
- task: DownloadPipelineArtifact@2
1818
displayName: Download ${{ parameters.inputName }} artifacts
1919
inputs:
2020
artifactName: ${{ parameters.inputName }}_Packages
@@ -29,6 +29,7 @@ jobs:
2929
flattenFolders: true
3030
- powershell: .\eng\common\build.ps1
3131
-ci
32+
-nativeToolsOnMachine
3233
-nobl
3334
-msbuildEngine dotnet
3435
-restore

.azure/pipelines/jobs/default-build.yml

+419-217
Large diffs are not rendered by default.

.azure/pipelines/richnav.yml

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ stages:
3434
- script: ./eng/build.cmd
3535
-ci
3636
-prepareMachine
37+
-nativeToolsOnMachine
3738
-arch x64
3839
-buildNative
3940
/p:EnableRichCodeNavigation=false
@@ -43,6 +44,7 @@ stages:
4344
- script: ./eng/build.cmd
4445
-ci
4546
-prepareMachine
47+
-nativeToolsOnMachine
4648
-arch x64
4749
-all
4850
-noBuildNative
@@ -55,6 +57,7 @@ stages:
5557
- script: ./eng/build.cmd
5658
-ci
5759
-prepareMachine
60+
-nativeToolsOnMachine
5861
-arch x86
5962
-all
6063
-noBuildJava
@@ -69,6 +72,7 @@ stages:
6972
- script: ./eng/build.cmd
7073
-ci
7174
-prepareMachine
75+
-nativeToolsOnMachine
7276
-arch arm64
7377
-noBuildJava
7478
-noBuildNodeJS

.github/policies/resourceManagement.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -497,19 +497,19 @@ configuration:
497497
branch: main
498498
then:
499499
- addMilestone:
500-
milestone: 9.0-preview3
500+
milestone: 9.0-preview4
501501
description: '[Milestone Assignments] Assign Milestone to PRs merged to the `main` branch'
502502
- if:
503503
- payloadType: Pull_Request
504504
- isAction:
505505
action: Closed
506506
- targetsBranch:
507-
branch: release/9.0-preview2
507+
branch: release/9.0-preview3
508508
then:
509509
- removeMilestone
510510
- addMilestone:
511-
milestone: 9.0-preview2
512-
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/9.0-preview2 branch'
511+
milestone: 9.0-preview3
512+
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/9.0-preview3 branch'
513513
- if:
514514
- payloadType: Issues
515515
- isAction:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Validate package-lock.json against source feeds
2+
3+
on:
4+
# Manual run
5+
workflow_dispatch:
6+
pull_request:
7+
paths:
8+
- 'package-lock.json'
9+
10+
jobs:
11+
validate-package-lock-json:
12+
name: 'Validate package-lock.json against source feeds'
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
submodules: false
21+
22+
- name: Set up Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: 20.x
26+
27+
- name: Run npm ci to validate package-lock.json against the feed
28+
shell: pwsh
29+
id: npm-install-script
30+
run: npm ci --prefer-online --fetch-retries 5

AspNetCore.sln

+19
Original file line numberDiff line numberDiff line change
@@ -1786,6 +1786,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Intern
17861786
EndProject
17871787
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotReferencedInWasmCodePackage", "src\Components\test\testassets\NotReferencedInWasmCodePackage\NotReferencedInWasmCodePackage.csproj", "{433F91E4-E39D-4EB0-B798-2998B3969A2C}"
17881788
EndProject
1789+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Components.WasmRemoteAuthentication", "src\Components\test\testassets\Components.WasmRemoteAuthentication\Components.WasmRemoteAuthentication.csproj", "{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}"
1790+
EndProject
17891791
Global
17901792
GlobalSection(SolutionConfigurationPlatforms) = preSolution
17911793
Debug|Any CPU = Debug|Any CPU
@@ -10771,6 +10773,22 @@ Global
1077110773
{433F91E4-E39D-4EB0-B798-2998B3969A2C}.Release|x64.Build.0 = Release|Any CPU
1077210774
{433F91E4-E39D-4EB0-B798-2998B3969A2C}.Release|x86.ActiveCfg = Release|Any CPU
1077310775
{433F91E4-E39D-4EB0-B798-2998B3969A2C}.Release|x86.Build.0 = Release|Any CPU
10776+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
10777+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|Any CPU.Build.0 = Debug|Any CPU
10778+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|arm64.ActiveCfg = Debug|Any CPU
10779+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|arm64.Build.0 = Debug|Any CPU
10780+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|x64.ActiveCfg = Debug|Any CPU
10781+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|x64.Build.0 = Debug|Any CPU
10782+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|x86.ActiveCfg = Debug|Any CPU
10783+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Debug|x86.Build.0 = Debug|Any CPU
10784+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|Any CPU.ActiveCfg = Release|Any CPU
10785+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|Any CPU.Build.0 = Release|Any CPU
10786+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|arm64.ActiveCfg = Release|Any CPU
10787+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|arm64.Build.0 = Release|Any CPU
10788+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|x64.ActiveCfg = Release|Any CPU
10789+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|x64.Build.0 = Release|Any CPU
10790+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|x86.ActiveCfg = Release|Any CPU
10791+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13}.Release|x86.Build.0 = Release|Any CPU
1077410792
EndGlobalSection
1077510793
GlobalSection(SolutionProperties) = preSolution
1077610794
HideSolutionNode = FALSE
@@ -11653,6 +11671,7 @@ Global
1165311671
{B0A8E5D4-BC5A-448E-B222-431B6B2EB58E} = {05A169C7-4F20-4516-B10A-B13C5649D346}
1165411672
{15D08EA7-8C63-45FB-8B4D-C5F8E43B433E} = {05A169C7-4F20-4516-B10A-B13C5649D346}
1165511673
{433F91E4-E39D-4EB0-B798-2998B3969A2C} = {6126DCE4-9692-4EE2-B240-C65743572995}
11674+
{8A021D6D-7935-4AB3-BB47-38D4FF9B0D13} = {6126DCE4-9692-4EE2-B240-C65743572995}
1165611675
EndGlobalSection
1165711676
GlobalSection(ExtensibilityGlobals) = postSolution
1165811677
SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}

Directory.Build.BeforeCommonTargets.targets

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
<PropertyGroup>
33
<!-- Only build Microsoft.AspNetCore.App, Microsoft.AspNetCore.App.Ref, ref/ assemblies, and ProjectTemplates in source build. -->
44
<!-- Analyzer package are needed in source build for WebSDK -->
5-
<ExcludeFromSourceBuild
6-
Condition="'$(ExcludeFromSourceBuild)' == '' and
7-
'$(DotNetBuildFromSource)' == 'true' and
5+
<ExcludeFromSourceOnlyBuild
6+
Condition="'$(ExcludeFromSourceOnlyBuild)' == '' and
7+
'$(DotNetBuildSourceOnly)' == 'true' and
88
'$(IsAspNetCoreApp)' != 'true' and
99
'$(MSBuildProjectName)' != '$(TargetingPackName)' and
1010
'$(IsAnalyzersProject)' != 'true' and
11-
'$(IsProjectTemplateProject)' != 'true'">true</ExcludeFromSourceBuild>
11+
'$(IsProjectTemplateProject)' != 'true'">true</ExcludeFromSourceOnlyBuild>
1212

1313
<!-- If the user has specified that they want to skip building any test related projects with SkipTestBuild,
1414
suppress all targets for TestProjects using ExcludeFromBuild. -->
1515
<ExcludeFromBuild Condition="'$(IsPackable)' != 'true' and
16-
'$(SkipTestBuild)' == 'true' and
16+
('$(SkipTestBuild)' == 'true' or ('$(DotNetBuild)' == 'true' and '$(DotNetBuildTests)' != 'true')) and
1717
($(IsTestProject) or
1818
'$(IsPublishedAppTestProject)' == 'true' or
1919
'$(IsTestAssetProject)' == 'true' or

Directory.Build.props

+8-1
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@
192192
<!-- The location of the local installation of the .NET Core shared framework. -->
193193
<PropertyGroup>
194194
<LocalDotNetRoot>$(RepoRoot).dotnet\</LocalDotNetRoot>
195+
<LocalDotNetRoot Condition="'$(DotNetBuild)' == 'true'">DontDareMutateThisSDK</LocalDotNetRoot>
196+
195197
<!--
196198
Override the SDK default and point to local .dotnet folder. This is done to work around
197199
limitations in the way the .NET SDK finds shared frameworks and targeting packs. It allows
@@ -203,7 +205,12 @@
203205
to restore the AppHost pack as a prebuilt rather than using the one that's present in the SDK.
204206
Source-build doesn't run tests, so the property is simply conditioned out.
205207
-->
206-
<NetCoreTargetingPackRoot Condition="'$(DotNetBuildFromSource)' != 'true'">$(LocalDotNetRoot)packs\</NetCoreTargetingPackRoot>
208+
<NetCoreTargetingPackRoot Condition="'$(DotNetBuild)' != 'true'">$(LocalDotNetRoot)packs\</NetCoreTargetingPackRoot>
209+
<!-- This is not correct and needs attention eventually. This is primarily used to find the nethost headers in the apphost pack.
210+
These should be coming from a restored apphost pack, rather than a hard-coded local SDK. In fact, aspnetcore
211+
should not rely on a local SDK or mutating one to build. -->
212+
<NetCoreTargetingPackRoot Condition="'$(DotNetBuild)' == 'true'">$(DotNetRoot)packs\</NetCoreTargetingPackRoot>
213+
207214
</PropertyGroup>
208215

209216
<Import Project="eng\tools\RepoTasks\RepoTasks.tasks" Condition="'$(MSBuildProjectName)' != 'RepoTasks' AND '$(DesignTimeBuild)' != 'true'" />

Directory.Build.targets

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
</PropertyGroup>
158158

159159
<!-- Properties for Package Validation -->
160-
<PropertyGroup Condition="'$(ExcludeFromSourceBuild)' != 'true'">
160+
<PropertyGroup Condition="'$(ExcludeFromSourceOnlyBuild)' != 'true'">
161161
<EnablePackageValidation Condition="'$(EnablePackageValidation)' == ''">true</EnablePackageValidation>
162162
<DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
163163
<GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>

eng/AfterSigning.targets

-30
This file was deleted.

eng/Dependencies.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ and are generated based on the last package release.
137137
<LatestPackageReference Include="@(_LatestRuntimePackageReference->Distinct())" />
138138
</ItemGroup>
139139

140-
<ItemGroup Label=".NET team dependencies (Non-source-build)" Condition="'$(DotNetBuildFromSource)' != 'true'">
140+
<ItemGroup Label=".NET team dependencies (Non-source-build)" Condition="'$(DotNetBuildSourceOnly)' != 'true'">
141141
<LatestPackageReference Include="Microsoft.AspNet.WebApi.Client" />
142142
<LatestPackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.2.1" />
143143
<LatestPackageReference Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension.3.1.x64" />
@@ -191,7 +191,7 @@ and are generated based on the last package release.
191191
<LatestPackageReference Include="Newtonsoft.Json" />
192192
</ItemGroup>
193193

194-
<ItemGroup Label="External dependencies" Condition="'$(DotNetBuildFromSource)' != 'true'">
194+
<ItemGroup Label="External dependencies" Condition="'$(DotNetBuildSourceOnly)' != 'true'">
195195
<LatestPackageReference Include="AngleSharp" />
196196
<LatestPackageReference Include="Azure.Identity" />
197197
<LatestPackageReference Include="BenchmarkDotNet" />

eng/SourceBuild.props renamed to eng/DotNetBuild.props

+11-17
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,24 @@
88
<SourceBuildTargetFrameworkFilter>netstandard2.0%3bnetstandard2.1%3bnetcoreapp2.1%3bnetcoreapp3.1%3bnet5.0%3bnet6.0%3bnet7.0%3bnet8.0%3bnet9.0</SourceBuildTargetFrameworkFilter>
99
</PropertyGroup>
1010

11-
<!-- Only run this target in source-build only mode. -->
12-
<Target Name="PrepareGlobalJsonForSourceBuild"
13-
AfterTargets="PrepareInnerSourceBuildRepoRoot"
14-
BeforeTargets="RunInnerSourceBuildCommand"
15-
Condition="'$(ArcadeBuildFromSource)' == 'true'">
16-
<Exec
17-
Command="./eng/scripts/prepare-sourcebuild-globaljson.sh"
18-
WorkingDirectory="$(InnerSourceBuildRepoRoot)" />
19-
</Target>
20-
2111
<!--
2212
Remove inner source .globalconfig file as both the inner and outer config files get loaded and cause a conflict.
2313
Leaving the inner will cause all conflicting settings to be ignored.
24-
https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files#general-options
14+
https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files#general-options.
15+
This only needs to be done if there is an inner clone.
2516
-->
2617
<Target Name="RemoveInnerGlobalConfig"
2718
DependsOnTargets="PrepareInnerSourceBuildRepoRoot"
28-
BeforeTargets="RunInnerSourceBuildCommand">
19+
BeforeTargets="RunInnerSourceBuildCommand"
20+
Condition="'$(DotNetBuildOrchestrator)' != 'true'">
2921

3022
<Delete Files="$(InnerSourceBuildRepoRoot).globalconfig" />
3123
</Target>
3224

3325
<!-- Build RepoTasks - this is normally triggered via the build script but the inner ArPow source-build is run via msbuild.
3426
https://github.com/dotnet/source-build/issues/3807 -->
3527
<Target Name="BuildRepoTasks"
36-
Condition="'$(ArcadeInnerBuildFromSource)' == 'true'"
28+
Condition="'$(DotNetBuildInnerRepo)' == 'true' and '$(DotNetBuildSourceOnly)' == 'true'"
3729
BeforeTargets="Execute">
3830
<!-- If the alternative runtime location and key are present, pass those through -->
3931
<PropertyGroup>
@@ -46,8 +38,6 @@
4638
<ItemGroup>
4739
<!-- We need to flow FullAssemblySigningSupported even when building repo tasks because they use full signing -->
4840
<InnerBuildEnv Condition="'$(FullAssemblySigningSupported)' != ''" Include="FullAssemblySigningSupported=$(FullAssemblySigningSupported)" />
49-
<InnerBuildEnv Include="DotNetBuildFromSource=$(ArcadeBuildFromSource)" />
50-
<InnerBuildEnv Include="DotNetBuildVertical=$(ArcadeBuildVertical)" />
5141
<InnerBuildEnv Include="DotNetBuildSourceOnly=$(DotNetBuildSourceOnly)" />
5242
</ItemGroup>
5343

@@ -90,11 +80,15 @@
9080
-->
9181
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.tar.gz" />
9282
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore_base_runtime.version" />
83+
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.msi" />
84+
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.pkg" />
85+
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.deb" />
86+
<IntermediateNupkgArtifactFile Include="$(InstallersArtifactsDir)aspnetcore-runtime-*.rpm" />
9387
</ItemGroup>
9488
</Target>
9589

9690
<Target Name="RestoreNpmPackages"
97-
Condition="'$(BuildNodeJS)' == 'true'"
91+
Condition="'$(BuildNodeJS)' == 'true' and '$(DotNetBuildSourceOnly)' == 'true'"
9892
BeforeTargets="RunInnerSourceBuildCommand">
9993

10094
<Message Text="Checking node version..." Importance="high" />
@@ -120,7 +114,7 @@
120114
</Target>
121115

122116
<Target Name="BuildNpmFiles"
123-
Condition="'$(BuildNodeJS)' == 'true'"
117+
Condition="'$(BuildNodeJS)' == 'true' and '$(DotNetBuildSourceOnly)' == 'true'"
124118
DependsOnTargets="RestoreNpmPackages"
125119
BeforeTargets="RunInnerSourceBuildCommand">
126120

eng/Npm.Workspace.nodeproj

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
<PropertyGroup>
77
<IsShippingPackage>true</IsShippingPackage>
8-
<ExcludeFromSourceBuild>false</ExcludeFromSourceBuild>
8+
<!-- This explicitly includes this project even though it's a test project, unit test project,
9+
etc. which would be excluded by default. -->
10+
<ExcludeFromDotNetBuild>false</ExcludeFromDotNetBuild>
911
<IsTestProject>true</IsTestProject>
1012
<IsUnitTestProject>true</IsUnitTestProject>
1113
<TestDependsOnAspNetPackages>false</TestDependsOnAspNetPackages>

0 commit comments

Comments
 (0)