buildbuddy-io / buildbuddy

BuildBuddy is an open source Bazel build event viewer, result store, remote cache, and remote build execution platform.
https://buildbuddy.io
Other
594 stars 91 forks source link

Don't start executor if expected Xcode versions are not present #7375

Closed iain-macdonald closed 1 month ago

iain-macdonald commented 1 month ago

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