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 |