[system-dependencies] Update the check for the Metal toolchain to update if an update is available.#24854
Conversation
…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.
There was a problem hiding this comment.
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
installedUpdateAvailableseparately frominstalledfor 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: installedUpdateAvailableis 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.
✅ [CI Build #a6348bd] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #a6348bd] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ 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 #a6348bd] Build passed (Build macOS tests) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
🚀 [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 macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
|
Remaining failed check will be fixed with #24852. |
…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.
…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.
xcodebuild -showComponent ...can return this:which we understood to be "Installed", which is incorrect.
So fix the detection to handle this scenario, and (re)install the toolchain in question.