-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[main] Update dependencies from dotnet/runtime #29406
[main] Update dependencies from dotnet/runtime #29406
Conversation
…1205.5 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22605.5
Notification for subscribed users from https://github.com/dotnet/runtime:@dnr-codeflow Action requested: Please take a look at this failing automated dependency-flow pull request's checks; failures may be related to changes which originated in your repo.
|
So, here's the net8.0 runtime ingestion PR. cc @joeloff @marcpopMSFT It looks like there are some hardcoded values that need to be changed, i.e. here a "net7.0" assembly in the 8.0 runtime pack isn't found because the assembly is now in the corresponding net8.0 directory.
This seems to be specific to dotnet/sdk but if there's anything wrong on our side, please let us know. |
cc @radical as this is failing in the WasmApp.Native.targets. Also, this is a +1 of dotnet/runtime#79109 EDIT 1: EDIT 2: Lines 291 to 293 in 1924edc
|
…1206.7 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22606.7
@ViktorHofer is this still failing? Anything I can do to help? |
Yeah it's still failing. Based on git blame, @marcpopMSFT was the last one who touched the code in the yml that causes the wrong version of the workload to come in. Marc, can you please take a look? |
Is there a build for the failure? I don't see anything in Checks. |
@joeloff the latest codeflow didn't trigger a build for some reason but the prior failed build is here: https://dev.azure.com/dnceng-public/public/_build/results?buildId=103129&view=results |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
I see two sets of errors that need to be investigated. The second is what Viktor is raising in the blazorwasm aot tests. I see in the install logs that an 8.0 version of that file is getting installed: |
$ cat global.json
{
"tools": {
"dotnet": "8.0.100-alpha.1.22579.5",
"Microsoft.NET.Runtime.WebAssembly.Sdk": {
"kind": "Sdk",
"version": "8.0.0-alpha.1.22559.2"
},
Updating the sdk version in But is that the correct fix? Shouldn't the manifest be updated to match the versions received in this PR? |
If there is an sdk with the updated baseline, we should just update the global.json. We specifically do a --skip-manifest update as we don't want to install a random version of the workloads (which is kind of what we'd get). We found previously that we would pick up the newest build from the feeds which sometimes had compatibility problems and were unrelated to the code flowing so we switched. We could potentially switch to a rollback file instead to try to match the runtime version that's flowing but we haven't had a need for that till now. |
Since you haven't seen the need for this yet, the current case seems like a rare one, so I'll update |
|
Codeflow to the installer repo should update the baseline manifest that comes with the sdk. I believe the test environment for the sdk repo will pull that manifest from the stage0 sdk since it's not built in the repo itself. So is this a chicken/egg problem where we need a manifest from installer with this runtime build but it's blocked by this PR? |
Yeah, that's my understanding. |
Try removing the --skip-manifest-update for now and then we can add it back once we have a new SDK? That'll have some risk as changes flow if there are bad builds out of runtime that break workloads though. |
.. workaround. ths issue is described in #29406 (comment), and #29406 (comment) .
Removing it gets the latest package with the fix. In general:
There is some protection at least, as we run lot of wasm tests using the workloads in |
…1207.6 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22607.6
Seems tests assets still referencing .NET 7.0 and couldn't find binaries. @marcpopMSFT , is it time to change
|
…1209.1 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22609.1
Noah has started on that here: #29316 This is the first release we've had this mechanism but I don't think there is a sudden rush to update it. I had still been planning on transitioning after all the templates had been updated as I'm not sure we'll be able to have this work for any dotnet new tests until that time. At the moment, there are nearly a dozen templates still starting net7.0: https://github.com/dotnet/installer/blob/main/test/EndToEnd/ProjectBuildTests.cs#L399. |
For this PR the error is confusing as runtime already moved to 8.0 System.Text.Json in the host model weeks ago so not sure why it's looking for the 7.0 version still. https://github.com/dotnet/runtime/blame/main/eng/Versions.props#L139 |
@agocke @jtschuster @LakshanF @sbomer @vitek-karas This is now failing some single-file tests (looks like only targeting .NET 8) on Mac and Linux, with:
Can someone investigate? Should we disable those tests in the meantime to unblock the runtime flow? |
@VSadov for single file |
@agocke those tests weren't failing until this update came along dotnet/runtime@c635ae2...322f20c can it be dotnet/runtime@866f3eb? |
Seems unlikely, that should have just avoided copying in the case that we aren't building the singlefilehost, which shouldn't happen in official builds where we build everything. Even if it was missing, this is a strange failure case. I would expect it to have a missing file, not create an error. |
…1215.5 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22615.5
@agocke Would it be OK / a good idea to disable these failing tests and file a bug for them so that the runtime update can flow? This is blocking some other PRs. |
I'll take a quick look and see if I can find anything interesting, and disable the test if I can't find anything. |
It looks like something in net8.0 breaks singlefile apps on non-windows platforms. We do not see that in runtime repo though. It seems ok to disable the test to make progress. |
…1216.6 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22616.6
…1217.4 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22617.4
97a51cc regressed the inclusion of source generators in the targeting pack as the `netstandard2.0` inner build was never chosen by the sfx-gen.proj traversal project. Noticed in the SDK consumption PR: dotnet/sdk#29406
The latest error will be fixed with dotnet/runtime#79810 |
97a51cc regressed the inclusion of source generators in the targeting pack as the `netstandard2.0` inner build was never chosen by the sfx-gen.proj traversal project. Noticed in the SDK consumption PR: dotnet/sdk#29406
…1218.1 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22618.1
…1219.1 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22619.1
|
nowadays, multiple (7?) batch builds are created from dotnet/runtime daily but darc is configured to pick once per day (around 13:00-14:00 utc). apparently this policy was set long time ago when runtime used to have one official batch build a day. given the update blockers we frequently see (say in past year or two), are we happy with this frequency? all other repos participating in codeflow push their updates many times a day. problem is when something breaks in runtime, by the time fix is merged, if it misses the last batch build before the darc update runs it dealys the update by 24 hours during which something else can (and does) easily break. then it continues to pile up issues as we can see in this pr and other dotnet/runtime updates in the past year. (previous discussion: dotnet/installer#13376 (comment)) |
You can see that we got multiple dependency flow updates today because I triggered the subscription manually. We can of course change the interval but from my perspective that isn't necessary as whenever I need to ingest a fix, I just retrigger the subscription. |
…1219.2 Microsoft.Extensions.DependencyModel , Microsoft.NET.HostModel , Microsoft.NETCore.App.Host.win-x64 , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.DotNetHostResolver , Microsoft.NETCore.Platforms , System.CodeDom , System.Reflection.MetadataLoadContext , System.Resources.Extensions , System.Security.Cryptography.ProtectedData , System.Text.Encoding.CodePages , VS.Redist.Common.NetCore.SharedFramework.x64.8.0 , VS.Redist.Common.NetCore.TargetingPack.x64.8.0 From Version 8.0.0-alpha.1.22605.1 -> To Version 8.0.0-alpha.1.22619.2
what are the pros and cons of fast intervals automatically triggering darc update for each batch build? pros: less manual work, no need for human action, if something is failing we know it sooner, short window means less chances of something else regressing, aligns runtime update interval with other repos cons: ? |
One problem that we had with per commit batched subscriptions is that they were constantly adding to the PR which then never had a chance to finish validation before another commit came in. |
per commit'd be too much. batch builds are triggered in runtime repo every 4 or 6 hours and not per commit, how was it colliding? what we see is aspnetcore, msbuild, winforms and every repo but runtime have set their subscription so when there's a new batch build (every few hours), darc is free to push an update to sdk. it's enough time for ci to complete. |
Every 4 or 6 hours is still quite often when you're trying to get a dependency update through and need to rerun jobs to deal with flaky tests, infrastructure issues etc and it's very annoying for the PR builds to be restarted just because darc pushed an update. Having to manually trigger an update when you really need to get a change in sooner has not been an issue in my experience. |
This pull request updates the following dependencies
From https://github.com/dotnet/runtime