-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Enable win registry install location for all architectures #54698
Conversation
Tagging subscribers to this area: @vitek-karas, @agocke, @VSadov Issue DetailsFollow-up of #53763 Enable the multi-architecture install locations on Windows Registry. The registration mechanism works the same way, we are only lifting the requirement of having to be running on x64/x86 to use the registry.
|
src/installer/tests/HostActivation.Tests/MultiArchInstallLocation.cs
Outdated
Show resolved
Hide resolved
#if !defined(TARGET_AMD64) && !defined(TARGET_X86) | ||
return false; | ||
#else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that you made basically no changes to existing tests - does it mean that we don't run the tests on Windows ARM32 or ARM64 at all?
Or does it mean that we didn't have any tests validating the current behavior?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently the host tests don't run on arm or arm64 at all (Windows or not):
runtime/eng/pipelines/installer/jobs/base-job.yml
Lines 63 to 69 in fc4a427
- name: SkipTests | |
value: ${{ or( | |
not(in(parameters.archType, 'x64', 'x86')), | |
eq(parameters.runtimeFlavor, 'mono'), | |
eq(parameters.isOfficialBuild, true), | |
eq(parameters.crossBuild, true), | |
eq(parameters.pgoType, 'PGO')) }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll enable them on a separate PR (which should be merged before this one) -- curious if this will cause existing tests to fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair warning - I expect enabling them may be a bit involved. I think the main reason the arm/arm64 tests are currently skipped is that the hosting tests haven't been set up to send tests to helix, so they just run on the build machine (which works fine for x64/x86).
#if !defined(TARGET_AMD64) && !defined(TARGET_X86) | ||
return false; | ||
#else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently the host tests don't run on arm or arm64 at all (Windows or not):
runtime/eng/pipelines/installer/jobs/base-job.yml
Lines 63 to 69 in fc4a427
- name: SkipTests | |
value: ${{ or( | |
not(in(parameters.archType, 'x64', 'x86')), | |
eq(parameters.runtimeFlavor, 'mono'), | |
eq(parameters.isOfficialBuild, true), | |
eq(parameters.crossBuild, true), | |
eq(parameters.pgoType, 'PGO')) }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should be able to merge this - assuming we did some manual testing of it.
b54c5ab
to
87ba676
Compare
@mateoatr Is this ready to go? |
Yup. I did some local validation on a win-arm64 machine: arm apps work as expected, running an x86 apphost works fine as well. The |
Do we still need to swap the DOTNET_ROOT ordering, or is that already done? |
Nope. It's already done -- I was having issues with |
/backport to release/6.0-rc1 |
Started backporting to release/6.0-rc1: https:/dotnet/runtime/actions/runs/1151559541 |
Follow-up of #53763
Enable the multi-architecture install locations on Windows Registry. The registration mechanism works the same way, we are only lifting the requirement of having to be running on x64/x86 to use the registry.