[msbuild] Update ComputeInstructionSet for Xcode 27. Fixes #24653 - #26637
rolfbjarne wants to merge 2 commits into
Conversation
Refresh device and CPU data, correct maximum OS versions, and cover the iOS/iPadOS and tvOS 27 instruction-set boundaries. Sources: - Apple security releases and supported-device lists: https://support.apple.com/en-us/100100 https://support.apple.com/en-us/149034 https://support.apple.com/en-us/149036 - Apple device identification and technical specifications: https://support.apple.com/en-us/108044 https://support.apple.com/en-us/108043 https://support.apple.com/en-us/101605 - Apple Newsroom product announcements: https://www.apple.com/newsroom/archive/ - A12X/A12Z architecture details: https://en.wikipedia.org/wiki/Apple_A12X_Bionic Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Address the two test coverage gaps and narrow the inaccurate A12 documentation comment.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates Apple device and CPU compatibility data for Xcode 27, including iOS/iPadOS and tvOS boundaries.
Changes:
- Adds newer device and CPU mappings.
- Updates legacy maximum OS versions.
- Expands instruction-set boundary tests.
File summaries
| File | Summary | Review notes |
|---|---|---|
tests/msbuild/Xamarin.MacDev.Tasks.Tests/TaskTests/ComputeInstructionSetTaskTests.cs |
Adds updated iOS/iPadOS and tvOS boundary cases. | Moderate (1): Add a tvOS 26.7 case and focused coverage for A19/A19Pro/A20Pro/M5 mappings. Nit (2): Scope the A12 comment to the applicable iPad models. |
msbuild/Xamarin.MacDev.Tasks/Tasks/ComputeInstructionSet.cs |
Updates device and CPU instruction-set tables. | No final comments. |
Review details
Suppressed comments (2)
tests/msbuild/Xamarin.MacDev.Tasks.Tests/TaskTests/ComputeInstructionSetTaskTests.cs:48
⚠️ Testing — The new max-version boundary forAppleTV4/AppleTV4Kis26.6, so26.7is the first version that must selectarmv8.3-a. The current cases cover only26.6and27.0; add a26.7case so an off-by-one max-version regression cannot pass these tests.
[TestCase (ApplePlatform.TVOS, "26.6", "armv8-a")] // Last release for Apple TV 4
[TestCase (ApplePlatform.TVOS, "27.0", "armv8.3-a")] // Apple TV 4K 2nd gen and newer
tests/msbuild/Xamarin.MacDev.Tasks.Tests/TaskTests/ComputeInstructionSetTaskTests.cs:27
- 💡 Test coverage — These cases only assert the aggregate minimum ISA and never exercise the newly added A19/A19Pro/A20Pro/M5 mappings: the iOS boundaries select the older A12/A12Z devices, while macOS derives
apple-m1directly from the RID. Add focused coverage for the new CPU entries so a typo or unsupported instruction-set value cannot go unnoticed.
[TestCase (ApplePlatform.iOS, "26.0", "armv8.3-a")] // A12 devices can run iOS/iPadOS 26
[TestCase (ApplePlatform.iOS, "26.7", "armv8.3-a")] // Last release for A12 devices
[TestCase (ApplePlatform.iOS, "27.0", "armv8.3-a")] // A12Z iPad Pro can run iPadOS 27
- Files reviewed: 2/2 changed files
- Comments generated: 1
- Review effort level: Lite
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
🔥 [CI Build #fa19838] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 2 tests failed, 262 tests passed. Failures❌ introspection tests1 tests failed, 6 tests passed.Failed tests
Html Report (VSDrops) Download ❌ monotouch tests (iOS)1 tests failed, 24 tests passed.Failed tests
Html Report (VSDrops) Download Successes✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Update the
ComputeInstructionSetdevice and CPU tables through September 2026.This updates maximum OS versions for devices that no longer support the latest release, adds the devices and CPUs introduced since the previous update, and covers the iOS/iPadOS and tvOS 27 instruction-set boundaries.
Sources:
Fixes #24653.
🤖 Pull request created by Copilot