Skip to content

Commit 0be2c29

Browse files
TanayParikhdougbu
andauthored
Helix Restore Issue Mitigation (dotnet#41311)
* RunTests dotnet run --no-build * Remove duplicate run * Add to Build.props * Treat CA2007 as a warning in RunTests * NoWarn CA2007 * Ignore NU5104 for System.CommandLine prerelease package * PR Feedback * PR Feedback * Generate .config/dotnet-tools.json - add generation to GenerateFiles.csproj - include all required versions in eng/Versions.props - nit: bump tool versions slightly - `dotnet-dump` move from `5.0.0-*` to `6.0.322601` is largest version bump - have `git` ignore generated file - nit: put `*.svclog` together w/ other extension exclusions * Add tool packages to Helix correlation payloads * Do not restore tools from network - get tool packages from Helix correlation root - to do this, save and restore NuGet.config file - this removes `--version` from `dotnet-dump` and `dotnet-ef` installations - will only have a single package for each tool in the correlation payload * Do not pass `dotnet-ef` version to `RunTests` - mostly cleanup; no longer needed * Remove DotNetToolsInstaller.csproj - mostly cleanup - `dotnet-ef` tool now restored by Arcade's Tools.proj much earlier in our build because most configured tool packages are needed in `RunTests` on Helix agents * Add `--playwright` option in `Runtests` - remove `INSTALLPLAYWRIGHT` define and `$env:INSTALLPLAYWRIGHT` - always reference Microsoft.Playwright in `RunTests` - nit: `InstallPlaywrightAsync()` wasn't `async`; fix it and rename to `InstallPlaywright()` * Use Arcade SDK in `RunTests` and `Publish` project - match most other projects in this repo - remove empty Directory.Build.props and .targets files preventing Arcade imports - exclude project build if `$(SkipTestBuild)` (though not a test project) * Correct minor problems in `RunTests` source * Use file-scoped namespaces in `RunTests` source * Use VS code fixes in `RunTests` * Use published `RunTests` output on Helix agents * Move `RunTests` under eng/tools/ - don't need the project on Helix agents - restore Directory.Build.* files removed when switching to Arcade * Add `RunTests` to tools.slnf * Rename `RunTests` project to `HelixTestRunner` - less confusing given `RunTests` target and runtests.sh et cetera * !fixup! Define `$(ArtifactsBinDir)` in helix.proj * !fixup! Use `$(Configuration)` in helix.proj * !fixup! Fix typo in property function * !fixup! Fix `dotnet` syntax in runtests.sh * !fixup! Correct `%(HelixCorrelationPayload.Destination)` Co-authored-by: Doug Bunting <[email protected]>
1 parent e579ee6 commit 0be2c29

33 files changed

+839
-834
lines changed

.config/dotnet-tools.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,17 @@ modules/
3131
*.snk
3232
*.so
3333
*.suo
34+
*.svclog
3435
*.tlog
3536
*.user
3637
*.userprefs
3738
*.vspx
3839

3940
# Specific files, typically generated by tools
41+
.config/dotnet-tools.json
4042
msbuild.ProjectImports.zip
4143
StyleCop.Cache
4244
UpgradeLog.htm
4345
.idea
44-
*.svclog
4546
mono_crash.*.json
4647
mono_crash.*.blob

AspNetCore.sln

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,8 +1618,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets",
16181618
EndProject
16191619
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CorsMiddlewareWebSite", "src\Middleware\CORS\test\testassets\CorsMiddlewareWebSite\CorsMiddlewareWebSite.csproj", "{9B240135-3D1E-4EE6-B870-D810F3C856FB}"
16201620
EndProject
1621-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DotNetToolsInstaller", "src\ProjectTemplates\testassets\DotNetToolsInstaller\DotNetToolsInstaller.csproj", "{C0FD6DB3-9407-4F07-B909-16762E579ECB}"
1622-
EndProject
16231621
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Installers", "Installers", "{5E46DC83-C39C-4E3A-B242-C064607F4367}"
16241622
EndProject
16251623
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aspnetcoreCA", "src\Installers\Windows\AspNetCoreModule-Setup\CustomAction\aspnetcoreCA.vcxproj", "{7C27E72F-54D0-4820-8CFA-5E4BE640974B}"
@@ -1706,6 +1704,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.RateLi
17061704
EndProject
17071705
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.RateLimiting.Tests", "src\Middleware\RateLimiting\test\Microsoft.AspNetCore.RateLimiting.Tests.csproj", "{41FF4F96-98D2-4482-A2A7-4B179E80D285}"
17081706
EndProject
1707+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HelixTestRunner", "eng\tools\HelixTestRunner\HelixTestRunner.csproj", "{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}"
1708+
EndProject
17091709
Global
17101710
GlobalSection(SolutionConfigurationPlatforms) = preSolution
17111711
Debug|Any CPU = Debug|Any CPU
@@ -9778,22 +9778,6 @@ Global
97789778
{9B240135-3D1E-4EE6-B870-D810F3C856FB}.Release|x64.Build.0 = Release|Any CPU
97799779
{9B240135-3D1E-4EE6-B870-D810F3C856FB}.Release|x86.ActiveCfg = Release|Any CPU
97809780
{9B240135-3D1E-4EE6-B870-D810F3C856FB}.Release|x86.Build.0 = Release|Any CPU
9781-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
9782-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|Any CPU.Build.0 = Debug|Any CPU
9783-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|arm64.ActiveCfg = Debug|Any CPU
9784-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|arm64.Build.0 = Debug|Any CPU
9785-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|x64.ActiveCfg = Debug|Any CPU
9786-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|x64.Build.0 = Debug|Any CPU
9787-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|x86.ActiveCfg = Debug|Any CPU
9788-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Debug|x86.Build.0 = Debug|Any CPU
9789-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|Any CPU.ActiveCfg = Release|Any CPU
9790-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|Any CPU.Build.0 = Release|Any CPU
9791-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|arm64.ActiveCfg = Release|Any CPU
9792-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|arm64.Build.0 = Release|Any CPU
9793-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|x64.ActiveCfg = Release|Any CPU
9794-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|x64.Build.0 = Release|Any CPU
9795-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|x86.ActiveCfg = Release|Any CPU
9796-
{C0FD6DB3-9407-4F07-B909-16762E579ECB}.Release|x86.Build.0 = Release|Any CPU
97979781
{7C27E72F-54D0-4820-8CFA-5E4BE640974B}.Debug|Any CPU.ActiveCfg = Debug|Win32
97989782
{7C27E72F-54D0-4820-8CFA-5E4BE640974B}.Debug|arm64.ActiveCfg = Debug|Win32
97999783
{7C27E72F-54D0-4820-8CFA-5E4BE640974B}.Debug|x64.ActiveCfg = Debug|x64
@@ -10227,6 +10211,22 @@ Global
1022710211
{41FF4F96-98D2-4482-A2A7-4B179E80D285}.Release|x64.Build.0 = Release|Any CPU
1022810212
{41FF4F96-98D2-4482-A2A7-4B179E80D285}.Release|x86.ActiveCfg = Release|Any CPU
1022910213
{41FF4F96-98D2-4482-A2A7-4B179E80D285}.Release|x86.Build.0 = Release|Any CPU
10214+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
10215+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
10216+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|arm64.ActiveCfg = Debug|Any CPU
10217+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|arm64.Build.0 = Debug|Any CPU
10218+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|x64.ActiveCfg = Debug|Any CPU
10219+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|x64.Build.0 = Debug|Any CPU
10220+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|x86.ActiveCfg = Debug|Any CPU
10221+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Debug|x86.Build.0 = Debug|Any CPU
10222+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
10223+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|Any CPU.Build.0 = Release|Any CPU
10224+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|arm64.ActiveCfg = Release|Any CPU
10225+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|arm64.Build.0 = Release|Any CPU
10226+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|x64.ActiveCfg = Release|Any CPU
10227+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|x64.Build.0 = Release|Any CPU
10228+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|x86.ActiveCfg = Release|Any CPU
10229+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F}.Release|x86.Build.0 = Release|Any CPU
1023010230
EndGlobalSection
1023110231
GlobalSection(SolutionProperties) = preSolution
1023210232
HideSolutionNode = FALSE
@@ -11028,7 +11028,6 @@ Global
1102811028
{3F0C05F5-47EF-4896-8D32-4C80C4563286} = {B5E22428-DAD8-4275-B8F0-14EC2174DDFE}
1102911029
{83FA6123-6EC3-47F3-A0DC-A10225B5EB16} = {45211BB8-4F51-427D-ADA2-7478E3398A60}
1103011030
{9B240135-3D1E-4EE6-B870-D810F3C856FB} = {83FA6123-6EC3-47F3-A0DC-A10225B5EB16}
11031-
{C0FD6DB3-9407-4F07-B909-16762E579ECB} = {08D53E58-4AAE-40C4-8497-63EC8664F304}
1103211031
{5E46DC83-C39C-4E3A-B242-C064607F4367} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
1103311032
{7C27E72F-54D0-4820-8CFA-5E4BE640974B} = {D30A658D-61F6-444B-9AC7-F66A1A1B86B6}
1103411033
{7324770C-0871-4D73-BE3D-5E2F3E9E1B1E} = {D30A658D-61F6-444B-9AC7-F66A1A1B86B6}
@@ -11070,6 +11069,7 @@ Global
1107011069
{2299CCD8-8F9C-4F2B-A633-9BF4DA81022B} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
1107111070
{3AEFB466-6310-4F3F-923F-9154224E3629} = {2299CCD8-8F9C-4F2B-A633-9BF4DA81022B}
1107211071
{EFC8EA45-572D-4D8D-A597-9045A2D8EC40} = {2299CCD8-8F9C-4F2B-A633-9BF4DA81022B}
11072+
{51D07AA9-6297-4F66-A7BD-71CE7E3F4A3F} = {0F84F170-57D0-496B-8E2C-7984178EF69F}
1107311073
EndGlobalSection
1107411074
GlobalSection(ExtensibilityGlobals) = postSolution
1107511075
SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}

docs/UpdatingMajorVersionAndTFM.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Once dotnet/runtime has updated their TFM, we update ours in the dependency upda
3333

3434
* In [eng/Versions.props](/eng/Versions.props), increment `DefaultNetCoreTargetFramework` by 1.
3535
* Do a global repo search for the current version string, and update almost everything by 1 (e.g. find `net7`, replace with `net8`). See the PR linked above for examples - this shouldn't be done blindly, but on a case-by-case basis. Most things should be updated, and most choices should be obvious.
36-
* Exceptions to this are [eng/tools/RepoTasks/RepoTasks.csproj](/eng/tools/RepoTasks/RepoTasks.csproj), [eng/tools/RepoTasks/RepoTasks.tasks](/eng/tools/RepoTasks/RepoTasks.tasks), and [eng/helix/content/RunTests/RunTests.csproj](/eng/helix/content/RunTests/RunTests.csproj). These build without the workarounds from [eng/tools/GenerateFiles/Directory.Build.targets.in](/eng/tools/GenerateFiles/Directory.Build.targets.in), and need to be kept at the previous TFM until we get an SDK containing a runtime with the new TFM. Generally this means we have to hard-code the previous TFM for these files, rather than using `DefaultNetCoreTargetFramework`.
36+
* Exceptions to this are [eng/tools/RepoTasks/RepoTasks.csproj](/eng/tools/RepoTasks/RepoTasks.csproj), [eng/tools/RepoTasks/RepoTasks.tasks](/eng/tools/RepoTasks/RepoTasks.tasks), and [eng/tools/HelixTestRunner/HelixTestRunner.csproj](/eng/tools/HelixTestRunner/HelixTestRunner.csproj). These build without the workarounds from [eng/tools/GenerateFiles/Directory.Build.targets.in](/eng/tools/GenerateFiles/Directory.Build.targets.in), and need to be kept at the previous TFM until we get an SDK containing a runtime with the new TFM. Generally this means we have to hard-code the previous TFM for these files, rather than using `DefaultNetCoreTargetFramework`.
3737
* Add a reference to the new `SiteExtensions` package for the previous Major Version.
3838
1. Add references to [src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj](/src/SiteExtensions/LoggingAggregate/src/Microsoft.AspNetCore.AzureAppServices.SiteExtension/Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj) to `Microsoft.AspNetCore.AzureAppServices.SiteExtension.{PreviousMajorVersion}.0.x64` and `Microsoft.AspNetCore.AzureAppServices.SiteExtension.{PreviousMajorVersion}.0.x86`.
3939
2. Add entries in [eng/Versions.props](/eng/Versions.props) similar to [these](https://github.com/dotnet/aspnetcore/blob/216c92b78bce31d5e81a70b589707ec2ae5ab21a/eng/Versions.props#L224-L226) - the version should be from the latest released build of .Net.
@@ -56,4 +56,4 @@ Once dotnet/runtime has updated their TFM, we update ours in the dependency upda
5656

5757
## Ingesting an SDK with the new TFM
5858

59-
Typically we update the SDK we use in `main` every Monday. Once we have one that contains `Microsoft.Netcore.App` entries with the new TFM, we can update [eng/tools/RepoTasks/RepoTasks.csproj](/eng/tools/RepoTasks/RepoTasks.csproj), [eng/tools/RepoTasks/RepoTasks.tasks](/eng/tools/RepoTasks/RepoTasks.tasks), and [eng/helix/content/RunTests/RunTests.csproj](/eng/helix/content/RunTests/RunTests.csproj) to use `DefaultNetCoreTargetFramework` again rather than hard-coding the previous TFM.
59+
Typically we update the SDK we use in `main` every Monday. Once we have one that contains `Microsoft.Netcore.App` entries with the new TFM, we can update [eng/tools/RepoTasks/RepoTasks.csproj](/eng/tools/RepoTasks/RepoTasks.csproj), [eng/tools/RepoTasks/RepoTasks.tasks](/eng/tools/RepoTasks/RepoTasks.tasks), and [eng/tools/HelixTestRunner/HelixTestRunner.csproj](/eng/helix/tools/HelixTestRunner.csproj) to use `DefaultNetCoreTargetFramework` again rather than hard-coding the previous TFM.

eng/Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
$(RepoRoot)src\Extensions\**\*.csproj;
200200
$(RepoRoot)src\BuildAfterTargetingPack\*.csproj;
201201
$(RepoRoot)src\OpenApi\**\*.csproj;
202+
$(RepoRoot)eng\tools\HelixTestRunner\HelixTestRunner.csproj;
202203
"
203204
Exclude="
204205
@(ProjectToBuild);

eng/Versions.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,10 @@
283283
<MicrosoftDataSqlClientVersion>4.0.1</MicrosoftDataSqlClientVersion>
284284
<MicrosoftAspNetCoreAppVersion>6.0.0-preview.3.21167.1</MicrosoftAspNetCoreAppVersion>
285285
<MicrosoftOpenApiVersion>1.2.3</MicrosoftOpenApiVersion>
286+
<!-- dotnet tool versions (see also auto-updated dotnetefVersion property). -->
287+
<DotnetDumpVersion>6.0.322601</DotnetDumpVersion>
288+
<DotnetServeVersion>1.10.93</DotnetServeVersion>
289+
<MicrosoftPlaywrightCLIVersion>1.2.3</MicrosoftPlaywrightCLIVersion>
286290
</PropertyGroup>
287291
<!-- Restore feeds -->
288292
<PropertyGroup Label="Restore feeds">

eng/helix/Directory.Build.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
<Project>
2-
</Project>
1+
<Project />

eng/helix/Directory.Build.targets

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
<Project>
2-
</Project>
1+
<Project />

eng/helix/content/RunTests/Directory.Build.props

Lines changed: 0 additions & 1 deletion
This file was deleted.

eng/helix/content/RunTests/Directory.Build.targets

Lines changed: 0 additions & 1 deletion
This file was deleted.

eng/helix/content/RunTests/ProcessResult.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

eng/helix/content/RunTests/ProcessUtil.cs

Lines changed: 0 additions & 212 deletions
This file was deleted.

0 commit comments

Comments
 (0)