Today when we provision and start up mac executors we do a bunch of stuff to install the OS and Xcode and simulators, and then start up the executor on the machine. However, if any of the prerequisite steps, like installing the OS or Xcodes, fail then we just skip 'em and then the running executor won't be able to serve some RBE requests because it doesn't have all of the correct dependencies. This PR is the first of two that'll make starting the executor fail if any of the desired Xcodes aren't present on the host machine, which is better than quietly starting up and failing to serve RBE requests. It adds a new flag, --executor.required_xcode_versions that specifies a comma-delimited list of Xcode versions that must be present on the host system for the executor to come up healthy. There's another one coming that'll set that flag for our mac deployments.
Today when we provision and start up mac executors we do a bunch of stuff to install the OS and Xcode and simulators, and then start up the executor on the machine. However, if any of the prerequisite steps, like installing the OS or Xcodes, fail then we just skip 'em and then the running executor won't be able to serve some RBE requests because it doesn't have all of the correct dependencies. This PR is the first of two that'll make starting the executor fail if any of the desired Xcodes aren't present on the host machine, which is better than quietly starting up and failing to serve RBE requests. It adds a new flag,
--executor.required_xcode_versions
that specifies a comma-delimited list of Xcode versions that must be present on the host system for the executor to come up healthy. There's another one coming that'll set that flag for our mac deployments.Related issues: N/A