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

Use new MacOS arm64 pool for official builds #98117

Merged
merged 4 commits into from
Feb 29, 2024

Conversation

steveisok
Copy link
Member

This pool is only available internally for now, so let's use it!

This pool is only available internally for now, so let's use it!
@ghost
Copy link

ghost commented Feb 7, 2024

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

This pool is only available internally for now, so let's use it!

Author: steveisok
Assignees: steveisok
Labels:

area-Infrastructure-libraries

Milestone: -

@steveisok steveisok requested a review from a team February 7, 2024 17:05
@steveisok
Copy link
Member Author

vmImage: 'macos-12'

# Official build OSX pool
${{ if and(in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator'), ne(variables['System.TeamProject'], 'public')) }}:
vmImage: 'macos-13-arm64'
Copy link
Member

@jkotas jkotas Feb 7, 2024

Choose a reason for hiding this comment

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

We should double check that these builds use native Arm64 SDK after the switch.

(x64 SDK running on Arm64 emulator is slow and it has reliability issues.)

@filipnavara
Copy link
Member

filipnavara commented Feb 7, 2024

I assume there’s a newer Xcode on these machines, right? It breaks NativeAOT builds (which is a problem since Crossgen2 and ILCompiler are published with PublishAot).

@jkotas
Copy link
Member

jkotas commented Feb 7, 2024

These machines have Xcode_15.0.1.

@filipnavara
Copy link
Member

filipnavara commented Feb 7, 2024

These machines have Xcode_15.0.1.

Anything >= 15 uses the new linker and is affected.

@filipnavara
Copy link
Member

Issue: #97745 (comment)
Workaround: #97960

Note that just applying the workaround would not be enough since the tools are built with published ILCompiler, not the in-tree one.

@steveisok
Copy link
Member Author

Official build run https://dev.azure.com/dnceng/internal/_build/results?buildId=2372706&view=results

Assuming we can get machines off the pool reliably, the build times are a lot better. I think we're going to shave 30-40 min off of the official build. Should positively impact PR's if available publicly.

The artifacts need tested / revert to the old pool for nativeaot (or #97745 gets fixed) before this can be merged.

@steveisok
Copy link
Member Author

@jkotas @filipnavara can we split building ILCompiler / nativeaot runtime packs into its own leg that uses the old macs?

@filipnavara
Copy link
Member

filipnavara commented Feb 8, 2024

can we split building ILCompiler / nativeaot runtime packs into its own leg that uses the old macs?

There’s a PR to use old linker for net8.0 branch (#97856). We can probably take the bits to unblock this PR. Also, we need to check #98124. I can do both tomorrow if you feel like it’s worth pushing it through.

@jkotas
Copy link
Member

jkotas commented Feb 8, 2024

I agree with @filipnavara that applying the workaround is the right way to go. Splitting the native aot specific builds into its own legs would be non-trivial and it would be colliding with what we are trying to do for Unified Build.

@akoeplinger
Copy link
Member

FYI I've seen a couple random disconnects with this pool in the VMR build: https://dev.azure.com/dnceng/internal/_build?definitionId=1330&_a=summary&branchFilter=256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180%2C256180&statusFilter=cancelled

Interestingly all of them in the "Publish BuildLogs" step which just uploads files to AzDO...
I think we have some contact on the Mac pool team we could ping right?

@steveisok
Copy link
Member Author

Interestingly all of them in the "Publish BuildLogs" step which just uploads files to AzDO... I think we have some contact on the Mac pool team we could ping right?

I'd post on FR if you didn't already.

@jkotas
Copy link
Member

jkotas commented Feb 28, 2024

Have we done multiple successful trial runs on the new pool? If yes, this looks good to me.

@steveisok
Copy link
Member Author

Have we done multiple successful trial runs on the new pool? If yes, this looks good to me.

Yes, I kicked it off a few times.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-libraries NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants