Skip to content

Conversation

@matouskozak
Copy link
Member

@matouskozak matouskozak commented Dec 8, 2025

  • New arm64 variants of Apple tests apps
  • Use newer iphone simulator for testing

@matouskozak
Copy link
Member Author

matouskozak commented Dec 9, 2025

We will need to update the sample apps. We should probably add arm64 specific sampels to not rely on rosetta running x64 apps.

The current structure is

ios-device
tvos-device
ios-simulator-64 (x64 apps)
tvos-simulator (x64 apps)
maccatalyst (x64 apps)

One proposal:

image

We would need to add arm64 specific apps for simulators and maccatalyst. This should be possible to make work with the changes to Simulator.Tests.proj

  <PropertyGroup>
    <IsArm64Queue>$(HelixTargetQueue.Contains('arm64'))</IsArm64Queue>
    <IsAmd64Queue>$(HelixTargetQueue.Contains('amd64'))</IsAmd64Queue>
    <ArchSuffix Condition="'$(IsArm64Queue)' == 'true'">-arm64</ArchSuffix>
    <ArchSuffix Condition="'$(IsArm64Queue)' != 'true'"></ArchSuffix>
  </PropertyGroup>

  <Target Name="ValidateArchitecture" BeforeTargets="Build">
    <Error Condition="'$(IsArm64Queue)' != 'true' and '$(IsAmd64Queue)' != 'true'"
           Text="Unable to detect architecture from HelixTargetQueue '$(HelixTargetQueue)'. Queue name must contain 'arm64' or 'amd64'." />
  </Target>

...

      <AdditionalProperties>TestTarget=ios-simulator-64$(ArchSuffix);TestAppBundleName=System.Numerics.Vectors.Tests.app</AdditionalProperties>

Any suggestions for better structure @kotlarmilos @rmarinho @akoeplinger ?

Another approach could be just add x64/arm64 subfolders to each of the TestTarget folders (for devices only arm64). This would require changes to device test project files.

@kotlarmilos
Copy link
Member

Another approach could be just add x64/arm64 subfolders to each of the TestTarget folders (for devices only arm64). This would require changes to device test project files.

I vote for this but don't have a strong opinion.

@matouskozak
Copy link
Member Author

Another approach could be just add x64/arm64 subfolders to each of the TestTarget folders (for devices only arm64). This would require changes to device test project files.

I vote for this but don't have a strong opinion.

I've also thinking about this strongly, what discourages me a bit is that it will require changes to both device and simulator tests files but it is certainly doable.

@kotlarmilos
Copy link
Member

@matouskozak I think the exit code issue has been fixed. The tests are now failing with:

Invalid Image: /Users/helix-runner/Library/Developer/CoreSimulator/Devices/48D6048D-D7D8-4587-8926-7800FCF8D7FD/data/Containers/Bundle/Application/E3014663-6A73-4D4A-B827-F1E18724E840/System.Numerics.Vectors.Tests.app/._System.Numerics.Vectors.Tests.dll

@matouskozak matouskozak requested review from akoeplinger, kotlarmilos, rmarinho and rolfbjarne and removed request for kotlarmilos December 12, 2025 18:37
@matouskozak matouskozak merged commit 39545df into dotnet:main Dec 15, 2025
17 checks passed
@matouskozak matouskozak deleted the osx-26-for-arm branch December 15, 2025 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants