Fix SDK->simruntime mapping assumptions in test runners#2889
Conversation
Signed-off-by: Aaron Sky <asky@dropbox.com>
Signed-off-by: Aaron Sky <asky@dropbox.com>
Signed-off-by: Aaron Sky <asky@dropbox.com>
Signed-off-by: Aaron Sky <asky@dropbox.com>
Signed-off-by: Aaron Sky <asky@dropbox.com>
adincebic
left a comment
There was a problem hiding this comment.
Looks good at first glance. Are identifier and version enough to match the runtime or do we have to take platform into account as well? Perhaps identifier is enough?
|
The runtime identifier is in the format The only thing I'm not sure about is whether falling back on runtime-match is sufficient – for example, I bet if you downloaded Xcode 26.3 and the iOS 26.3 simruntime now, your runtime-match would be incorrect. However, in the case of CI's setup, that's clearly enough. 🤷 Maybe I should still incorporate a basic "does the SDK version match the runtime version" check into the loop? This also doesn't resolve the issues in this area with actool et al, which still assume the SDK and simruntime (which actool leverages) are the same. |
…in-ios-test-runner
Redux of #2675.
Refactors simulator_creator.py to discover a recent simruntime when none is explicitly declared, and removes the SDK version fallback from the test runner rule implementations. This assumption is problematic in recent times whenever Apple pushes a new simruntime OTA for an existing Xcode, or when the simruntime identifier does not align with the simruntime version and consequently the SDK version (such as OS patch releases).