Skip to content

Create VM images for each supported Xcode version

This MR downloads and installs the .xip files present in https://console.cloud.google.com/storage/browser/mac-runners;tab=objects?project=group-verify-df9383&prefix=, through the mac-runner-provisioning service account. This .xip file is set to be automatically deleted from GCS after 365 days or 3 newer versions.

Since GCP Signed URLs have low validity limits (at most 7 days), we'll need to:

  • create Service account HMAC to get an access key and secret for the mac-runner-provisioning@group-verify-df9383.iam.gserviceaccount.com service account.
  • configure access rights for the service account for the mac-runners bucket.
  • use the gsutil utility to download the Xcode xip file using the service account keyfile.

An issue is that the clean VM contains only Python 2 and no pip binary. pip is required for the gc_storage package, so we'll have to install pip for Python 2 manually.

TODO:

  • Fix Xcode 9.4.1 package
  • Fix final reboot timeout before saving image

Working with Multiple Versions of Xcode | by Geoff Hackworth | Medium

Closes gitlab-org/gitlab-runner#6564 (closed)

Merge request reports