Skip to content
Snippets Groups Projects
Commit a8f25932 authored by Fiona Neill's avatar Fiona Neill :wave:
Browse files

Merge branch 'gabrielengel_gl-master-patch-0031' into 'master'

Add `macos-14-xcode-15` and update default image in docs

See merge request !132783



Merged-by: default avatarFiona Neill <fneill@gitlab.com>
Approved-by: default avatarFiona Neill <fneill@gitlab.com>
Co-authored-by: Gabriel Engel's avatarGabriel Engel <gengel@gitlab.com>
parents 4481a624 66d82e38
No related branches found
No related tags found
1 merge request!132783Add `macos-14-xcode-15` and update default image in docs
Pipeline #1067092865 passed
......@@ -34,34 +34,26 @@ In comparison to our SaaS runners on Linux, where you can run any Docker image,
GitLab SaaS provides a set of VM images for macOS.
You can execute your build in one of the following images, which you specify
in your `.gitlab-ci.yml` file.
Each image runs a specific version of macOS and Xcode.
in your `.gitlab-ci.yml` file. Each image runs a specific version of macOS and Xcode.
| VM image | Status |
|----------------------------|--------|
| `macos-12-xcode-13` | `GA` |
| `macos-12-xcode-14` | `GA` |
| `macos-13-xcode-14` | `Beta` |
## Image update policy for macOS
| `macos-13-xcode-14` | `GA` |
| `macos-14-xcode-15` | `Beta` |
macOS and Xcode follow a yearly release cadence, during which GitLab increments its versions synchronously. GitLab typically supports multiple versions of preinstalled tools. For more information, see
a [full list of preinstalled software](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/job-images/-/tree/main/toolchain).
If no image is specified, the macOS runner uses `macos-13-xcode-14`.
GitLab provides `stable` and `latest` macOS images that follow different update patterns:
## Image update policy for macOS
- **Stable image:** The `stable` images and installed components are updated every release. Images without the `:latest` prefix are considered stable images.
- **Latest image:** The `latest` images are typically updated on a weekly cadence and use a `:latest` prefix in the image name. Using the `latest` image results in more regularly updated components and shorter update times for Homebrew or asdf. The `latest` images are used to test software components before releasing the components to the `stable` images.
By definition, the `latest` images are always Beta.
A `latest` image is not available.
macOS and Xcode follow a yearly release cadence, during which GitLab increments its versions synchronously. GitLab typically supports multiple versions of preinstalled tools. For more information, see the [full list of preinstalled software](https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/job-images/-/tree/main/toolchain).
### Image release process
When Apple releases a new macOS version, GitLab releases a new `stable` image based on the OS in the next release,
which is in Beta.
When Apple releases a new macOS version, GitLab releases both `stable` and `latest` images based on the OS in the next release. Both images are Beta.
With the release of the first patch to macOS, the `stable` image becomes Generally Available (GA). As only two GA images are supported at a time, the prior OS version becomes deprecated and is deleted after three months in accordance with the [supported image lifecycle](../index.md#supported-image-lifecycle).
With the release of the first patch to macOS, the `stable` image becomes Generally Available (GA).
As only two GA images are supported at a time, the prior OS version becomes deprecated and is deleted after three months in accordance with the [supported image lifecycle](../index.md#supported-image-lifecycle).
The `stable` images and installed components are updated every release, to keep the preinstalled software up-to-date.
## Example `.gitlab-ci.yml` file
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment