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
Build ARM64 in main windows build job #38997
Conversation
@dotnet/aspnet-build surprisingly this got as far as running tests, looks like the test x64 job is trying to run the arm64 tests as well, do you guys have any suggestions on what the best way for me to skip those tests in our windows x64 job? |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
Well this is green and building now, so at least that's good, @dougbu so this is basically a continuation of #30680 which you had a fair bit of back and forth with Sourabh, before I start bringing some more of those changes forward (specifically the installer stuff), did the issues around a separate windows native build step get resolved, i.e.
Do we still need to do any major job surgery? |
I am not sure. Depends on how the bits are laid out when |
I don't know yet because I haven't experimented enough. Suspect it will slightly lengthen a single "All SharedFx" job, eliminating the new |
@@ -23,6 +23,12 @@ | |||
<?define ProgramFilesFolder = ProgramFilesFolder ?> | |||
<?define SystemFolder = SystemFolder ?> | |||
<?define PlatformValue = Intel ?> | |||
<?elseif $(var.Platform) ~= "arm64" ?> |
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.
Why ~=
here as opposed to =
above?
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 the difference is only case insensitive, I can switch it to equals to be consistent if you prefer, we seem to be inconsistent with ARM64/arm64 more than the other platforms though
@@ -43,26 +51,13 @@ | |||
<PropertyGroup Label="Configuration"> | |||
<VCToolsVersion /> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32' OR '$(Configuration)|$(Platform)'=='Debug|x64' OR '$(Configuration)|$(Platform)'=='Debug|ARM64' OR '$(Configuration)|$(Platform)'=='Debug|Any CPU'" Label="Configuration"> |
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.
What platforms are you rejecting here (i.e. could you just check Configuration
= Debug
?)
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.
Do we have a regular ARM (not 64) bit platform that we build still? I believe that's the only one that's still split out from the main windows job on CI too
</Link> | ||
</ItemDefinitionGroup> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64' OR '$(Configuration)|$(Platform)'=='Release|Any CPU'"> | ||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32' OR '$(Configuration)|$(Platform)'=='Release|x64' OR '$(Configuration)|$(Platform)'=='Release|ARM64' OR '$(Configuration)|$(Platform)'=='Release|Any CPU'"> |
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.
Thanks for removing the duplication here. We should probably do that in more of these proj files at some point (not required in this PR :))
src/Servers/IIS/AspNetCoreModuleV2/CommonLibTests/CommonLibTests.vcxproj
Outdated
Show resolved
Hide resolved
<ClCompile> | ||
<PrecompiledHeader>NotUsing</PrecompiledHeader> | ||
<Optimization>Disabled</Optimization> | ||
<PreprocessorDefinitions>X64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
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.
Can you please confirm whether X64 is the right define to use for ARM64?
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.
Will do, I'm guessing this should be arm64, but will address in a follow up PR
@@ -45,6 +45,7 @@ | |||
<ProjectReference Include="..\CustomAction\aspnetcoreCA.vcxproj"> | |||
<Name>aspnetcoreCA</Name> | |||
<SetPlatform Condition="'$(Platform)' == 'x86'">Platform=Win32</SetPlatform> | |||
<SetPlatform Condition="'$(Platform)' == 'arm64'">Platform=ARM64</SetPlatform> |
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.
Curious, why isn't this needed for x64?
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.
Just guessing that x64 is the default perhaps, will leave this unresolved to follow up on this later
Left some comments, but this looks good otherwise as a first cut at getting ARM64 enabled in our builds. Thanks @HaoK! |
No description provided.