Skip to content
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] Fix MonoToolchain.Current naming and Update dependencies from dotnet/emsdk and dotnet/sdk #15366

Merged
merged 21 commits into from
Jan 31, 2023

Conversation

lewing
Copy link
Member

@lewing lewing commented Jan 27, 2023

Update dotnet/emsdk dependency with new workload prerelease naming (and add a comment about the incoming mono name change)

Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli
 From Version 8.0.100-alpha.1.23077.4 -> To Version 8.0.100-alpha.1.23077.5
Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli
 From Version 8.0.100-alpha.1.23077.4 -> To Version 8.0.100-alpha.1.23077.7
@lewing
Copy link
Member Author

lewing commented Jan 27, 2023

waiting for dotnet/runtime#80401

@lewing lewing force-pushed the lewing/current-manifest-names branch from 0a88868 to ba33343 Compare January 27, 2023 23:53
@lewing lewing marked this pull request as ready for review January 27, 2023 23:53
@lewing
Copy link
Member Author

lewing commented Jan 27, 2023

this should be mergeable in the current form now and the I'll update toolchain swap once the pr lands

https://github.com/dotnet/runtime/blob/main/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in#L4 won't be satisfied if we do

We don't need to wait for dotnet/runtime#80401 the current runtime workload dependency is on the net7 pack that does exist in both builds.

@lewing lewing force-pushed the lewing/current-manifest-names branch from c308885 to 8981bd9 Compare January 28, 2023 00:14
@lewing
Copy link
Member Author

lewing commented Jan 28, 2023

@dsplaisted for dotnet/darc packages is there some reason we can't just assume the feature band from the package version instead of the package name, setup a fallback order where release/rtm > rc > preview > alpha/beta and do the right thing automatically? Getting the darc flow corrent and renaming all the variables for each branding change seems unmaintainable and we still end explicitly setting the band even when it is in the name.

cc @marcpopMSFT @mmitche

@lewing
Copy link
Member Author

lewing commented Jan 28, 2023

or we could flip the naming convention and use the nuget version unless there is a -<label>.<iteration> (with some ordering) in the package name which would resolve the issue for runtime and continue to work for maui

cc @steveisok

@lewing lewing requested a review from joeloff January 28, 2023 01:27
@lewing lewing changed the title Add Current manifests entries for wasm/mono Update dependencies for emsdk Jan 28, 2023
@lewing lewing changed the title Update dependencies for emsdk [main] Update dependencies from dotnet/emsdk Jan 28, 2023
@lewing lewing enabled auto-merge January 28, 2023 02:40
@lewing
Copy link
Member Author

lewing commented Jan 28, 2023

opened #15367

@@ -1,5 +1,6 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<NetFeatureBandPrerelease>8.0.100-$(PreReleaseVersionLabel).$(PreReleaseVersionIteration)</NetFeatureBandPrerelease>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't 100% correct since it is encoded in the package name and could be different from the sdk PreReleaseVersion* setting but I can't use the package version for the same reason and using the package name here would break intent of the prerelease setting. #15367

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least this way it will fail if there isn't a package that satisfies the conditions required to make it mostly work

@lewing lewing changed the title [main] Update dependencies from dotnet/emsdk [main] Update dependencies from dotnet/emsdk and dotnet/sdk Jan 29, 2023
@lewing lewing changed the title [main] Update dependencies from dotnet/emsdk and dotnet/sdk [main] Fix MonoToolchain.Curremt nameing and Update dependencies from dotnet/emsdk and dotnet/sdk Jan 29, 2023
@lewing lewing changed the title [main] Fix MonoToolchain.Curremt nameing and Update dependencies from dotnet/emsdk and dotnet/sdk [main] Fix MonoToolchain.Curremt naming and Update dependencies from dotnet/emsdk and dotnet/sdk Jan 29, 2023
@lewing
Copy link
Member Author

lewing commented Jan 29, 2023

System.IO.DirectoryNotFoundException : Could not find a part of the path 'D:\a\_work\1\s\artifacts\bin\EndToEnd.Tests\Debug\net7.0\Tests\EndToEnd.Tests\ItCanPublishArm64Winforms\bin\Debug'.


Stack trace
   at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
   at System.IO.Enumeration.FileSystemEnumerator`1.Init()
   at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
   at System.IO.Enumeration.FileSystemEnumerableFactory.DirectoryInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
   at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
   at System.IO.DirectoryInfo.GetDirectories(String searchPattern, EnumerationOptions enumerationOptions)
   at EndToEnd.Tests.ProjectBuildTests.ItCanPublishArm64Winforms(String TargetFramework) in /_/test/EndToEnd/ProjectBuildTests.cs:line 112
   at InvokeStub_ProjectBuildTests.ItCanPublishArm64Winforms(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)

No idea why this pr could be causing a wpf failure, but those are the only failing tests.

@lewing lewing changed the title [main] Fix MonoToolchain.Curremt naming and Update dependencies from dotnet/emsdk and dotnet/sdk [main] Fix MonoToolchain.Current naming and Update dependencies from dotnet/emsdk and dotnet/sdk Jan 30, 2023
@mmitche
Copy link
Member

mmitche commented Jan 30, 2023

or we could flip the naming convention and use the nuget version unless there is a -<label>.<iteration> (with some ordering) in the package name which would resolve the issue for runtime and continue to work for maui

cc @steveisok

You could probably keep have package name shift, but construct the package ref in here based on this repo's feature band/major version. This would work as long as the version of the package always remains the same as another that does have a stable name.

@mmitche mmitche closed this Jan 30, 2023
auto-merge was automatically disabled January 30, 2023 16:58

Pull request was closed

@mmitche mmitche reopened this Jan 30, 2023
<BundledManifests Include="Microsoft.NET.Workload.Emscripten.net7" FeatureBand="$(NetFeatureBand)" Version="$(EmscriptenWorkloadManifestVersion)" />
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain.net6" FeatureBand="$(NetFeatureBand)" Version="$(MonoWorkloadManifestVersion)" />
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain.net7" FeatureBand="$(NetFeatureBand)" Version="$(MonoWorkloadManifestVersion)" />
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain.Current" FeatureBand="$(NetFeatureBandPrerelease)" Version="$(MonoWorkloadManifestVersion)" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to remember to update the VS authoring once an SDK with this change is inserted.

@mmitche
Copy link
Member

mmitche commented Jan 30, 2023

@mmitche I made the MonoToolchain workload dependency flow from sdk still since that is where it has been coming from but we should probably do the same in emscripten. Or we could in theory let the workload flow directly which would mean they aren't at the bottom of the stack but it has other risks I suppose

Because runtime as a dependency on emsdk, flowing them directly doesn't result in a coherent product until runtime gets the same update and flows through. So coherency tying them is the right thing to do.

Note that you need to add the dependency to sdk for the coherency tie to work predictably.

@lewing
Copy link
Member Author

lewing commented Jan 30, 2023

#15370 test failure is unrelated to the workload changes

@marcpopMSFT marcpopMSFT enabled auto-merge (squash) January 31, 2023 00:03
@lewing
Copy link
Member Author

lewing commented Jan 31, 2023

@joeloff we're hitting signing issues on hashed msi names now

@lewing
Copy link
Member Author

lewing commented Jan 31, 2023

Updated the signing exclusions, hopefully that is the last thing

@marcpopMSFT marcpopMSFT merged commit 6caeedd into main Jan 31, 2023
@marcpopMSFT marcpopMSFT deleted the lewing/current-manifest-names branch January 31, 2023 02:53
@lewing
Copy link
Member Author

lewing commented Jan 31, 2023

/backport to release/8.0.1xx

@lewing
Copy link
Member Author

lewing commented Jan 31, 2023

Awww, isn't backport in arcade now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants