Skip to content

[system-dependencies] Update the check for the Metal toolchain to update if an update is available.#24854

Merged
rolfbjarne merged 1 commit intomainfrom
dev/rolf/update-metaltoolchain-check
Mar 9, 2026
Merged

[system-dependencies] Update the check for the Metal toolchain to update if an update is available.#24854
rolfbjarne merged 1 commit intomainfrom
dev/rolf/update-metaltoolchain-check

Conversation

@rolfbjarne
Copy link
Member

xcodebuild -showComponent ... can return this:

Status: installedUpdateAvailable

which we understood to be "Installed", which is incorrect.

So fix the detection to handle this scenario, and (re)install the toolchain in question.

…ate if an update is available.

`xcodebuild -showComponent ...` can return this:

> Status: installedUpdateAvailable

which we understood to be "Installed", which is incorrect.

So fix the detection to handle this scenario, and (re)install the toolchain in question.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adjusts system-dependencies.sh’s Xcode component detection so xcodebuild -showComponent results with Status: installedUpdateAvailable are treated as needing a (re)download, ensuring the Metal toolchain is refreshed when an update is available.

Changes:

  • Detect installedUpdateAvailable separately from installed for Xcode components.
  • Trigger provisioning (-downloadComponent) when an update is available, not just when missing.
  • Improve failure messaging by distinguishing “not installed” vs “update available”.
Comments suppressed due to low confidence (1)

system-dependencies.sh:747

  • When Status: installedUpdateAvailable is detected, this branch will effectively update/reinstall the component, but the log/ok messages always say "Installing"/"Successfully installed". Consider adjusting the wording to include updating so the output matches what’s happening.
			log "Installing the Xcode component ${COLOR_BLUE}$comp${COLOR_CLEAR} by executing ${COLOR_BLUE}xcrun xcodebuild -downloadComponent $comp${COLOR_CLEAR}..."
			xcrun xcodebuild -downloadComponent "$comp"

			ok "Successfully installed the Xcode component ${COLOR_BLUE}$comp${COLOR_CLEAR}."

You can also share your feedback on Copilot code review. Take the survey.

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [CI Build #a6348bd] Build passed (Build packages) ✅

Pipeline on Agent
Hash: a6348bd2a75072a311266ea7788b2e05688629fc [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [PR Build #a6348bd] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: a6348bd2a75072a311266ea7788b2e05688629fc [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: a6348bd2a75072a311266ea7788b2e05688629fc [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [CI Build #a6348bd] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: a6348bd2a75072a311266ea7788b2e05688629fc [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Collaborator

🚀 [CI Build #a6348bd] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 156 tests passed 🎉

Tests counts

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker: All 44 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (iOS): All 11 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 12 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 11 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Ventura (13): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: a6348bd2a75072a311266ea7788b2e05688629fc [PR build]

@rolfbjarne rolfbjarne merged commit 5c77785 into main Mar 9, 2026
51 of 52 checks passed
@rolfbjarne
Copy link
Member Author

Remaining failed check will be fixed with #24852.

rolfbjarne added a commit that referenced this pull request Mar 10, 2026
…l toolchain to update if an update is available. (#24858)

`xcodebuild -showComponent ...` can return this:

> Status: installedUpdateAvailable

which we understood to be "Installed", which is incorrect.

So fix the detection to handle this scenario, and (re)install the toolchain in question.

Backport of #24854.
rolfbjarne added a commit that referenced this pull request Mar 10, 2026
…al toolchain to update if an update is available. (#24857)

`xcodebuild -showComponent ...` can return this:

> Status: installedUpdateAvailable

which we understood to be "Installed", which is incorrect.

So fix the detection to handle this scenario, and (re)install the toolchain in question.

Backport of #24854.
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.

4 participants