ci: pin iOS/Mac Catalyst workload set + Xcode version for todoapp-uno ios-maccatalyst build#561
Merged
Merged
Conversation
Samples require platform SDKs/workloads not guaranteed to be available locally. Document the proper validation approach: push the branch to the local fork and trigger the Build Samples workflow via workflow_dispatch, then poll for results. Note that a full run across all samples takes approximately 6 minutes end-to-end, so agents can set correct timing expectations when polling.
… ios-maccatalyst build Fixes CommunityToolkit#559. Applies the same fix as CommunityToolkit#530 (todoapp-avalonia/maui ios jobs) to todoapp-uno's ios-maccatalyst job: dotnet workload install ios maccatalyst was unpinned, resolving the newest Microsoft.iOS.Sdk pack (26.5.10284, requiring Xcode 26.5) which isn't available on macos-latest (currently Xcode 16.4). Pin runs-on to macos-15, explicitly select the already-installed Xcode 26.3, and pin the workload install to workload set 10.0.107 (resolves to Microsoft.iOS.Sdk.net10.0_26.2.10233, which requires Xcode 26.3).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #559.
todoapp-uno / ios-maccatalystcallsdotnet workload install ios maccatalystunpinned, which always resolves the newest published
Microsoft.iOS.Sdk.net10.0_*pack. As of workload set
10.0.108, that's26.5.10284, which requires Xcode26.5 - not installed on
macos-latest(currently Xcode 16.4), causing:This is the same failure class as #529, fixed for
todoapp-avalonia / iosandtodoapp-maui / iosin #530.todoapp-unowas intentionally left out of thatPR (not yet wired into
build-samples.yml, blocked by #506) and was missedonce it was wired in, so
ios-maccatalystkept floating onmacos-latestunpinned.
What changed
todoapp-uno / ios-maccatalystnow:runs-ontomacos-15(instead ofmacos-latest) so the Xcodeversion available on the runner is deterministic, matching the
todoapp-avalonia / iosandtodoapp-maui / iosjobs.sudo xcode-select -s /Applications/Xcode_26.3.app.Xcode 26.3 is already installed on the
macos-15image, just not thedefault (16.4).
10.0.107via
dotnet workload install ios maccatalyst --version 10.0.107, scopedonly to this job's env/steps (not a repo-wide
global.json, for the samereasons documented in ci: pin iOS workload set + Xcode version for todoapp-avalonia/maui iOS builds #530).
10.0.107is the last workload set before theiOS/MacCatalyst/macOS/tvOS manifest moved to the 26.4/26.5 pack line,
resolving to
Microsoft.iOS.Sdk.net10.0_26.2(26.2.10233), which requiresexactly Xcode 26.3.
Both the iOS and Mac Catalyst restore/build steps stay in the single job as
they are today, since both TFMs need the same pinned Xcode/workload set.
No other jobs in
build-samples-todoapp-uno.yml(android,windows,browserwasm,desktop) are touched.Validation
Ran the full
build-samples.ymlviaworkflow_dispatchon this branch twiceto confirm the fix is deterministic, not a flaky pass:
all green,
todoapp-uno / ios-maccatalystin 4m3s.all green,
todoapp-uno / ios-maccatalystin 3m10s.All other jobs (including
todoapp-avalonia / iosandtodoapp-maui / ios,unaffected by this job-scoped change) passed in both runs, confirming no
regression there.
Follow-up
Revisit this job once we deliberately upgrade to a newer, Xcode-26-compatible
workload set, same as the follow-up already called out for the sibling
todoapp-avalonia / iosandtodoapp-maui / iosjobs in #530.