[main] Update dotnet/runtime#35048
Conversation
|
this may need additional tweaks to deal with the band versioning |
|
Installer needs a bunch of updates as well once this lands |
|
who is on point to either identifying the individual failures and farming out the work and/or handling them? |
|
@jeffschwMSFT There shouldn't be too much. This was the commit to switch to 8: 8119940 |
|
opened dotnet/arcade#14002 for future me |
|
Looks like it is failing on rid resolution now @elinor-fung can you take a look? |
|
The built tests are configured to run on a runtime from before dotnet/docs#36466 for some reason. If I build But from this branch, it has: I'm not sure why yet - cc @dsplaisted in case it is something obvious to you |
|
This is what does the updating to the runtime version that gets used by tests: Lines 46 to 54 in aabbd97 But with this PR,
|
|
@dsplaisted / @marcpopMSFT how does SDK usually handle updating major versions and targeting the consumed runtime version? The retargeting for ASP.NET references has a similar condition: Lines 56 to 63 in aabbd97 |
|
Now that the dependency flow is bringing in .NET 9 instead of .NET 8, the build doesn't have a version of .NET 8 to update the targeting to. I think the thing to do here is to update the stage 0 SDK to one that has a recent enough version of the runtime. FYI for those not aware, here is where we are trying to keep track of the changes needed each time we update to a new TargetFramework: https://github.com/dotnet/sdk/blob/main/documentation/general/UpdateToNewTargetFramework.md Feel free to update it as appropriate. |
|
@ViktorHofer @dotnet/domestic-cat please take a look |
| var originalBundledNETCoreAppPackageVersion = propertyGroup.Element(ns + "BundledNETCoreAppPackageVersion").Value; | ||
| var parsedOriginalBundledPackageVersion = SemanticVersion.Parse(originalBundledNETCoreAppPackageVersion); | ||
| var parsedMicrosoftNETCoreAppRefPackageVersion = | ||
| SemanticVersion.Parse(microsoftNETCoreAppRefPackageVersion); | ||
|
|
||
| // In the case where we have a new major version, it'll come in first through the dotnet/runtime flow of the | ||
| // SDK's own package references. The Stage0 SDK's bundled version props file will still be on the older major version | ||
| // (and the older TFM that goes along with that). If we just replaced the bundled version with the new major version, | ||
| // apps that target the 'older' TFM would fail to build. So we need to keep the bundled version from the existing | ||
| // bundledversions.props in this one specific case. | ||
|
|
||
| var newBundledPackageVersion = | ||
| parsedOriginalBundledPackageVersion.Major == parsedMicrosoftNETCoreAppRefPackageVersion.Major | ||
| ? microsoftNETCoreAppRefPackageVersion | ||
| : originalBundledNETCoreAppPackageVersion; | ||
|
|
||
| propertyGroup.Element(ns + "BundledNETCoreAppPackageVersion").Value = newBundledPackageVersion; | ||
|
|
There was a problem hiding this comment.
@dsplaisted would you mind double-checking this and seeing if it matched what you were talking about?
There was a problem hiding this comment.
Yes, this matches what I expected. It might be better to use NuGetVersion instead of SemanticVersion. I'm not too sure of the differences between them, but the code I've seen has used NuGetVersion.
|
latest change has us down to 34 test failures. @dotnet/source-build-internal @agocke @sbomer
|
Side note: not the issue being hit in this PR, but that error is also being downgraded to a warning (dotnet/runtime#91715), so the test will also need to be updated when that change flows over. |
Maybe the wasm error is the same as root cause as the native aot one - seems like the test environment gets constructed such that it is using older packages. As with |
This is because 9.0 targets are being used with a 8.0 runtime pack. I'm trying to reproduce this locally now. |
The tests fail with: ``` emcc : error : /private/tmp/helix/working/A19408C3/w/B54A09BA/e/testExecutionDirectory/.nuget/packages/microsoft.netcore.app.runtime.mono.browser-wasm/8.0.0-rc.1.23414.4/runtimes/browser-wasm/native/libmono-wasm-simd.a: No such file or directory ``` .. because the build is using 9.0 targets, but 8.0 runtime pack. This commit works around that issue by overriding the runtime pack path to point to the correct one. `WasmOverridePacks.targets` is taken from `Wasm.Build.Tests` in `dotnet/runtime`. This workaround can be removed once we have a proper 9.0 workload.
|
Looks like we are down to NativeAOT publish failures now? |
|
@dotnet/source-build-internal could you please advise how to track where these prebuilts are coming from and how to version |
| </Dependency> | ||
| <Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="8.0.0-rc.1.23421.3"> | ||
| <Dependency Name="Microsoft.NETCore.DotNetHostResolver" Version="9.0.0-alpha.1.23455.1"> | ||
| <Uri>https://github.com/dotnet/runtime</Uri> |
There was a problem hiding this comment.
Is this intentionally incoherent with the other runtime dependencies? They are on version 9.0.0-alpha.1.23464.19 and sha a6c64c3c26417f579022e20cbcee992b4814ed2c. This is the source of the following source-build prebuilts that are being reported:
<Usage Id="Microsoft.NETCore.DotNetAppHost" Version="9.0.0-alpha.1.23455.1" File="src/artifacts/obj/Microsoft.DotNet.MSBuildSdkResolver/project.assets.json" />
<Usage Id="Microsoft.NETCore.DotNetAppHost" Version="9.0.0-alpha.1.23455.1" File="src/artifacts/obj/Microsoft.DotNet.SdkResolver/project.assets.json" />
<Usage Id="Microsoft.NETCore.DotNetHostResolver" Version="9.0.0-alpha.1.23455.1" File="src/artifacts/obj/Microsoft.DotNet.MSBuildSdkResolver/project.assets.json" IsDirectDependency="true" />
<Usage Id="Microsoft.NETCore.DotNetHostResolver" Version="9.0.0-alpha.1.23455.1" File="src/artifacts/obj/Microsoft.DotNet.SdkResolver/project.assets.json" IsDirectDependency="true" />
There was a problem hiding this comment.
We actually removed Microsoft.NETCore.DotNetHostResolver in runtime. It looks like this repo is using it to grab hostfxr for Framework builds. I think it can use Microsoft.NETCore.App.Runtime.* packages - I'll take a look.
I took a quick look. Here is what I did:
|
|
Second grouping from Microsoft.DotNet.MSBuildSdkResolver / Microsoft.DotNet.SdkResolver is resolved. #35048 (comment) is all that is left. |
|
@marcpopMSFT ping |
Fix the 9.0.100 band in the emsdk transport package name