Create macOS base image for closed beta

Overview

Create a base image that will be used for the closed beta.

Proposal

  • This should be a separate project under https://gitlab.com/gitlab-org/ci-cd/shared-runners/images probably MacStadium/orka
  • Use the latest base image available from MacStadium for catalina
  • Make sure the latest updates are installed
  • Install the required software, with ansible/chef and asdf-vm for language environments. ansible might be a better choice since we would just need to run simple ssh commands.
  • The image creation should be all done through CI.

Potential limitations on completely automated CI build

  • GitLab Runner requires an interactive login shell for starting the service.
  • Until #4843 (closed) is deployed on our CI hosts, cancelling a job will leave a VM running.

Content of virtual machine image for closed beta

Operating System

  • macOS X Catalina 10.15

Build Automation

  • Apache Maven 3.6.3
  • Bazel 3.4.0
  • Gradle 6.5.1

Compilers

  • Clang/LLVM 10.0.0
  • gcc-9 (Homebrew GCC 9.3.0_1) 9.3.0
  • GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0
  • GNU Fortran (Homebrew GCC 9.3.0_1) 9.3.0

Programming Languages and Runtime Libraries

  • Go 1.14.4
  • Java 11: AdoptOpenJDK (build 11.0.7+10)
  • Java 12: AdoptOpenJDK (build 12.0.2+10)
  • Java 13: AdoptOpenJDK (build 13.0.2+8)
  • Java 14: AdoptOpenJDK (build 14.0.1+7)
  • Java 14: AdoptOpenJDK (build 14.0.1+7)
  • .NET Core SDK 3.1.301
  • Node.js v12.18.2
  • NVM 0.35.3
  • PHP 7.4.8
  • PowerShell 7.0.2
  • Python 2.7.18
  • Python 3.8.3
  • Ruby 2.7.1
  • Rust 1.44.1

Package Management

  • asdf-vm
  • Bundler version 2.1.4
  • Carthage 0.35.0
  • CocoaPods 1.9.3
  • Homebrew 2.4.7
  • RubyGems 3.1.4
  • Rustup 1.21.1
  • Yarn 1.22.4

Tools and Utilities

  • curl 7.71.1
  • fastlane 2.151.2
  • Flutter 1.17.5
  • git 2.27.0
  • git-lfs 2.11.0
  • wget: GNU Wget 1.20.3
  • openssl 1.1.1

Xcode and SDKs

Xcode version Build macOS SDK(s) iOS SDK included watchOS SDK included tvOS SDK included
Xcode 7.31 10.11.4 ------ ------ ------
Xcode 10.3 10.14.6 ------ ------ ------
Xcode 11.0 11A420a 10.15 iOS 13.0 watchOS 6.0 tvOS 13.0
Xcode 11.1 11A1027 10.15 iOS 13.1 watchOS 6.0 tvOS 13.0
Xcode 11.2.1 11B500 10.15.1 iOS 13.2 watchOS 6.1 tvOS 13.2
Xcode 11.3.1 11C505 10.15.2 iOS 13.2 watchOS 6.1 tvOS 13.2
Xcode 11.4 11E146 10.15.4 iOS 13.4 watchOS 6.2 tvOS 13.4
Xcode 11.4.1 11E503a 10.15.4 iOS 13.4 watchOS 6.2 tvOS 13.4
Xcode 11.5 11E608c 10.15.4 iOS 13.5 watchOS 6.2 tvOS 13.4
Xcode 11.6 11N700h 10.15.4 iOS 13.6 watchOS 6.2 tvOS 13.4
Xcode 12.0 beta 2 12A8161k 11.0 iOS 14 watchOS 7 tvOS 14

Xcode Tools

Edited by Darren Eastman