-
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
Add VMR leg that builds test projects #44843
base: main
Are you sure you want to change the base?
Conversation
Fixes dotnet/source-build#4168 Running as part of the PR to get some initial results.
@am11 did we see this one when we updated the VMR to the .NET 10 SDK? Can't remember if we talked about it. |
Yup, it was #43015 (comment). It will probably need a fix like dotnet/winforms@main...am11:winforms:patch-1. I'll try building it on windows soon. |
@am11 would you want to help me with driving this one in? I currently have some other obligations and won't be able to get back to this PR anytime soon. See the above efcore test failure. They need the same first class Span reaction update. There's also a winforms test failure in the PR that I don't really understand yet. |
I think #44922 is bringing winforms change. I'll check efcore. |
The efcore issue is weird:
The winforms failure is also still happening. |
Looks like a known bug dotnet/fsharp#17451. A solution (workaround?) is here dotnet/fsharp#11546 (comment). Since it is a test assembly perhaps we should just disable strong name signing? |
It would be interesting to understand why the fsharp test build behaves differently with the VMR. |
I'll try to set |
cc @mmitche as you approved the Arcade PR: dotnet/arcade#12940 and might have context here. |
I believe this should be conditioned on source-only or non-source only builds, rather than a blanket setting across all VMR builds. That said, I'm slightly uncomfortable with where the setting is put. I think it should actually be in StrongName.targets or generally within the arcade infra, rather than the source build control setup. |
I'll file an issue and open a PR to fix this. |
The winforms failures might be related to these sync exclusions: sdk/src/VirtualMonoRepo/source-mappings.json Lines 186 to 194 in b52ec46
The aspnetcore failures happen because we build the repo with desktop msbuild. |
Merging with latest brought 4 compiler issues in
I'll either suppress this or have a fix - it will go directly to |
This will be taken care of as part of dotnet/arcade#15404 |
In my local build with a fix for arcade, I hit the following WinForms errors - @ViktorHofer do you know if these will also be fixed with the SDK update? If not, I'll work on the fixes.
|
No they won't. These are new analyzer warnings that got introduced with the recent SDK bump. Those would need to get addressed or suppressed. |
Now,
@wtgodbe @ViktorHofer is there a way around this? Excluding these tests might be one option but I'm unsure of the impact of that change. |
@wtgodbe this code path looks problematic as we are building aspnetcore with desktop msbuild inside the VMR. Any idea why this is conditioned to only run with core msbuild? |
The task isn't compiled for desktop msbuild: https://github.com/dotnet/aspnetcore/blob/7340678143d9ade4b772bad5e3ffd0b86718706e/eng/tools/RepoTasks/RepoTasks.csproj#L29-L30 I'll try to build it and remove task condition, to see what we get. |
That task/behavior is new as of dotnet/aspnetcore#57431, @javiercn may know more |
@wtgodbe I think it was because it uses some APIs that are only available in .NET Core. |
@ViktorHofer @wtgodbe do you know the reason for using desktop msbuild for Apparently, Windows build leg in |
It's because we build our native components (e.g. ANCM, |
Building aspnetcore with desktop in the VMR is currently a strong dependency. As Will mentioned, it's needed for both the native vcxprojs part but also for the wixprojs. The latter will go away when we upgrade to a newer version of the Wix toolset. FWIW I think the only right solution here is to not exclude the task compile item when building with desktop msbuild. By any means of polyfilling or using different APIs. @NikolaMilosavljevic I assume you already tried that? What are the challenges with those files? |
I am working on enabling the task on desktop - it doesn't appear to be trivial as there are dependencies that also need to be enabled. I'll have more data soon. |
As expected, enabling However, that class, has a dependency on Library that implements Two ideas:
|
Given that this only runs on windows, could you shell out to I would caution against disabling the tests, since we would be loosing important coverage. |
I am testing some code for proper certificate generation on Windows - some of this was borrowed from |
Fixes dotnet/source-build#4168
Running as part of the PR to get some initial results.