Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c30352657a |
@@ -38,20 +38,18 @@ body:
|
||||
options:
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: Ubuntu 24.04
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: macOS 13
|
||||
- label: macOS 13 Arm64
|
||||
- label: macOS 14
|
||||
- label: macOS 14 Arm64
|
||||
- label: macOS 15
|
||||
- label: macOS 15 Arm64
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
- label: Windows Server 2025
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Mitigation ways
|
||||
description: Steps or options for impact mitigation
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
||||
@@ -21,17 +21,14 @@ body:
|
||||
options:
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: Ubuntu 24.04
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: macOS 13
|
||||
- label: macOS 13 Arm64
|
||||
- label: macOS 14
|
||||
- label: macOS 14 Arm64
|
||||
- label: macOS 15
|
||||
- label: macOS 15 Arm64
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
- label: Windows Server 2025
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Image version and build link
|
||||
|
||||
@@ -59,17 +59,14 @@ body:
|
||||
options:
|
||||
- label: Ubuntu 20.04
|
||||
- label: Ubuntu 22.04
|
||||
- label: Ubuntu 24.04
|
||||
- label: macOS 11
|
||||
- label: macOS 12
|
||||
- label: macOS 13
|
||||
- label: macOS 13 Arm64
|
||||
- label: macOS 14
|
||||
- label: macOS 14 Arm64
|
||||
- label: macOS 15
|
||||
- label: macOS 15 Arm64
|
||||
- label: Windows Server 2019
|
||||
- label: Windows Server 2022
|
||||
- label: Windows Server 2025
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Can this tool be installed during the build?
|
||||
@@ -82,4 +79,4 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Are you willing to submit a PR?
|
||||
description: We accept contributions!
|
||||
description: We accept contributions!
|
||||
@@ -40,11 +40,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -55,7 +55,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -69,4 +69,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
uses: github/codeql-action/analyze@v2
|
||||
@@ -10,13 +10,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Create release for ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
uses: ncipollo/release-action@v1.14.0
|
||||
uses: actions/create-release@v1.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag: ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
name: ${{ github.event.client_payload.ReleaseTitle }}
|
||||
tag_name: ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
release_name: ${{ github.event.client_payload.ReleaseTitle }}
|
||||
body: ${{ github.event.client_payload.ReleaseBody }}
|
||||
prerelease: ${{ github.event.client_payload.Prerelease }}
|
||||
commit: ${{ github.event.client_payload.Commitish }}
|
||||
commitish: ${{ github.event.client_payload.Commitish }}
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -22,11 +22,11 @@ jobs:
|
||||
|
||||
- name: Create pull request for ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
id: create-pr
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
let response = await github.rest.pulls.create({
|
||||
let response = await github.pulls.create({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
title: "${{ github.event.client_payload.PullRequestTitle }}",
|
||||
@@ -37,11 +37,11 @@ jobs:
|
||||
return response.data.number
|
||||
|
||||
- name: Request reviewers
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.PRAPPROVAL_SECRET}}
|
||||
script: |
|
||||
github.rest.pulls.requestReviewers({
|
||||
github.pulls.requestReviewers({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: ${{ steps.create-pr.outputs.result }},
|
||||
|
||||
@@ -7,7 +7,6 @@ name: Create SBOM for the release
|
||||
#
|
||||
# Current SYFT tool issues:
|
||||
# macOS (major): prompt privilegies that blocking process indefinetely (https://github.com/anchore/syft/issues/1367)
|
||||
run-name: Collecting SBOM for ${{ github.event.client_payload.ReleaseBranchName || 'unknown release' }}
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [generate-sbom]
|
||||
@@ -56,10 +55,10 @@ jobs:
|
||||
}
|
||||
- name: Install SYFT tool on Windows
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft
|
||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft v0.100.0
|
||||
- name: Install SYFT tool on Ubuntu or macOS
|
||||
if: ${{ runner.os != 'Windows' }}
|
||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
|
||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin v0.100.0
|
||||
#Running section.
|
||||
- name: Run SYFT on Windows
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
@@ -75,7 +74,7 @@ jobs:
|
||||
- name: Compress SBOM file
|
||||
run: Compress-Archive sbom.json sbom.json.zip
|
||||
#Upload artifact action
|
||||
- uses: actions/upload-artifact@v4
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sbom-${{ github.event.client_payload.agentSpec }}-${{ github.event.client_payload.imageVersion }}
|
||||
path: sbom.json.zip
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -24,11 +24,11 @@ jobs:
|
||||
sleep 30
|
||||
|
||||
- name: Approve pull request by GitHub-Actions bot
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.PRAPPROVAL_SECRET}}
|
||||
script: |
|
||||
github.rest.pulls.createReview({
|
||||
github.pulls.createReview({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: ${{ github.event.client_payload.PullRequestNumber }},
|
||||
@@ -36,11 +36,11 @@ jobs:
|
||||
});
|
||||
|
||||
- name: Merge pull request for ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
github.rest.pulls.merge({
|
||||
github.pulls.merge({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: ${{ github.event.client_payload.PullRequestNumber }},
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run Software Report module tests
|
||||
shell: pwsh
|
||||
|
||||
@@ -13,7 +13,7 @@ defaults:
|
||||
|
||||
jobs:
|
||||
Ubuntu_2004:
|
||||
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2004'
|
||||
if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2004')
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'ubuntu2004'
|
||||
|
||||
@@ -13,7 +13,7 @@ defaults:
|
||||
|
||||
jobs:
|
||||
Ubuntu_2204:
|
||||
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2204'
|
||||
if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2204')
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'ubuntu2204'
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
name: Trigger Ubuntu24.04 CI
|
||||
run-name: Ubuntu24.04 - ${{ github.event.pull_request.title }}
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: labeled
|
||||
paths:
|
||||
- 'images/ubuntu/**'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
|
||||
jobs:
|
||||
Ubuntu_2404:
|
||||
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2404'
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'ubuntu2404'
|
||||
secrets: inherit
|
||||
@@ -10,19 +10,19 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Update release for ${{ github.event.client_payload.ReleaseBranchName }}
|
||||
uses: actions/github-script@v7
|
||||
uses: actions/github-script@v2
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
const response = await github.rest.repos.getReleaseByTag({
|
||||
const response = await github.repos.getReleaseByTag({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
tag: "${{ github.event.client_payload.ReleaseBranchName }}"
|
||||
});
|
||||
github.rest.repos.updateRelease({
|
||||
github.repos.updateRelease({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
release_id: response.data.id,
|
||||
|
||||
@@ -13,7 +13,7 @@ defaults:
|
||||
|
||||
jobs:
|
||||
Windows_2019:
|
||||
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2019'
|
||||
if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2019')
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'windows2019'
|
||||
|
||||
@@ -13,7 +13,7 @@ defaults:
|
||||
|
||||
jobs:
|
||||
Windows_2022:
|
||||
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2022'
|
||||
if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2022')
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'windows2022'
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
name: Trigger Windows25 CI
|
||||
run-name: Windows2025 - ${{ github.event.pull_request.title }}
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: labeled
|
||||
paths:
|
||||
- 'images/windows/**'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
|
||||
jobs:
|
||||
Windows_2022:
|
||||
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2025'
|
||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||
with:
|
||||
image_type: 'windows2025'
|
||||
secrets: inherit
|
||||
@@ -19,40 +19,34 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
||||
|
||||
## Available Images
|
||||
|
||||
| Image | YAML Label | Included Software | Rollout Status of Latest Image Release |
|
||||
| --------------------|---------------------|--------------------|--------------------|
|
||||
| Ubuntu 24.04 | `ubuntu-24.04` | [ubuntu-24.04] |  |
|
||||
| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] |  |
|
||||
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] |  |
|
||||
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] |  |
|
||||
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
||||
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] |  |
|
||||
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
|
||||
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
|
||||
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |  |
|
||||
| macOS 12 <sup>deprecated</sup> | `macos-12` or `macos-12-large`| [macOS-12] |  |
|
||||
| Windows Server 2025 <sup>beta</sup> | `windows-2025` | [windows-2025] |  |
|
||||
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |  |
|
||||
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
|
||||
| Image | YAML Label | Included Software |
|
||||
| --------------------|---------------------|--------------------|
|
||||
| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] |
|
||||
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] |
|
||||
| macOS 14 [beta] | `macos-14-large`| [macOS-14] |
|
||||
| macOS 14 Arm64 [beta] | `macos-14` or `macos-14-xlarge`| [macOS-14-arm64] |
|
||||
| macOS 13 | `macos-13`, `macos-13-large` or `macos-latest-large` | [macOS-13] |
|
||||
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |
|
||||
| macOS 12 | `macos-latest`,`macos-12` or`macos-12-large`| [macOS-12] |
|
||||
| macOS 11 [deprecated] | `macos-11`| [macOS-11] |
|
||||
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |
|
||||
| Windows Server 2019 | `windows-2019` | [windows-2019] |
|
||||
|
||||
### Label scheme
|
||||
|
||||
- In general the `-latest` label is used for the latest OS image version that is GA
|
||||
- Before moving the`-latest` label to a new OS version we will announce the change and give sufficient lead time for users to update their workflows
|
||||
|
||||
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
||||
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
||||
[ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md
|
||||
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
|
||||
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
||||
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
||||
[macOS-11]: https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md
|
||||
[macOS-12]: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
|
||||
[macOS-13]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
|
||||
[macOS-13-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md
|
||||
[macOS-14]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
|
||||
[macOS-14-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
|
||||
[macOS-15]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
|
||||
[macOS-15-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md
|
||||
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
|
||||
|
||||
## Announcements
|
||||
@@ -85,7 +79,8 @@ latest 2 versions of an OS.
|
||||
GitHub Actions and Azure DevOps use the `-latest` YAML label (ex: `ubuntu-latest`, `windows-latest`, and `macos-latest`). These labels point towards the newest stable OS version available.
|
||||
|
||||
|
||||
The `-latest` migration process is gradual and happens over 1-2 months in order to allow customers to adapt their workflows to the newest OS version. During this process, any workflow using the `-latest` label, may see changes in the OS version in their workflows or pipelines. To avoid unwanted migration, users can specify a specific OS version in the yaml file (ex: macos-14, windows-2022, ubuntu-22.04).
|
||||
The `-latest` migration process is gradual and happens over 1-2 months in order to allow customers to adapt their workflows to the newest OS version. During this process, any workflow using the `-latest` label, may see changes in the OS version in their workflows or pipelines. To avoid unwanted migration, users can specify a specific OS version in the yaml file (ex: macos-12, windows-2022, ubuntu-22.04).
|
||||
|
||||
|
||||
## Image Releases
|
||||
|
||||
@@ -124,7 +119,7 @@ The `-latest` migration process is gradual and happens over 1-2 months in order
|
||||
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed |
|
||||
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
|
||||
| Android NDK | 1 latest non-LTS, 2 latest LTS versions |
|
||||
| Xcode | - only one major version of Xcode will be supported per macOS version <br/> - all minor versions of the supported major version will be available <br/> - beta and RC versions will be provided "as-is" in the latest available macOS image only no matter of beta/GA status of the image <br/> - when a new patch version is released, the previous patch version will be replaced |
|
||||
| Xcode | - all OS compatible versions side-by-side <br/> - for beta, GM versions - latest beta only <br/> - old patch versions are deprecated in 3 months |
|
||||
|
||||
### Package managers usage
|
||||
|
||||
@@ -133,7 +128,7 @@ We use third-party package managers to install software during the image generat
|
||||
|
||||
| Operating system | Package manager | Third-party repos and packages |
|
||||
| :--- | :---: | ---: |
|
||||
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [containers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable) (Ubuntu 20 only) <br/> [docker](https://download.docker.com/linux/ubuntu) (Ubuntu20 0nly) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [containers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable) (Ubuntu 20 only) <br/> [docker](https://download.docker.com/linux/ubuntu) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [gcc, gfortran](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
|
||||
| | [pipx](https://pypa.github.io/pipx) | ansible-core <br/>yamllint |
|
||||
| Windows | [Chocolatey](https://chocolatey.org) | No third-party repos installed |
|
||||
| macOS | [Homebrew](https://brew.sh) | [aws-cli v2](https://github.com/aws/homebrew-tap) </br> [azure/bicep](https://github.com/Azure/homebrew-bicep) </br> [mongodb/brew](https://github.com/mongodb/homebrew-brew) |
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Debugging Failed Packer Builds
|
||||
|
||||
## Step 1: Run packer build `-on-error=ask`
|
||||
When you run the `packer build` command, give it the `-on-error=ask` flag.
|
||||
By default, `packer build` will delete the resource group as soon as the build fails.
|
||||
`-on-error=ask` will pause it and wait for your input so you have time to remote in to the VM and diagnose the failure.
|
||||
|
||||
When the build fails, you will see this:
|
||||
|
||||

|
||||
|
||||
## Step 2: Find the resource group name in the build log
|
||||
At the beginning of the build log (written to console), find the resource group name for the VM:
|
||||
|
||||

|
||||
|
||||
Log into the Azure Portal. Find that resource group under `Resource groups`. You should see the resources for the Packer build:
|
||||
|
||||

|
||||
|
||||
## Step 3: Connect to the VM
|
||||
Select the VM in the resource group. Click `Connect:`
|
||||
|
||||
This will download an RDP file. Open that and enter the credentials found in the HCL2 file you pass to `packer build`:
|
||||
|
||||

|
||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 204 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 139 KiB |
@@ -5,8 +5,7 @@ enum ImageType {
|
||||
Windows2022 = 2
|
||||
Ubuntu2004 = 3
|
||||
Ubuntu2204 = 4
|
||||
Ubuntu2404 = 5
|
||||
UbuntuMinimal = 6
|
||||
UbuntuMinimal = 5
|
||||
}
|
||||
|
||||
Function Get-PackerTemplatePath {
|
||||
@@ -31,9 +30,6 @@ Function Get-PackerTemplatePath {
|
||||
([ImageType]::Ubuntu2204) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
|
||||
}
|
||||
([ImageType]::Ubuntu2404) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-24.04.pkr.hcl"
|
||||
}
|
||||
([ImageType]::UbuntuMinimal) {
|
||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-minimal.pkr.hcl"
|
||||
}
|
||||
|
||||
@@ -13,15 +13,15 @@ class BaseNode {
|
||||
}
|
||||
|
||||
[String] ToMarkdown([Int32] $Level) {
|
||||
throw "Abstract method 'ToMarkdown(level)' is not implemented for '$($this.GetType().Name)'"
|
||||
throw "Abtract method 'ToMarkdown(level)' is not implemented for '$($this.GetType().Name)'"
|
||||
}
|
||||
|
||||
[Boolean] IsSimilarTo([BaseNode] $OtherNode) {
|
||||
throw "Abstract method 'IsSimilarTo' is not implemented for '$($this.GetType().Name)'"
|
||||
throw "Abtract method 'IsSimilarTo' is not implemented for '$($this.GetType().Name)'"
|
||||
}
|
||||
|
||||
[Boolean] IsIdenticalTo([BaseNode] $OtherNode) {
|
||||
throw "Abstract method 'IsIdenticalTo' is not implemented for '$($this.GetType().Name)'"
|
||||
throw "Abtract method 'IsIdenticalTo' is not implemented for '$($this.GetType().Name)'"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ class BaseToolNode: BaseNode {
|
||||
}
|
||||
|
||||
[String] GetValue() {
|
||||
throw "Abstract method 'GetValue' is not implemented for '$($this.GetType().Name)'"
|
||||
throw "Abtract method 'GetValue' is not implemented for '$($this.GetType().Name)'"
|
||||
}
|
||||
|
||||
[Boolean] IsSimilarTo([BaseNode] $OtherNode) {
|
||||
@@ -53,4 +53,4 @@ class BaseToolNode: BaseNode {
|
||||
[Boolean] IsIdenticalTo([BaseNode] $OtherNode) {
|
||||
return $this.IsSimilarTo($OtherNode) -and ($this.GetValue() -eq $OtherNode.GetValue())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -89,7 +89,7 @@ class HeaderNode: BaseNode {
|
||||
}
|
||||
|
||||
[void] AddTable([PSCustomObject[]] $Table) {
|
||||
$this.AddNode([TableNode]::FromObjectsArray($Table))
|
||||
$this.AddNode([TableNode]::FromObjectsArray($Table))
|
||||
}
|
||||
|
||||
[void] AddNote([String] $Content) {
|
||||
|
||||
@@ -59,13 +59,11 @@ jobs:
|
||||
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
||||
|
||||
- task: AzureCLI@2
|
||||
- task: PowerShell@2
|
||||
displayName: 'Set variables'
|
||||
inputs:
|
||||
azureSubscription: 'spn-hosted-runners'
|
||||
scriptType: 'pscore'
|
||||
scriptLocation: 'inlineScript'
|
||||
inlineScript: |
|
||||
targetType: 'inline'
|
||||
script: |
|
||||
$ImageType = "${{ parameters.image_type }}"
|
||||
$TemplateDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "ubuntu/templates" } else { "windows/templates" }
|
||||
$TemplateDirectoryPath = Join-Path "images" $TemplateDirectoryName | Resolve-Path
|
||||
@@ -81,16 +79,13 @@ jobs:
|
||||
$TempResourceGroupName = "packer-temp-$ManagedImageName"
|
||||
Write-Host "##vso[task.setvariable variable=TempResourceGroupName;]$TempResourceGroupName"
|
||||
|
||||
$clientSecret = $(az keyvault secret show --name "spnhostedrunners" --vault-name "gh-imagegeneration" --query value -o tsv)
|
||||
Write-Host "##vso[task.setvariable variable=ClientSecret;issecret=true]$clientSecret"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Build VM'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: ./images.CI/linux-and-win/build-image.ps1
|
||||
arguments: -ClientId $(CLIENT_ID) `
|
||||
-ClientSecret "$(ClientSecret)" `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
-TemplatePath $(TemplatePath) `
|
||||
-ImageName "$(ManagedImageName)" `
|
||||
-ImageResourceGroupName $(AZURE_RESOURCE_GROUP) `
|
||||
@@ -177,5 +172,5 @@ jobs:
|
||||
arguments: -TempResourceGroupName "$(TempResourceGroupName)" `
|
||||
-SubscriptionId $(AZURE_SUBSCRIPTION) `
|
||||
-ClientId $(CLIENT_ID) `
|
||||
-ClientSecret "$(ClientSecret)" `
|
||||
-ClientSecret $(CLIENT_SECRET) `
|
||||
-TenantId $(AZURE_TENANT)
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_type: ubuntu2404
|
||||
image_readme_name: Ubuntu2404-Readme.md
|
||||
image_template_name: ubuntu-24.04.pkr.hcl
|
||||
@@ -10,8 +10,7 @@ param(
|
||||
[String] [Parameter (Mandatory=$true)] $TenantId,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
|
||||
[String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]"
|
||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet
|
||||
)
|
||||
|
||||
if (-not (Test-Path $TemplatePath))
|
||||
@@ -55,7 +54,6 @@ packer build -var "client_id=$ClientId" `
|
||||
-var "virtual_network_name=$VirtualNetworkName" `
|
||||
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
|
||||
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
|
||||
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
|
||||
-color=false `
|
||||
$TemplatePath `
|
||||
| Where-Object {
|
||||
|
||||
@@ -13,7 +13,7 @@ function Push-AnkaTemplateToRegistry {
|
||||
[string] $TemplateName
|
||||
)
|
||||
|
||||
# if registry uuid doesn't match then delete an image in registry
|
||||
# if registry uuid doesn't match than delete an image in registry
|
||||
$AnkaCaCrtPath="$HOME/.config/anka/certs/anka-ca-crt.pem"
|
||||
$images = anka --machine-readable registry --cacert $AnkaCaCrtPath --registry-path $RegistryUrl list | ConvertFrom-Json | ForEach-Object body
|
||||
$images | Where-Object name -eq $TemplateName | ForEach-Object {
|
||||
@@ -139,7 +139,10 @@ function Set-AnkaVMVideoController {
|
||||
)
|
||||
|
||||
$command = "anka modify $VMName set display -c $Controller"
|
||||
$null = Invoke-AnkaCommand -Command $command
|
||||
# Apple Metal is available starting from Big Sur
|
||||
if (-not $ShortMacOSVersion.StartsWith("10.")) {
|
||||
$null = Invoke-AnkaCommand -Command $command
|
||||
}
|
||||
}
|
||||
|
||||
function Set-AnkaVMDisplayResolution {
|
||||
|
||||
@@ -25,7 +25,7 @@ param(
|
||||
[bool] $EnableAutoLogon = $true,
|
||||
[int] $CPUCount = 6,
|
||||
[int] $RamSizeGb = 7,
|
||||
[int] $DiskSizeGb = 325,
|
||||
[int] $DiskSizeGb = 300,
|
||||
[string] $DisplayResolution = "1920x1080",
|
||||
[string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(),
|
||||
[string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB"
|
||||
@@ -76,7 +76,7 @@ function Invoke-SoftwareUpdate {
|
||||
$ipAddress = Get-AnkaVMIPAddress -VMName $TemplateName
|
||||
|
||||
# Unenroll Seed
|
||||
Write-Host "`t[*] Resetting the seed before requesting stable versions"
|
||||
Write-Host "`t[*] Reseting the seed before requesting stable versions"
|
||||
Remove-CurrentBetaSeed -HostName $ipAddress | Show-StringWithFormat
|
||||
|
||||
# Install Software Updates
|
||||
@@ -93,9 +93,8 @@ function Invoke-SoftwareUpdate {
|
||||
$command = "sw_vers"
|
||||
$guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command
|
||||
switch -regex ($guestMacosVersion[1]) {
|
||||
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
|
||||
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
|
||||
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
|
||||
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma' }
|
||||
'13.\d' { $nextOSVersion = 'macOS Sonoma' }
|
||||
}
|
||||
|
||||
Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:"
|
||||
@@ -176,10 +175,10 @@ if ([string]::IsNullOrEmpty($TemplateName)) {
|
||||
$osArch = $(arch)
|
||||
if ($osArch -eq "arm64") {
|
||||
$macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
||||
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}"
|
||||
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}_${DiskSizeGb}gb"
|
||||
} else {
|
||||
$macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
||||
$TemplateName = "clean_macos_${shortMacOSVersion}"
|
||||
$TemplateName = "clean_macos_${shortMacOSVersion}_${DiskSizeGb}gb"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,15 +39,14 @@ function Invoke-SoftwareUpdateArm64 {
|
||||
$command = "sw_vers"
|
||||
$guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command
|
||||
switch -regex ($guestMacosVersion[1]) {
|
||||
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
|
||||
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
|
||||
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
|
||||
'13.\d' { $nextOSVersion = 'Sonoma' }
|
||||
'14.\d' { $nextOSVersion = 'NotYetDefined' }
|
||||
}
|
||||
|
||||
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp"
|
||||
$script = Invoke-RestMethod -Uri $url
|
||||
foreach ($update in $ListOfUpdates) {
|
||||
if ($update -notmatch $nextOSVersion) {
|
||||
foreach ($update in $listOfUpdates) {
|
||||
if ($update -notmatch "$nextOSVersion") {
|
||||
$updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ ")))
|
||||
$base64 = [Convert]::ToBase64String($updatedScript.ToCharArray())
|
||||
$command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp"
|
||||
@@ -172,11 +171,11 @@ function Get-MacOSInstaller {
|
||||
Write-Host "`t[*] Beta Version requested. Enrolling machine to DeveloperSeed"
|
||||
sudo $seedutil enroll DeveloperSeed | Out-Null
|
||||
} else {
|
||||
Write-Host "`t[*] Resetting the seed before requesting stable versions"
|
||||
Write-Host "`t[*] Reseting the seed before requesting stable versions"
|
||||
sudo $seedutil unenroll | Out-Null
|
||||
}
|
||||
|
||||
# Validate there is no software update at the moment
|
||||
# Validate there is no softwareupdate at the moment
|
||||
Test-SoftwareUpdate
|
||||
|
||||
# Validate availability OSVersion
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
jobs:
|
||||
- job: Image_generation
|
||||
displayName: Image Generation (${{ parameters.image_label }})
|
||||
timeoutInMinutes: 1200
|
||||
pool:
|
||||
name: Mac-Cloud Image Generation
|
||||
demands:
|
||||
- PrimaryRackAgent -equals ${{ parameters.primary_agent }}
|
||||
variables:
|
||||
- group: ${{ parameters.variable_group_name }}
|
||||
|
||||
steps:
|
||||
- pwsh: |
|
||||
$cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1'
|
||||
$virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)"
|
||||
echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName"
|
||||
echo "##vso[build.updatebuildnumber]$virtualMachineName"
|
||||
displayName: Update BuildNumber
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
fetchDepth: 1
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Validate contributor permissions'
|
||||
condition: startsWith(variables['Build.SourceBranch'], 'refs/pull/')
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/validate-contributor.ps1
|
||||
pwsh: true
|
||||
arguments: -RepositoryName "$(Build.Repository.Name)" `
|
||||
-AccessToken "$(github-feed-token)" `
|
||||
-SourceBranch "$(Build.SourceBranch)" `
|
||||
-ContributorAllowList "$(CONTRIBUTOR_ALLOWLIST)"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Download custom repository'
|
||||
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/download-repo.ps1
|
||||
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
||||
|
||||
- task: DeleteFiles@1
|
||||
displayName: Clean up self-hosted machine
|
||||
inputs:
|
||||
SourceFolder: 'images/macos/provision/log/'
|
||||
RemoveSourceFolder: true
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Select datastore'
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/select-datastore.ps1
|
||||
arguments: -VMName "$(VirtualMachineName)" `
|
||||
-VIServer "$(vcenter-server-v2)" `
|
||||
-VIUserName "$(vcenter-username-v2)" `
|
||||
-VIPassword '$(vcenter-password-v2)' `
|
||||
-Cluster "$(esxi-cluster-v2)"
|
||||
|
||||
- pwsh: |
|
||||
$SensitiveData = @(
|
||||
'IP address:',
|
||||
'Using ssh communicator to connect:'
|
||||
)
|
||||
|
||||
packer init ${{ parameters.template_path }}
|
||||
packer build -on-error=abort `
|
||||
-var="vcenter_server=$(vcenter-server-v2)" `
|
||||
-var="vcenter_username=$(vcenter-username-v2)" `
|
||||
-var='vcenter_password=$(vcenter-password-v2)' `
|
||||
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
|
||||
-var="cluster_or_esxi_host=$(esxi-cluster-v2)" `
|
||||
-var="esxi_datastore=$(buildDatastore)" `
|
||||
-var="output_folder=$(output-folder)" `
|
||||
-var="vm_username=$(vm-username)" `
|
||||
-var="vm_password=$(vm-password)" `
|
||||
-var="github_api_pat=$(github_api_pat)" `
|
||||
-var="build_id=$(VirtualMachineName)" `
|
||||
-var="baseimage_name=${{ parameters.base_image_name }}" `
|
||||
-var="xcode_install_storage_url=$(xcode_install_storage_url)" `
|
||||
-var="xcode_install_sas=$(xcode_install_sas)" `
|
||||
-color=false `
|
||||
${{ parameters.template_path }} `
|
||||
| Where-Object {
|
||||
#Filter sensitive data from Packer logs
|
||||
$currentString = $_
|
||||
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
|
||||
$sensitiveString -eq $null
|
||||
}
|
||||
displayName: 'Build VM'
|
||||
workingDirectory: 'images/macos'
|
||||
env:
|
||||
PACKER_LOG: 1
|
||||
PACKER_LOG_PATH: $(Agent.TempDirectory)/packer-log.txt
|
||||
|
||||
- bash: |
|
||||
echo "Copy software report files"
|
||||
cp -vR "images/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/"
|
||||
|
||||
echo "Put VM name to 'VM_Done_Name' file"
|
||||
echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
||||
displayName: Prepare artifact
|
||||
|
||||
- bash: |
|
||||
cat "$(Build.ArtifactStagingDirectory)/systeminfo.md"
|
||||
displayName: Print markdown software report
|
||||
|
||||
- bash: |
|
||||
cat "$(Build.ArtifactStagingDirectory)/systeminfo.json"
|
||||
displayName: Print json software report
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
ArtifactName: 'Built_VM_Artifacts'
|
||||
displayName: Publish Artifacts
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Print provisioners duration'
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/measure-provisioners-duration.ps1
|
||||
arguments: -PackerLogPath "$(Agent.TempDirectory)/packer-log.txt" `
|
||||
-PrintTopNLongest 25
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Move vm to cold storage and clear datastore tag'
|
||||
condition: always()
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/move-vm.ps1
|
||||
arguments: -VMName "$(VirtualMachineName)" `
|
||||
-TargetDataStore "${{ parameters.target_datastore }}" `
|
||||
-VIServer "$(vcenter-server-v2)" `
|
||||
-VIUserName "$(vcenter-username-v2)" `
|
||||
-VIPassword '$(vcenter-password-v2)' `
|
||||
-CpuCount "$(cpu-count)" `
|
||||
-CoresPerSocketCount "$(cores-per-socket-count)" `
|
||||
-Memory "$(memory)"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Destroy VM (if build canceled only)'
|
||||
condition: eq(variables['Agent.JobStatus'], 'Canceled')
|
||||
inputs:
|
||||
targetType: 'filePath'
|
||||
filePath: ./images.CI/macos/destroy-vm.ps1
|
||||
arguments: -VMName "$(VirtualMachineName)" `
|
||||
-VIServer "$(vcenter-server-v2)" `
|
||||
-VIUserName "$(vcenter-username-v2)" `
|
||||
-VIPassword '$(vcenter-password-v2)'
|
||||
@@ -0,0 +1,28 @@
|
||||
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: '45 0 * * *'
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
variables:
|
||||
- group: Mac-Cloud Image Generation
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Big Sur'
|
||||
base_image_name: 'clean-macOS-11-380Gb-runner'
|
||||
template_path: 'templates/macOS-11.pkr.hcl'
|
||||
target_datastore: 'ds-image'
|
||||
variable_group_name: 'Mac-Cloud Image Generation'
|
||||
primary_agent: 'true'
|
||||
@@ -0,0 +1,28 @@
|
||||
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: "0 0 * * *"
|
||||
displayName: Daily
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
variables:
|
||||
- group: Mac-Cloud Image Generation
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Monterey'
|
||||
base_image_name: 'clean-macOS-12-380Gb-runner'
|
||||
template_path: 'templates/macOS-12.pkr.hcl'
|
||||
target_datastore: 'ds-image'
|
||||
variable_group_name: 'Mac-Cloud Image Generation'
|
||||
primary_agent: 'true'
|
||||
@@ -0,0 +1,23 @@
|
||||
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: '45 0 * * 1'
|
||||
displayName: Weekly
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
|
||||
variables:
|
||||
- group: Mac-Cloud Image Generation
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Big Sur'
|
||||
base_image_name: 'clean-macOS-11-380Gb-runner'
|
||||
template_path: 'templates/macOS-11.pkr.hcl'
|
||||
target_datastore: 'ds-image'
|
||||
variable_group_name: 'Mac-Cloud Secondary Image Generation'
|
||||
primary_agent: 'false'
|
||||
@@ -0,0 +1,23 @@
|
||||
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
|
||||
schedules:
|
||||
- cron: '45 1 * * 1'
|
||||
displayName: Weekly
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
always: true
|
||||
|
||||
trigger: none
|
||||
|
||||
variables:
|
||||
- group: Mac-Cloud Image Generation
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Monterey'
|
||||
base_image_name: 'clean-macOS-12-380Gb-runner'
|
||||
template_path: 'templates/macOS-12.pkr.hcl'
|
||||
target_datastore: 'ds-image'
|
||||
variable_group_name: 'Mac-Cloud Secondary Image Generation'
|
||||
primary_agent: 'false'
|
||||
@@ -0,0 +1,95 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
This script deletes vm from vCenter
|
||||
|
||||
.PARAMETER VMName
|
||||
VM name to delete (Example "macOS-10.15_20201012.4")
|
||||
|
||||
.PARAMETER VIServer
|
||||
vCenter address (Example "10.0.1.16")
|
||||
|
||||
.PARAMETER VIUserName
|
||||
vCenter username (Example "Administrator")
|
||||
|
||||
.PARAMETER VIPassword
|
||||
vCenter password (Example "12345678")
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIServer,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIPassword
|
||||
)
|
||||
|
||||
# Import helpers module
|
||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
||||
|
||||
# Connection to a vCenter Server system
|
||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
||||
|
||||
# Check vm clone status
|
||||
$chainId = (Get-VIEvent -Entity $VMName).ChainId
|
||||
if ($chainId)
|
||||
{
|
||||
$task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) }
|
||||
if ($task)
|
||||
{
|
||||
try
|
||||
{
|
||||
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' clone task has been canceled"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Remove a vm
|
||||
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
|
||||
|
||||
if ($vm)
|
||||
{
|
||||
$vmState = $vm.PowerState
|
||||
if ($vmState -ne "PoweredOff")
|
||||
{
|
||||
try
|
||||
{
|
||||
$null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been powered off"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'"
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop
|
||||
Write-Host "The vm '$VMName' has been removed"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host "VM '$VMName' not found"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
Helper functions to use in images.CI scripts
|
||||
#>
|
||||
|
||||
Function Connect-VCServer
|
||||
{
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$VIPassword,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$VIServer
|
||||
)
|
||||
|
||||
try
|
||||
{
|
||||
# Preference
|
||||
$global:ProgressPreference = 'SilentlyContinue'
|
||||
$global:WarningPreference = 'SilentlyContinue'
|
||||
# Ignore SSL
|
||||
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
|
||||
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
|
||||
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
|
||||
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
|
||||
Write-Host "Connection to the vSphere server has been established"
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
This script migrates given VM to another datastore
|
||||
|
||||
.PARAMETER VMName
|
||||
VM name to migrate (Example "macOS-10.15_20201012.4")
|
||||
|
||||
.PARAMETER TargetDataStore
|
||||
Target datastore (Example "ds-image")
|
||||
|
||||
.PARAMETER VIServer
|
||||
vCenter address (Example "10.0.1.16")
|
||||
|
||||
.PARAMETER VIUserName
|
||||
vCenter username (Example "Administrator")
|
||||
|
||||
.PARAMETER VIPassword
|
||||
vCenter password (Example "12345678")
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$TargetDataStore,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIServer,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIPassword,
|
||||
|
||||
[string]$JobStatus,
|
||||
|
||||
[int32]$CpuCount,
|
||||
|
||||
[int32]$CoresPerSocketCount,
|
||||
|
||||
[int64]$Memory
|
||||
)
|
||||
|
||||
# Import helpers module
|
||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
||||
|
||||
# Connection to a vCenter Server system
|
||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
||||
|
||||
# Clear previously assigned tag with VM Name
|
||||
try {
|
||||
Remove-Tag $VMName -Confirm:$false
|
||||
} catch {
|
||||
Write-Host "Tag with $VMName doesn't exist"
|
||||
}
|
||||
|
||||
$vm = Get-VM $VMName
|
||||
if (($env:AGENT_JOBSTATUS -and $env:AGENT_JOBSTATUS -eq 'Failed') -or ($JobStatus -and $JobStatus -eq 'failure')) {
|
||||
try {
|
||||
if ($vm.PowerState -ne "PoweredOff") {
|
||||
Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop | Out-Null
|
||||
}
|
||||
Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop | Out-Null
|
||||
Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]"
|
||||
} catch {
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop | Out-Null
|
||||
Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
|
||||
} catch {
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'"
|
||||
exit 1
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
This script selects local datastore based on the following rules:
|
||||
|
||||
- Name starts with ds-local-Datastore
|
||||
- Datastore FreespaceGB > 400 Gb
|
||||
- VM count on the datastore < 2
|
||||
|
||||
.PARAMETER VIServer
|
||||
vCenter address (Example "10.0.1.16")
|
||||
|
||||
.PARAMETER VIUserName
|
||||
vCenter username (Example "Administrator")
|
||||
|
||||
.PARAMETER VIPassword
|
||||
vCenter password (Example "12345678")
|
||||
#>
|
||||
|
||||
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIServer,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIPassword,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$Cluster,
|
||||
|
||||
[string]$TagCategory = "Busy"
|
||||
)
|
||||
|
||||
# Import helpers module
|
||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
||||
|
||||
function Select-DataStore {
|
||||
param (
|
||||
[string]$VMName,
|
||||
[string]$TagCategory,
|
||||
[string]$TemplateDatastore = "ds-local-Datastore-*",
|
||||
[string]$Cluster,
|
||||
[int]$ThresholdInGb = 400,
|
||||
[int]$VMCount = 2,
|
||||
[int]$Retries = 5
|
||||
)
|
||||
|
||||
# 1. Name starts with ds-local-Datastore
|
||||
# 2. FreespaceGB > 400 Gb
|
||||
# 3. Choose a datastore with the minimal VM count < 2
|
||||
|
||||
Write-Host "Start Datastore selection process..."
|
||||
$clusterHosts = Get-Cluster -Name $Cluster | Get-VMHost
|
||||
$availableClusterDatastores = $clusterHosts | Get-Datastore -Name $TemplateDatastore | Where-Object -Property State -eq "Available"
|
||||
$availableDatastores = $availableClusterDatastores `
|
||||
| Where-Object { $_.FreeSpaceGB -ge $thresholdInGb } `
|
||||
| Where-Object {
|
||||
$vmOnDatastore = @((Get-ChildItem -Path $_.DatastoreBrowserPath).Name -notmatch '(^\.|vmkdump)').Count
|
||||
$vmOnDatastore -lt $vmCount } `
|
||||
| Group-Object -Property { $vmOnDatastore }
|
||||
|
||||
$datastore = $availableDatastores | Select-Object @{n="VmCount";e={$_.Name}},@{n="DatastoreName";e={$_.Group | Get-Random}} -First 1
|
||||
$buildDatastore = $datastore.DatastoreName
|
||||
|
||||
$tag = Get-Tag -Category $TagCategory -Name $VMName -ErrorAction Ignore
|
||||
if (-not $tag)
|
||||
{
|
||||
$tag = New-Tag -Name $VMName -Category $TagCategory
|
||||
}
|
||||
|
||||
New-TagAssignment -Tag $tag -Entity $buildDatastore | Out-Null
|
||||
|
||||
# Wait for 60 seconds to check if any other tags are assigned to the same datastore
|
||||
Start-Sleep -Seconds 60
|
||||
# If there are no datastores with 0 VMs, take a datastore with 1 VM (index 1 if datastore has 0 VMs and 2 if 1 VM)
|
||||
$index = 1 + [int]$datastore.VmCount
|
||||
$tagAssignments = (Get-TagAssignment -Entity $buildDatastore).Tag.Name | Select-Object -First $index
|
||||
$isAllow = $tagAssignments -contains $VMName
|
||||
|
||||
if ($isAllow)
|
||||
{
|
||||
Write-Host "Datastore selected successfully"
|
||||
Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore"
|
||||
return
|
||||
}
|
||||
|
||||
# Remove the tag if datastore wasn't selected
|
||||
Remove-Tag $tag -Confirm:$false
|
||||
|
||||
$retries--
|
||||
if ($retries -le 0)
|
||||
{
|
||||
Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition"
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Datastore select failed, $retries left"
|
||||
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory -Retries $retries
|
||||
}
|
||||
|
||||
# Connection to a vCenter Server system
|
||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
||||
|
||||
# Get a target datastore for current deployment
|
||||
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory
|
||||
@@ -0,0 +1,73 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
This script sets resources for VM
|
||||
|
||||
.PARAMETER VMName
|
||||
VM name to resize (Example "macOS-10.15_20201012.4")
|
||||
|
||||
.PARAMETER VIServer
|
||||
vCenter address (Example "10.0.1.16")
|
||||
|
||||
.PARAMETER VIUserName
|
||||
vCenter username (Example "Administrator")
|
||||
|
||||
.PARAMETER VIPassword
|
||||
vCenter password (Example "12345678")
|
||||
|
||||
.PARAMETER CpuCount
|
||||
Target number of CPUs (Example "3")
|
||||
|
||||
.PARAMETER CoresPerSocketCount
|
||||
Target number of cores per socket (Example "3")
|
||||
|
||||
.PARAMETER Memory
|
||||
Target amount of memory in MB (Example "14336")
|
||||
|
||||
#>
|
||||
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VMName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIServer,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIUserName,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$VIPassword,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[int32]$CpuCount,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[int32]$CoresPerSocketCount,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[int64]$Memory
|
||||
)
|
||||
|
||||
# Import helpers module
|
||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
||||
|
||||
# Connection to a vCenter Server system
|
||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
||||
|
||||
$vm = Get-VM $VMName
|
||||
try {
|
||||
Write-Host "Change CPU count to $CpuCount, cores count to $CoresPerSocketCount, amount of RAM to $Memory"
|
||||
$vm | Set-VM -NumCPU $CpuCount -CoresPerSocket $CoresPerSocketCount -MemoryMB $Memory -Confirm:$false -ErrorAction Stop | Out-Null
|
||||
} catch {
|
||||
Write-Host "##vso[task.LogIssue type=error;]Failed to change specs for VM '$VMName'"
|
||||
exit 1
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
||||
[Parameter(Mandatory)] [string] $AccessToken,
|
||||
[Parameter(Mandatory)] [string] $SourceBranch,
|
||||
[Parameter(Mandatory)] [string] $ContributorAllowList
|
||||
)
|
||||
|
||||
function Build-AuthHeader {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $AccessToken
|
||||
)
|
||||
|
||||
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
|
||||
return "Basic ${base64AuthInfo}"
|
||||
}
|
||||
|
||||
function Get-PullRequest {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
||||
[Parameter(Mandatory)] [string] $AccessToken,
|
||||
[Parameter(Mandatory)] [UInt32] $PullRequestNumber
|
||||
)
|
||||
|
||||
$requestUrl = "https://api.github.com/repos/$RepositoryName/pulls/$PullRequestNumber"
|
||||
$authHeader = Build-AuthHeader -AccessToken $AccessToken
|
||||
|
||||
$params = @{
|
||||
Method = "GET"
|
||||
ContentType = "application/json"
|
||||
Uri = $requestUrl
|
||||
Headers = @{ Authorization = $authHeader }
|
||||
}
|
||||
|
||||
return Invoke-RestMethod @params
|
||||
}
|
||||
|
||||
function Validate-ContributorPermissions {
|
||||
param(
|
||||
[Parameter(Mandatory)] [string] $ContributorAllowList,
|
||||
[Parameter(Mandatory)] [string] $ContributorName
|
||||
)
|
||||
|
||||
$allowedContributors = $ContributorAllowList.Split(",").Trim()
|
||||
$validСontributor = $allowedContributors | Where-Object { $_ -eq $ContributorName } `
|
||||
| Select-Object -First 1
|
||||
|
||||
if (-not $validСontributor) {
|
||||
Write-Host "Failed to start this build. '$ContributorName' is an unknown contributor"
|
||||
Write-Host "Please add '$ContributorName' to the allowed list to run builds"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
$pullRequestNumber = $SourceBranch.Split("/")[2]
|
||||
|
||||
$pullRequestInfo = Get-PullRequest -RepositoryName $RepositoryName `
|
||||
-AccessToken $AccessToken `
|
||||
-PullRequestNumber $pullRequestNumber
|
||||
|
||||
$contributorName = $pullRequestInfo.user.login
|
||||
|
||||
Validate-ContributorPermissions -ContributorAllowList $ContributorAllowList `
|
||||
-ContributorName $contributorName
|
||||
@@ -0,0 +1,356 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[All OSes] Powershell Core will be updated to 7.4.x LTS on January, 28](https://github.com/actions/runner-images/issues/9115) |
|
||||
***
|
||||
# macOS 11
|
||||
- OS Version: macOS 11.7.10 (20G1427)
|
||||
- Kernel Version: Darwin 20.6.0
|
||||
- Image Version: 20240127.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 6.0.418, 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 13.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 10 (Homebrew GCC 10.5.0) - available by `gcc-10` alias
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GNU Fortran 10 (Homebrew GCC 10.5.0) - available by `gfortran-10` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- Julia 1.10.0
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Go 1.20.13
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 18.19.0
|
||||
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
|
||||
- NVM 0.39.7
|
||||
- NVM - Cached node versions: 16.20.2, 18.19.0, 20.11.0
|
||||
- Perl 5.38.2
|
||||
- Python 2.7.18
|
||||
- Python3 3.12.1
|
||||
- R 4.3.2
|
||||
- Ruby 2.7.8p225
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.4.22
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.14.3
|
||||
- Homebrew 4.2.5
|
||||
- Miniconda 23.11.0
|
||||
- NPM 10.2.3
|
||||
- NuGet 6.3.1.1
|
||||
- Pip 20.3.4 (python 2.7)
|
||||
- Pip3 23.3.2 (python 3.12)
|
||||
- Pipx 1.4.3
|
||||
- RubyGems 3.4.10
|
||||
- Vcpkg 2024 (build from commit 7032c5759)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | ---------------------- |
|
||||
| CONDA | /usr/local/miniconda |
|
||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.5
|
||||
- Sbt 1.9.8
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.22.2
|
||||
- bazel 7.0.2
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.3.2 - available by 'tar' alias
|
||||
- Curl 8.5.0
|
||||
- Git 2.43.0
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.42.1
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.4
|
||||
- helm v3.14.0+g3fc9f4b
|
||||
- jq 1.7.1
|
||||
- mongo 5.0.21
|
||||
- mongod 5.0.21
|
||||
- Newman 6.1.0
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- PostgreSQL 14.10 (Homebrew)
|
||||
- psql (PostgreSQL) 14.10 (Homebrew)
|
||||
- Sox 14.4.2
|
||||
- Subversion (SVN) 1.14.3
|
||||
- Switchaudio-osx 1.2.2
|
||||
- yq 4.40.5
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- Aliyun CLI 3.0.197
|
||||
- App Center CLI 2.14.0
|
||||
- AWS CLI 2.15.15
|
||||
- AWS SAM CLI 1.108.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.56.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.24.24
|
||||
- Cabal 3.10.2.1
|
||||
- Cmake 3.28.1
|
||||
- CodeQL Action Bundle 2.16.1
|
||||
- Fastlane 2.219.0
|
||||
- GHC 9.8.1
|
||||
- GHCup 0.1.20.0
|
||||
- Jazzy 0.14.4
|
||||
- Stack 2.13.1
|
||||
- SwiftFormat 0.53.0
|
||||
- Swig 4.2.0
|
||||
- Xcode Command Line Tools 13.2.0.0.1.1638488800
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.48.0
|
||||
- Yamllint 1.33.0
|
||||
|
||||
### Browsers
|
||||
- Safari 16.6.1 (16615.3.12.11.5)
|
||||
- SafariDriver 16.6.1 (16615.3.12.11.5)
|
||||
- Google Chrome 121.0.6167.85
|
||||
- Google Chrome for Testing 121.0.6167.85
|
||||
- ChromeDriver 121.0.6167.85
|
||||
- Microsoft Edge 121.0.2277.83
|
||||
- Microsoft Edge WebDriver 121.0.2277.83
|
||||
- Mozilla Firefox 122.0
|
||||
- geckodriver 0.34.0
|
||||
- Selenium server 4.17.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | ------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| ------------------- | -------------------- |
|
||||
| 8.0.402+6 (default) | JAVA_HOME_8_X64 |
|
||||
| 11.0.22+7 | JAVA_HOME_11_X64 |
|
||||
| 17.0.10+7 | JAVA_HOME_17_X64 |
|
||||
| 21.0.2+13.0 | JAVA_HOME_21_X64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 2.5.9
|
||||
- 2.6.10
|
||||
- 2.7.8
|
||||
- 3.0.6
|
||||
- 3.1.4
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.15]
|
||||
- 3.7.13 [PyPy 7.3.9]
|
||||
- 3.8.16 [PyPy 7.3.11]
|
||||
- 3.9.18 [PyPy 7.3.15]
|
||||
- 3.10.13 [PyPy 7.3.15]
|
||||
|
||||
#### Python
|
||||
- 3.7.17
|
||||
- 3.8.18
|
||||
- 3.9.18
|
||||
- 3.10.13
|
||||
- 3.11.7
|
||||
- 3.12.1
|
||||
|
||||
#### Node.js
|
||||
- 16.20.2
|
||||
- 18.19.0
|
||||
- 20.11.0
|
||||
|
||||
#### Go
|
||||
- 1.19.13
|
||||
- 1.20.13
|
||||
- 1.21.6
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.75.0
|
||||
- Rust 1.75.0
|
||||
- Rustdoc 1.75.0
|
||||
- Rustup 1.26.0
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.69.2
|
||||
- Cargo-audit 0.18.3
|
||||
- Cargo-outdated 0.14.0
|
||||
- Cbindgen 0.26.0
|
||||
- Clippy 0.1.75
|
||||
- Rustfmt 1.7.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.1
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 11.2.0
|
||||
- MarkdownPS: 1.9
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.58 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.25.3 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
|
||||
### Xamarin
|
||||
|
||||
#### Visual Studio for Mac
|
||||
| Version | Build | Path |
|
||||
| -------------- | ---------- | ------------------------------------ |
|
||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||
| 2022 (default) | 17.6.8.400 | /Applications/Visual Studio.app |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
To use Visual Studio 2019 by default rename the app:
|
||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
|
||||
mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
```
|
||||
|
||||
#### Xamarin bundles
|
||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
||||
| ----------------- | ------------ | ----------- | ----------- | --------------- |
|
||||
| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
|
||||
| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
|
||||
| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
|
||||
| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
|
||||
| 6_12_12 (default) | 6.12 | 15.4 | 8.4 | 12.0 |
|
||||
| 6_12_11 | 6.12 | 15.2 | 8.2 | 12.0 |
|
||||
| 6_12_10 | 6.12 | 15.0 | 7.14 | 11.3 |
|
||||
| 6_12_9 | 6.12 | 14.20 | 7.14 | 11.3 |
|
||||
| 6_12_8 | 6.12 | 14.16 | 7.10 | 11.2 |
|
||||
| 6_12_7 | 6.12 | 14.14 | 7.8 | 11.2 |
|
||||
| 6_12_6 | 6.12 | 14.10 | 7.4 | 11.1 |
|
||||
| 6_12_5 | 6.12 | 14.8 | 7.2 | 11.1 |
|
||||
| 6_12_4 | 6.12 | 14.6 | 7.0 | 11.1 |
|
||||
| 6_12_3 | 6.12 | 14.4 | 6.22 | 11.1 |
|
||||
| 6_12_2 | 6.12 | 14.2 | 6.20 | 11.0 |
|
||||
| 6_12_1 | 6.12 | 14.0 | 6.20 | 11.0 |
|
||||
| 6_12_0 | 6.12 | 13.20 | 6.20 | 11.0 |
|
||||
|
||||
#### Unit Test Framework
|
||||
- NUnit 3.6.1
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path |
|
||||
| ---------------- | -------- | ------------------------------ |
|
||||
| 13.2.1 (default) | 13C100 | /Applications/Xcode_13.2.1.app |
|
||||
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
|
||||
| 13.0 | 13A233 | /Applications/Xcode_13.0.app |
|
||||
| 12.5.1 | 12E507 | /Applications/Xcode_12.5.1.app |
|
||||
| 12.4 | 12D4e | /Applications/Xcode_12.4.app |
|
||||
| 11.7 | 11E801a | /Applications/Xcode_11.7.app |
|
||||
|
||||
#### Xcode Support Tools
|
||||
- xcpretty 0.3.0
|
||||
- xcversion 2.8.1
|
||||
- Nomad CLI 0.0.2
|
||||
- Nomad shenzhen CLI 0.14.3
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ----------------------- | -------------------- | ------------- |
|
||||
| macOS 10.15 | macosx10.15 | 11.7 |
|
||||
| macOS 11.1 | macosx11.1 | 12.4 |
|
||||
| macOS 11.3 | macosx11.3 | 12.5.1, 13.0 |
|
||||
| macOS 12.0 | macosx12.0 | 13.1 |
|
||||
| macOS 12.1 | macosx12.1 | 13.2.1 |
|
||||
| iOS 13.7 | iphoneos13.7 | 11.7 |
|
||||
| iOS 14.4 | iphoneos14.4 | 12.4 |
|
||||
| iOS 14.5 | iphoneos14.5 | 12.5.1 |
|
||||
| iOS 15.0 | iphoneos15.0 | 13.0, 13.1 |
|
||||
| iOS 15.2 | iphoneos15.2 | 13.2.1 |
|
||||
| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
|
||||
| Simulator - iOS 14.4 | iphonesimulator14.4 | 12.4 |
|
||||
| Simulator - iOS 14.5 | iphonesimulator14.5 | 12.5.1 |
|
||||
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.0, 13.1 |
|
||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
|
||||
| tvOS 13.4 | appletvos13.4 | 11.7 |
|
||||
| tvOS 14.3 | appletvos14.3 | 12.4 |
|
||||
| tvOS 14.5 | appletvos14.5 | 12.5.1 |
|
||||
| tvOS 15.0 | appletvos15.0 | 13.0, 13.1 |
|
||||
| tvOS 15.2 | appletvos15.2 | 13.2.1 |
|
||||
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 |
|
||||
| Simulator - tvOS 14.3 | appletvsimulator14.3 | 12.4 |
|
||||
| Simulator - tvOS 14.5 | appletvsimulator14.5 | 12.5.1 |
|
||||
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.0, 13.1 |
|
||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
|
||||
| watchOS 6.2 | watchos6.2 | 11.7 |
|
||||
| watchOS 7.2 | watchos7.2 | 12.4 |
|
||||
| watchOS 7.4 | watchos7.4 | 12.5.1 |
|
||||
| watchOS 8.0 | watchos8.0 | 13.0, 13.1 |
|
||||
| watchOS 8.3 | watchos8.3 | 13.2.1 |
|
||||
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 |
|
||||
| Simulator - watchOS 7.2 | watchsimulator7.2 | 12.4 |
|
||||
| Simulator - watchOS 7.4 | watchsimulator7.4 | 12.5.1 |
|
||||
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.0, 13.1 |
|
||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
|
||||
| DriverKit 19.0 | driverkit.macosx19.0 | 11.7 |
|
||||
| DriverKit 20.2 | driverkit.macosx20.2 | 12.4 |
|
||||
| DriverKit 20.4 | driverkit.macosx20.4 | 12.5.1, 13.0 |
|
||||
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
|
||||
| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.4 | 12.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 14.5 | 12.5.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.0 | 13.0<br>13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 13.4 | 11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.3 | 12.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
||||
| tvOS 14.5 | 12.5.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.0 | 13.0<br>13.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
||||
| watchOS 7.2 | 12.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 7.4 | 12.5.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
||||
| watchOS 8.0 | 13.0<br>13.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 8.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.0 33.0.1 33.0.2<br>32.0.0<br>31.0.0 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||
| Android SDK Platform-Tools | 34.0.5 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.10.2<br>3.18.1<br>3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.1.10909125 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- libXext 1.3.5
|
||||
- libXft 2.3.8
|
||||
- Tcl/Tk 8.6.13_5
|
||||
- Zlib 1.3.1
|
||||
|
||||
+161
-166
@@ -1,57 +1,55 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
| [[Macos 13 and 14] Android NDK versions <=25 will be removed from images on October 07,2024](https://github.com/actions/runner-images/issues/10614) |
|
||||
| [[Macos 13 and 14] Go version 1.20.0 will be removed on October 07,2024.](https://github.com/actions/runner-images/issues/10612) |
|
||||
| [[All OSes] Powershell Core will be updated to 7.4.x LTS on January, 28](https://github.com/actions/runner-images/issues/9115) |
|
||||
***
|
||||
# macOS 12
|
||||
- OS Version: macOS 12.7.6 (21H1320)
|
||||
- OS Version: macOS 12.7.3 (21H1015)
|
||||
- Kernel Version: Darwin 21.6.0
|
||||
- Image Version: 20240926.174
|
||||
- Image Version: 20240202.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 6.0.425, 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.402
|
||||
- .NET Core SDK: 6.0.418, 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 14.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias
|
||||
- Julia 1.10.5
|
||||
- Kotlin 2.0.20-release-360
|
||||
- Go 1.21.13
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
||||
- Julia 1.10.0
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Go 1.20.13
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 18.20.4
|
||||
- Node.js 18.19.0
|
||||
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
|
||||
- NVM 0.39.7
|
||||
- NVM - Cached node versions: 16.20.2, 18.20.4, 20.17.0
|
||||
- NVM - Cached node versions: 16.20.2, 18.19.0, 20.11.0
|
||||
- Perl 5.38.2
|
||||
- PHP 8.3.11
|
||||
- PHP 8.3.2
|
||||
- Python 2.7.18
|
||||
- Python3 3.12.6
|
||||
- R 4.4.1
|
||||
- Ruby 3.0.7p220
|
||||
- Python3 3.12.1
|
||||
- R 4.3.2
|
||||
- Ruby 3.0.6p216
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.5.20
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.15.2
|
||||
- Composer 2.7.9
|
||||
- Homebrew 4.3.24
|
||||
- Miniconda 24.7.1
|
||||
- NPM 10.7.0
|
||||
- Bundler 2.5.5
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.15.0
|
||||
- Composer 2.6.6
|
||||
- Homebrew 4.2.6
|
||||
- Miniconda 23.11.0
|
||||
- NPM 10.2.3
|
||||
- NuGet 6.3.1.1
|
||||
- Pip 20.3.4 (python 2.7)
|
||||
- Pip3 24.2 (python 3.12)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.20
|
||||
- Vcpkg 2024 (build from commit 3d8959985)
|
||||
- Yarn 1.22.22
|
||||
- Pip3 23.3.2 (python 3.12)
|
||||
- Pipx 1.4.3
|
||||
- RubyGems 3.5.5
|
||||
- Vcpkg 2024 (build from commit 80403036a)
|
||||
- Yarn 1.22.19
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -60,80 +58,80 @@
|
||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.10.2
|
||||
- Sbt 1.10.2
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.5
|
||||
- Sbt 1.9.8
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.26.0
|
||||
- bazel 7.3.1
|
||||
- bazelisk 1.21.0
|
||||
- azcopy 10.23.0
|
||||
- bazel 7.0.2
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.5.1 - available by 'tar' alias
|
||||
- Curl 8.10.1
|
||||
- Git 2.46.2
|
||||
- Git LFS 3.5.1
|
||||
- GitHub CLI 2.57.0
|
||||
- Curl 8.6.0
|
||||
- Git 2.43.0
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.43.1
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.24.5
|
||||
- gpg (GnuPG) 2.4.5
|
||||
- ImageMagick 7.1.1-38
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.4
|
||||
- ImageMagick 7.1.1-27
|
||||
- jq 1.7.1
|
||||
- mongo 5.0.29
|
||||
- mongod 5.0.29
|
||||
- mongo 5.0.21
|
||||
- mongod 5.0.21
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- PostgreSQL 14.13 (Homebrew)
|
||||
- psql (PostgreSQL) 14.13 (Homebrew)
|
||||
- PostgreSQL 14.10 (Homebrew)
|
||||
- psql (PostgreSQL) 14.10 (Homebrew)
|
||||
- Sox 14.4.2
|
||||
- Subversion (SVN) 1.14.3
|
||||
- Switchaudio-osx 1.2.2
|
||||
- Vagrant 2.4.1
|
||||
- VirtualBox 6.1.38r153438
|
||||
- yq 4.44.3
|
||||
- zstd 1.5.6
|
||||
- yq 4.40.5
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- App Center CLI 3.0.1
|
||||
- AWS CLI 2.17.59
|
||||
- AWS SAM CLI 1.124.0
|
||||
- AWS Session Manager CLI 1.2.650.0
|
||||
- Azure CLI 2.64.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.30.23
|
||||
- Cabal 3.10.3.0
|
||||
- Cmake 3.30.3
|
||||
- CodeQL Action Bundle 2.19.0
|
||||
- Colima 0.7.5
|
||||
- Fastlane 2.222.0
|
||||
- GHC 9.10.1
|
||||
- GHCup 0.1.30.0
|
||||
- Jazzy 0.15.2
|
||||
- Stack 3.1.1
|
||||
- SwiftFormat 0.54.5
|
||||
- Swig 4.2.1
|
||||
- Xcbeautify 1.6.0
|
||||
- App Center CLI 2.14.0
|
||||
- AWS CLI 2.15.17
|
||||
- AWS SAM CLI 1.108.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.56.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.24.24
|
||||
- Cabal 3.10.2.1
|
||||
- Cmake 3.28.2
|
||||
- CodeQL Action Bundle 2.16.1
|
||||
- Colima 0.6.8
|
||||
- Fastlane 2.219.0
|
||||
- GHC 9.8.1
|
||||
- GHCup 0.1.20.0
|
||||
- Jazzy 0.14.4
|
||||
- Stack 2.13.1
|
||||
- SwiftFormat 0.53.1
|
||||
- Swig 4.2.0
|
||||
- Xcbeautify 1.4.0
|
||||
- Xcode Command Line Tools 14.2.0.0.1.1668646533
|
||||
- Xcodes 1.5.0
|
||||
- Xcodes 1.4.1
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.53.0
|
||||
- Yamllint 1.35.1
|
||||
- Yamllint 1.33.0
|
||||
|
||||
### Browsers
|
||||
- Safari 17.6 (17618.3.11.11.7)
|
||||
- SafariDriver 17.6 (17618.3.11.11.7)
|
||||
- Google Chrome 129.0.6668.71
|
||||
- Google Chrome for Testing 129.0.6668.70
|
||||
- ChromeDriver 129.0.6668.70
|
||||
- Microsoft Edge 129.0.2792.52
|
||||
- Microsoft Edge WebDriver 129.0.2792.46
|
||||
- Mozilla Firefox 130.0.1
|
||||
- geckodriver 0.35.0
|
||||
- Selenium server 4.25.0
|
||||
- Safari 17.3 (17617.2.4.11.11)
|
||||
- SafariDriver 17.3 (17617.2.4.11.11)
|
||||
- Google Chrome 121.0.6167.139
|
||||
- Google Chrome for Testing 121.0.6167.85
|
||||
- ChromeDriver 121.0.6167.85
|
||||
- Microsoft Edge 121.0.2277.98
|
||||
- Microsoft Edge WebDriver 121.0.2277.98
|
||||
- Mozilla Firefox 122.0
|
||||
- geckodriver 0.34.0
|
||||
- Selenium server 4.17.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -143,83 +141,81 @@
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| --------------------- | -------------------- |
|
||||
| 8.0.422+5.1 (default) | JAVA_HOME_8_X64 |
|
||||
| 11.0.24+8 | JAVA_HOME_11_X64 |
|
||||
| 17.0.12+7 | JAVA_HOME_17_X64 |
|
||||
| 21.0.4+7.0 | JAVA_HOME_21_X64 |
|
||||
| Version | Environment Variable |
|
||||
| ------------------- | -------------------- |
|
||||
| 8.0.402+6 (default) | JAVA_HOME_8_X64 |
|
||||
| 11.0.22+7 | JAVA_HOME_11_X64 |
|
||||
| 17.0.10+7 | JAVA_HOME_17_X64 |
|
||||
| 21.0.2+13.0 | JAVA_HOME_21_X64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 2.7.8
|
||||
- 3.0.6
|
||||
- 3.1.4
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.17]
|
||||
- 2.7.18 [PyPy 7.3.15]
|
||||
- 3.7.13 [PyPy 7.3.9]
|
||||
- 3.8.16 [PyPy 7.3.11]
|
||||
- 3.9.19 [PyPy 7.3.16]
|
||||
- 3.10.14 [PyPy 7.3.17]
|
||||
|
||||
#### Ruby
|
||||
- 3.0.7
|
||||
- 3.1.6
|
||||
- 3.2.5
|
||||
- 3.3.5
|
||||
- 3.9.18 [PyPy 7.3.15]
|
||||
- 3.10.13 [PyPy 7.3.15]
|
||||
|
||||
#### Python
|
||||
- 3.7.17
|
||||
- 3.8.18
|
||||
- 3.9.20
|
||||
- 3.10.15
|
||||
- 3.11.9
|
||||
- 3.12.6
|
||||
- 3.9.18
|
||||
- 3.10.13
|
||||
- 3.11.7
|
||||
- 3.12.1
|
||||
|
||||
#### Node.js
|
||||
- 16.20.2
|
||||
- 18.20.4
|
||||
- 20.17.0
|
||||
- 18.19.0
|
||||
- 20.11.0
|
||||
|
||||
#### Go
|
||||
- 1.20.14
|
||||
- 1.21.13
|
||||
- 1.22.7
|
||||
- 1.23.1
|
||||
- 1.19.13
|
||||
- 1.20.13
|
||||
- 1.21.6
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.81.0
|
||||
- Rust 1.81.0
|
||||
- Rustdoc 1.81.0
|
||||
- Rustup 1.27.1
|
||||
- Cargo 1.75.0
|
||||
- Rust 1.75.0
|
||||
- Rustdoc 1.75.0
|
||||
- Rustup 1.26.0
|
||||
|
||||
#### Packages
|
||||
- Bindgen 0.70.1
|
||||
- Cargo-audit 0.20.1
|
||||
- Cargo-outdated 0.15.0
|
||||
- Cbindgen 0.27.0
|
||||
- Clippy 0.1.81
|
||||
- Rustfmt 1.7.1-stable
|
||||
- Bindgen 0.69.2
|
||||
- Cargo-audit 0.18.3
|
||||
- Cargo-outdated 0.14.0
|
||||
- Cbindgen 0.26.0
|
||||
- Clippy 0.1.75
|
||||
- Rustfmt 1.7.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.5
|
||||
- PowerShell 7.4.1
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.3.0
|
||||
- MarkdownPS: 1.10
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.22.0
|
||||
- Az: 11.2.0
|
||||
- MarkdownPS: 1.9
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Web Servers
|
||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||
| httpd | 2.4.62 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.27.1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
| httpd | 2.4.58 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||
| nginx | 1.25.3 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||
|
||||
### Xamarin
|
||||
|
||||
#### Visual Studio for Mac
|
||||
| Version | Build | Path |
|
||||
| -------------- | ----------- | ------------------------------------ |
|
||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||
| 2022 (default) | 17.6.14.413 | /Applications/Visual Studio.app |
|
||||
| Version | Build | Path |
|
||||
| -------------- | ---------- | ------------------------------------ |
|
||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||
| 2022 (default) | 17.6.8.400 | /Applications/Visual Studio.app |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
@@ -231,7 +227,6 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
#### Xamarin bundles
|
||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
||||
| ----------------- | ------------ | ----------- | ----------- | --------------- |
|
||||
| 6_12_25 | 6.12 | 16.4 | 9.3 | 13.2 |
|
||||
| 6_12_24 | 6.12 | 16.2 | 9.1 | 13.2 |
|
||||
| 6_12_23 | 6.12 | 16.2 | 9.1 | 13.1 |
|
||||
| 6_12_22 | 6.12 | 16.1 | 9.0 | 13.1 |
|
||||
@@ -315,39 +310,39 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
| DriverKit 22.2 | driverkit22.2 | 14.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| iOS 15.0 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.5 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.0 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 15.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.4 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 16.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 16.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 8.0 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.5 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 9.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| iOS 15.0 | 13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.4 | 13.3.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 15.5 | 13.4.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.0 | 14.0.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.1 | 14.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||
| iOS 16.2 | 14.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||
| tvOS 15.0 | 13.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 15.4 | 13.3.1<br>13.4.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 16.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| tvOS 16.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||
| watchOS 8.0 | 13.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 8.5 | 13.3.1<br>13.4.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||
| watchOS 9.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 8.0 |
|
||||
| Android Emulator | 35.1.21 |
|
||||
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
|
||||
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1<br>3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264<br>27.1.12297006 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 8.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||
| Android SDK Platform-Tools | 34.0.5 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.18.1<br>3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.1.10909125 |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -355,20 +350,20 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.1.12297006 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- libXext 1.3.6
|
||||
- libXext 1.3.5
|
||||
- libXft 2.3.8
|
||||
- Tcl/Tk 8.6.15
|
||||
- Tcl/Tk 8.6.13_5
|
||||
- Zlib 1.3.1
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.0.1-55659/ParallelsDesktop-20.0.1-55659.dmg |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v19/19.2.1-54832/ParallelsDesktop-19.2.1-54832.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
|
||||
+140
-160
@@ -1,105 +1,102 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
| [[All OSes] Powershell Core will be updated to 7.4.x LTS on January, 28](https://github.com/actions/runner-images/issues/9115) |
|
||||
***
|
||||
# macOS 13
|
||||
- OS Version: macOS 13.7.2 (22H313)
|
||||
- OS Version: macOS 13.6.4 (22G513)
|
||||
- Kernel Version: Darwin 22.6.0
|
||||
- Image Version: 20241216.479
|
||||
- Image Version: 20240204.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 14.0.0
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.18.1
|
||||
- Perl 5.40.0
|
||||
- PHP 8.4.1
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.0.7p220
|
||||
- Node.js 20.11.0
|
||||
- Perl 5.38.2
|
||||
- PHP 8.3.2
|
||||
- Python3 3.12.1
|
||||
- Ruby 3.0.6p216
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.5.23
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.4
|
||||
- Homebrew 4.4.11
|
||||
- NPM 10.8.2
|
||||
- Bundler 2.5.5
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.15.0
|
||||
- Composer 2.6.6
|
||||
- Homebrew 4.2.6
|
||||
- NPM 10.2.4
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.23
|
||||
- Vcpkg 2024 (build from commit b545373a9)
|
||||
- Yarn 1.22.22
|
||||
- Pip3 24.0 (python 3.12)
|
||||
- Pipx 1.4.3
|
||||
- RubyGems 3.5.5
|
||||
- Vcpkg 2024 (build from commit 80403036a)
|
||||
- Yarn 1.22.19
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.11.1
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.6
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- azcopy 10.23.0
|
||||
- bazel 7.0.2
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.11.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.63.2
|
||||
- Curl 8.6.0
|
||||
- Git 2.43.0
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.43.1
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.6
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.4
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- yq 4.40.5
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.17
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.2
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.3
|
||||
- Xcbeautify 2.16.0
|
||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||
- Xcodes 1.6.0
|
||||
- AWS CLI 2.15.17
|
||||
- AWS SAM CLI 1.108.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.56.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.24.24
|
||||
- Cmake 3.28.2
|
||||
- CodeQL Action Bundle 2.16.1
|
||||
- Fastlane 2.219.0
|
||||
- SwiftFormat 0.53.1
|
||||
- Xcbeautify 1.4.0
|
||||
- Xcode Command Line Tools 15.1.0.0.1.1700200546
|
||||
- Xcodes 1.4.1
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.57.1
|
||||
- SwiftLint 0.53.0
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (18620.1.16.111.6)
|
||||
- SafariDriver 18.2 (18620.1.16.111.6)
|
||||
- Google Chrome 131.0.6778.140
|
||||
- Google Chrome for Testing 131.0.6778.108
|
||||
- ChromeDriver 131.0.6778.108
|
||||
- Microsoft Edge 131.0.2903.99
|
||||
- Microsoft Edge WebDriver 131.0.2903.87
|
||||
- Mozilla Firefox 133.0.3
|
||||
- geckodriver 0.35.0
|
||||
- Selenium server 4.27.0
|
||||
- Safari 17.3 (18617.2.4.11.11)
|
||||
- SafariDriver 17.3 (18617.2.4.11.11)
|
||||
- Google Chrome 121.0.6167.139
|
||||
- Google Chrome for Testing 121.0.6167.85
|
||||
- ChromeDriver 121.0.6167.85
|
||||
- Microsoft Edge 121.0.2277.98
|
||||
- Microsoft Edge WebDriver 121.0.2277.98
|
||||
- Mozilla Firefox 122.0
|
||||
- geckodriver 0.34.0
|
||||
- Selenium server 4.17.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -109,73 +106,70 @@
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| -------------------- | -------------------- |
|
||||
| 8.0.432+6 | JAVA_HOME_8_X64 |
|
||||
| 11.0.25+9 | JAVA_HOME_11_X64 |
|
||||
| 17.0.13+11 (default) | JAVA_HOME_17_X64 |
|
||||
| 21.0.5+11.0 | JAVA_HOME_21_X64 |
|
||||
| Version | Environment Variable |
|
||||
| ------------------- | -------------------- |
|
||||
| 8.0.402+6 | JAVA_HOME_8_X64 |
|
||||
| 11.0.22+7 | JAVA_HOME_11_X64 |
|
||||
| 17.0.10+7 (default) | JAVA_HOME_17_X64 |
|
||||
| 21.0.2+13.0 | JAVA_HOME_21_X64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.0.6
|
||||
- 3.1.4
|
||||
|
||||
#### PyPy
|
||||
- 2.7.18 [PyPy 7.3.17]
|
||||
- 2.7.18 [PyPy 7.3.15]
|
||||
- 3.7.13 [PyPy 7.3.9]
|
||||
- 3.8.16 [PyPy 7.3.11]
|
||||
- 3.9.19 [PyPy 7.3.16]
|
||||
- 3.10.14 [PyPy 7.3.17]
|
||||
|
||||
#### Ruby
|
||||
- 3.0.7
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
- 3.9.18 [PyPy 7.3.15]
|
||||
- 3.10.13 [PyPy 7.3.15]
|
||||
|
||||
#### Python
|
||||
- 3.8.18
|
||||
- 3.9.20
|
||||
- 3.10.15
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
- 3.9.18
|
||||
- 3.10.13
|
||||
- 3.11.7
|
||||
- 3.12.1
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
- 16.20.2
|
||||
- 18.19.0
|
||||
- 20.11.0
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
- 1.19.13
|
||||
- 1.20.13
|
||||
- 1.21.6
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
- Cargo 1.75.0
|
||||
- Rust 1.75.0
|
||||
- Rustdoc 1.75.0
|
||||
- Rustup 1.26.0
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
- Clippy 0.1.75
|
||||
- Rustfmt 1.7.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
- PowerShell 7.4.1
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
- Az: 11.2.0
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
|
||||
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
|
||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
|
||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | ------- | ------------------------------ |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app |
|
||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
@@ -223,57 +217,43 @@
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.1 | 14.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.2 | 14.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 34.0.5 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.1.10909125 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- Tcl/Tk 8.6.16
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.2-55742/ParallelsDesktop-20.1.2-55742.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
If you want to use Parallels Desktop you should download a package from URL stored in
|
||||
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
|
||||
```
|
||||
|
||||
|
||||
@@ -1,97 +1,91 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
| [[All OSes] Powershell Core will be updated to 7.4.x LTS on January, 28](https://github.com/actions/runner-images/issues/9115) |
|
||||
***
|
||||
# macOS 13
|
||||
- OS Version: macOS 13.7.2 (22H313)
|
||||
- OS Version: macOS 13.6.4 (22G513)
|
||||
- Kernel Version: Darwin 22.6.0
|
||||
- Image Version: 20241216.537
|
||||
- Image Version: 20240204.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 14.0.0
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.18.1
|
||||
- Perl 5.40.0
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.0.7p220
|
||||
- Node.js 20.11.0
|
||||
- Perl 5.38.2
|
||||
- Ruby 3.0.6p216
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.5.23
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.4.11
|
||||
- NPM 10.8.2
|
||||
- Bundler 2.5.5
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.15.0
|
||||
- Homebrew 4.2.6
|
||||
- NPM 10.2.4
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.23
|
||||
- Yarn 1.22.22
|
||||
- RubyGems 3.5.5
|
||||
- Yarn 1.22.19
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.11.1
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.6
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- azcopy 10.23.0
|
||||
- bazel 7.0.2
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.7.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.63.2
|
||||
- Curl 8.4.0
|
||||
- Git 2.43.0
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.43.1
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.6
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.4
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- yq 4.40.5
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.17
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.2
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.3
|
||||
- Xcbeautify 2.16.0
|
||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||
- Xcodes 1.6.0
|
||||
- AWS CLI 2.15.17
|
||||
- AWS SAM CLI 1.108.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.56.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.24.24
|
||||
- Cmake 3.28.2
|
||||
- CodeQL Action Bundle 2.16.1
|
||||
- Fastlane 2.219.0
|
||||
- SwiftFormat 0.53.1
|
||||
- Xcbeautify 1.4.0
|
||||
- Xcode Command Line Tools 15.1.0.0.1.1700200546
|
||||
- Xcodes 1.4.1
|
||||
|
||||
### Linters
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (18620.1.16.111.6)
|
||||
- SafariDriver 18.2 (18620.1.16.111.6)
|
||||
- Google Chrome 131.0.6778.140
|
||||
- Google Chrome for Testing 131.0.6778.108
|
||||
- ChromeDriver 131.0.6778.108
|
||||
- Selenium server 4.27.0
|
||||
- Safari 17.3 (18617.2.4.11.11)
|
||||
- SafariDriver 17.3 (18617.2.4.11.11)
|
||||
- Google Chrome 121.0.6167.139
|
||||
- Google Chrome for Testing 121.0.6167.85
|
||||
- ChromeDriver 121.0.6167.85
|
||||
- Selenium server 4.17.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -101,62 +95,55 @@
|
||||
| GECKOWEBDRIVER | |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| -------------------- | -------------------- |
|
||||
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.13+11 (default) | JAVA_HOME_17_arm64 |
|
||||
| 21.0.5+11.0 | JAVA_HOME_21_arm64 |
|
||||
| Version | Environment Variable |
|
||||
| ------------------- | -------------------- |
|
||||
| 11.0.22+7.1 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.10+7 (default) | JAVA_HOME_17_arm64 |
|
||||
| 21.0.2+13.0 | JAVA_HOME_21_arm64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.0.7
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
|
||||
#### Python
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
- 3.11.7
|
||||
- 3.12.1
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
- 16.20.1
|
||||
- 18.19.0
|
||||
- 20.11.0
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
- 1.19.13
|
||||
- 1.20.13
|
||||
- 1.21.6
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
- Cargo 1.75.0
|
||||
- Rust 1.75.0
|
||||
- Rustdoc 1.75.0
|
||||
- Rustup 1.26.0
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
- Clippy 0.1.75
|
||||
- Rustfmt 1.7.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
- PowerShell 7.4.1
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
- Az: 11.2.0
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
|
||||
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
|
||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
|
||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | ------- | ------------------------------ |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app |
|
||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
@@ -192,8 +179,8 @@
|
||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
||||
@@ -204,47 +191,44 @@
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| visionOS 1.0 | Apple Vision Pro |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.1 | 14.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.2 | 14.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.1 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| visionOS 1.0 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Vision Pro |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 34.0.5 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.1.10909125 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- Tcl/Tk 8.6.16
|
||||
|
||||
|
||||
+144
-236
@@ -1,104 +1,100 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
***
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.2 (23H311)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20241216.504
|
||||
- OS Version: macOS 14.2.1 (23C71)
|
||||
- Kernel Version: Darwin 23.2.0
|
||||
- Image Version: 20240116.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
||||
- Julia 1.10.0
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.18.1
|
||||
- Perl 5.40.0
|
||||
- PHP 8.4.1
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.0.7p220
|
||||
- Node.js 18.19.0
|
||||
- Perl 5.38.2
|
||||
- PHP 8.3.1
|
||||
- Python3 3.11.7
|
||||
- R 4.3.2
|
||||
- Ruby 3.0.6p216
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.5.23
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.4
|
||||
- Homebrew 4.4.11
|
||||
- NPM 10.8.2
|
||||
- Bundler 2.5.4
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.14.3
|
||||
- Composer 2.6.6
|
||||
- Homebrew 4.2.4
|
||||
- NPM 10.2.3
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.23
|
||||
- Yarn 1.22.22
|
||||
- Pip3 23.3.1 (python 3.11)
|
||||
- Pipx 1.4.2
|
||||
- RubyGems 3.5.4
|
||||
- Vcpkg 2024 (build from commit 91b17dd72)
|
||||
- Yarn 1.22.19
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.11.1
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.5
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- azcopy 10.21.2
|
||||
- bazel 7.0.0
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.11.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.63.2
|
||||
- Curl 8.5.0
|
||||
- Git 2.43.0
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.42.0
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.6
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.3
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- yq 4.40.5
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.17
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.2
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.3
|
||||
- Xcbeautify 2.16.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.0
|
||||
- AWS CLI 2.15.10
|
||||
- AWS SAM CLI 1.107.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.56.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.24.24
|
||||
- Cmake 3.28.1
|
||||
- CodeQL Action Bundle 2.15.5
|
||||
- Fastlane 2.219.0
|
||||
- SwiftFormat 0.53.0
|
||||
- Xcbeautify 1.4.0
|
||||
- Xcode Command Line Tools 15.1.0.0.1.1700200546
|
||||
- Xcodes 1.4.1
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.57.1
|
||||
- SwiftLint 0.53.0
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (19620.1.16.111.6)
|
||||
- SafariDriver 18.2 (19620.1.16.111.6)
|
||||
- Google Chrome 131.0.6778.140
|
||||
- Google Chrome for Testing 131.0.6778.108
|
||||
- ChromeDriver 131.0.6778.108
|
||||
- Microsoft Edge 131.0.2903.99
|
||||
- Microsoft Edge WebDriver 131.0.2903.87
|
||||
- Mozilla Firefox 133.0.3
|
||||
- geckodriver 0.35.0
|
||||
- Selenium server 4.27.0
|
||||
- Safari 17.2.1 (19617.1.17.11.12)
|
||||
- SafariDriver 17.2.1 (19617.1.17.11.12)
|
||||
- Google Chrome 120.0.6099.234
|
||||
- Google Chrome for Testing 120.0.6099.109
|
||||
- ChromeDriver 120.0.6099.109
|
||||
- Microsoft Edge 120.0.2210.133
|
||||
- Microsoft Edge WebDriver 120.0.2210.133
|
||||
- Mozilla Firefox 121.0.1
|
||||
- geckodriver 0.34.0
|
||||
- Selenium server 4.16.1
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -110,184 +106,96 @@
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| --------------------- | -------------------- |
|
||||
| 8.0.432+6 | JAVA_HOME_8_X64 |
|
||||
| 11.0.25+9 | JAVA_HOME_11_X64 |
|
||||
| 17.0.13+11 | JAVA_HOME_17_X64 |
|
||||
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.0.7
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
|
||||
#### Python
|
||||
- 3.9.20
|
||||
- 3.10.15
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
| 8.0.392+8 | JAVA_HOME_8_X64 |
|
||||
| 11.0.21+9 | JAVA_HOME_11_X64 |
|
||||
| 17.0.9+9 | JAVA_HOME_17_X64 |
|
||||
| 21.0.1+12.0 (default) | JAVA_HOME_21_X64 |
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
- PowerShell 7.2.18
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
- Az: 11.2.0
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | ------- | ------------------------------ | -------------------------------------------------------------- |
|
||||
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||
| 16.0 | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app |
|
||||
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
|
||||
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | ------- | ------------------------------ |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
||||
|
||||
#### Xcode Support Tools
|
||||
- xcpretty 0.3.0
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------ | -------------------- | ------------- |
|
||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||
| macOS 14.4 | macosx14.4 | 15.3 |
|
||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||
| macOS 15.0 | macosx15.0 | 16.0 |
|
||||
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||
| iOS 18.0 | iphoneos18.0 | 16.0 |
|
||||
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
|
||||
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||
| tvOS 18.0 | appletvos18.0 | 16.0 |
|
||||
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
|
||||
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||
| watchOS 10.4 | watchos10.4 | 15.3 |
|
||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||
| watchOS 11.0 | watchos11.0 | 16.0 |
|
||||
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
|
||||
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
||||
| visionOS 1.1 | xros1.1 | 15.3 |
|
||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
|
||||
| visionOS 2.0 | xros2.0 | 16.0 |
|
||||
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||
| DriverKit 24.0 | driverkit24.0 | 16.0 |
|
||||
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
|
||||
| macOS 13.3 | macosx13.3 | 14.3.1 |
|
||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
|
||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
|
||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
|
||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
|
||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||
| watchOS 9.4 | watchos9.4 | 14.3.1 |
|
||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
||||
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
|
||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ------------ | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 34.0.5 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.1.10909125 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- Tcl/Tk 8.6.16
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.2-55742/ParallelsDesktop-20.1.2-55742.dmg |
|
||||
|
||||
##### Notes
|
||||
```
|
||||
If you want to use Parallels Desktop you should download a package from URL stored in
|
||||
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
|
||||
```
|
||||
|
||||
|
||||
@@ -1,97 +1,92 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
| [[All OSes] Ruby versions <= 2.7.x will be removed on February, 26](https://github.com/actions/runner-images/issues/9327) |
|
||||
| [[All OSes] Go 1.19.x will be removed and 1.21.x set as default on February, 26](https://github.com/actions/runner-images/issues/9326) |
|
||||
***
|
||||
# macOS 14
|
||||
- OS Version: macOS 14.7.2 (23H311)
|
||||
- Kernel Version: Darwin 23.6.0
|
||||
- Image Version: 20250106.725
|
||||
- OS Version: macOS 14.3.1 (23D60)
|
||||
- Kernel Version: Darwin 23.3.0
|
||||
- Image Version: 20240219.1
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.406, 8.0.101, 8.0.201
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
||||
- Kotlin 1.9.22-release-704
|
||||
- Mono 6.12.0.188
|
||||
- Node.js 20.18.1
|
||||
- Perl 5.40.0
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.0.7p220
|
||||
- Node.js 20.11.1
|
||||
- Perl 5.38.2
|
||||
- Ruby 3.0.6p216
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.5.23
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.4.14
|
||||
- NPM 10.8.2
|
||||
- Bundler 2.5.6
|
||||
- Carthage 0.39.1
|
||||
- CocoaPods 1.15.2
|
||||
- Homebrew 4.2.9
|
||||
- NPM 10.2.4
|
||||
- NuGet 6.3.1.1
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.5.23
|
||||
- Yarn 1.22.22
|
||||
- RubyGems 3.5.6
|
||||
- Yarn 1.22.19
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.12
|
||||
- Apache Ant 1.10.14
|
||||
- Apache Maven 3.9.6
|
||||
- Gradle 8.6
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- azcopy 10.23.0
|
||||
- bazel 7.0.2
|
||||
- bazelisk 1.19.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.7.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.64.0
|
||||
- Curl 8.4.0
|
||||
- Git 2.43.2
|
||||
- Git LFS 3.4.1
|
||||
- GitHub CLI 2.44.1
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.7
|
||||
- GNU Wget 1.21.4
|
||||
- gpg (GnuPG) 2.4.4
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
- Packer 1.9.4
|
||||
- pkg-config 0.29.2
|
||||
- yq 4.41.1
|
||||
- zstd 1.5.5
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.28
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.3
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.4
|
||||
- Xcbeautify 2.17.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.0
|
||||
- AWS CLI 2.15.21
|
||||
- AWS SAM CLI 1.109.0
|
||||
- AWS Session Manager CLI 1.2.553.0
|
||||
- Azure CLI 2.57.0
|
||||
- Azure CLI (azure-devops) 0.26.0
|
||||
- Bicep CLI 0.25.53
|
||||
- Cmake 3.28.3
|
||||
- CodeQL Action Bundle 2.16.2
|
||||
- Fastlane 2.219.0
|
||||
- SwiftFormat 0.53.2
|
||||
- Xcbeautify 1.4.0
|
||||
- Xcode Command Line Tools 15.1.0.0.1.1700200546
|
||||
- Xcodes 1.4.1
|
||||
|
||||
### Linters
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (19620.1.16.111.6)
|
||||
- SafariDriver 18.2 (19620.1.16.111.6)
|
||||
- Google Chrome 131.0.6778.205
|
||||
- Google Chrome for Testing 131.0.6778.204
|
||||
- ChromeDriver 131.0.6778.204
|
||||
- Selenium server 4.27.0
|
||||
- Safari 17.3.1 (19617.2.4.11.12)
|
||||
- SafariDriver 17.3.1 (19617.2.4.11.12)
|
||||
- Google Chrome 121.0.6167.184
|
||||
- Google Chrome for Testing 121.0.6167.184
|
||||
- ChromeDriver 121.0.6167.184
|
||||
- Selenium server 4.17.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
@@ -103,170 +98,119 @@
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| --------------------- | -------------------- |
|
||||
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.13+11 | JAVA_HOME_17_arm64 |
|
||||
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
|
||||
| 11.0.22+7.1 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.10+7 | JAVA_HOME_17_arm64 |
|
||||
| 21.0.2+13.0 (default) | JAVA_HOME_21_arm64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.0.7
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
|
||||
#### Python
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
- 3.11.8
|
||||
- 3.12.2
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
- 18.19.1
|
||||
- 20.11.1
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
- 1.20.14
|
||||
- 1.21.7
|
||||
- 1.22.0
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
- Cargo 1.76.0
|
||||
- Rust 1.76.0
|
||||
- Rustdoc 1.76.0
|
||||
- Rustup 1.26.0
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
- Clippy 0.1.76
|
||||
- Rustfmt 1.7.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
- PowerShell 7.4.1
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
- Az: 11.3.1
|
||||
- Pester: 5.5.0
|
||||
- PSScriptAnalyzer: 1.21.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | -------- | ------------------------------ | --------------------------------------------------------- |
|
||||
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
|
||||
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||
| Version | Build | Path |
|
||||
| ---------------- | ------- | ------------------------------ |
|
||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------ | -------------------- | ------------- |
|
||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||
| macOS 14.4 | macosx14.4 | 15.3 |
|
||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||
| watchOS 10.4 | watchos10.4 | 15.3 |
|
||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
||||
| visionOS 1.1 | xros1.1 | 15.3 |
|
||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
|
||||
| macOS 13.3 | macosx13.3 | 14.3.1 |
|
||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
|
||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
|
||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
|
||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
|
||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||
| watchOS 9.4 | watchos9.4 | 14.3.1 |
|
||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
|
||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
||||
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
|
||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| visionOS 1.0 | Apple Vision Pro |
|
||||
| visionOS 1.1 | Apple Vision Pro |
|
||||
| visionOS 1.2 | Apple Vision Pro |
|
||||
| OS | Xcode Version | Simulators |
|
||||
| ------------ | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 16.4 | 14.3.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| iOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||
| tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||
| watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| visionOS 1.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Vision Pro |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 11.0 |
|
||||
| Android Emulator | 33.1.24 |
|
||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||
| Android SDK Platform-Tools | 35.0.0 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.22.1 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.2.11394342 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.2.11394342 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.2.11394342 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.2.11394342 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.2.11394342 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
### Miscellaneous
|
||||
- Tcl/Tk 8.6.16
|
||||
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
***
|
||||
# macOS 15
|
||||
- OS Version: macOS 15.2 (24C101)
|
||||
- Kernel Version: Darwin 24.2.0
|
||||
- Image Version: 20241217.493
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- Node.js 22.12.0
|
||||
- Perl 5.40.0
|
||||
- PHP 8.4.1
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.3.6
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.6.0
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Composer 2.8.4
|
||||
- Homebrew 4.4.12
|
||||
- NPM 10.9.0
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.0
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.11.1
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.11.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.63.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.6
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.18
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.2
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.3
|
||||
- Xcbeautify 2.16.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.0
|
||||
|
||||
### Linters
|
||||
- SwiftLint 0.57.1
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (20620.1.16.11.8)
|
||||
- SafariDriver 18.2 (20620.1.16.11.8)
|
||||
- Google Chrome 131.0.6778.140
|
||||
- Google Chrome for Testing 131.0.6778.108
|
||||
- ChromeDriver 131.0.6778.108
|
||||
- Microsoft Edge 131.0.2903.99
|
||||
- Microsoft Edge WebDriver 131.0.2903.87
|
||||
- Mozilla Firefox 133.0.3
|
||||
- geckodriver 0.35.0
|
||||
- Selenium server 4.27.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | ------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 |
|
||||
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
|
||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| --------------------- | -------------------- |
|
||||
| 11.0.25+9 | JAVA_HOME_11_X64 |
|
||||
| 17.0.13+11 | JAVA_HOME_17_X64 |
|
||||
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
|
||||
#### Python
|
||||
- 3.9.21
|
||||
- 3.10.16
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
|
||||
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------ | -------------------- | ------------- |
|
||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||
| macOS 15.0 | macosx15.0 | 16.0 |
|
||||
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||
| iOS 18.0 | iphoneos18.0 | 16.0 |
|
||||
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
|
||||
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||
| tvOS 18.0 | appletvos18.0 | 16.0 |
|
||||
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
|
||||
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||
| watchOS 11.0 | watchos11.0 | 16.0 |
|
||||
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
|
||||
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
|
||||
| visionOS 2.0 | xros2.0 | 16.0 |
|
||||
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||
| DriverKit 24.0 | driverkit24.0 | 16.0 |
|
||||
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 16.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
| Announcements |
|
||||
|-|
|
||||
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||
***
|
||||
# macOS 15
|
||||
- OS Version: macOS 15.2 (24C101)
|
||||
- Kernel Version: Darwin 24.2.0
|
||||
- Image Version: 20241217.490
|
||||
|
||||
## Installed Software
|
||||
|
||||
### Language and Runtime
|
||||
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||
- Bash 3.2.57(1)-release
|
||||
- Clang/LLVM 15.0.0
|
||||
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
|
||||
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||
- Kotlin 2.1.0-release-394
|
||||
- Node.js 22.12.0
|
||||
- Perl 5.40.0
|
||||
- Python3 3.13.1
|
||||
- Ruby 3.3.6
|
||||
|
||||
### Package Management
|
||||
- Bundler 2.6.0
|
||||
- Carthage 0.40.0
|
||||
- CocoaPods 1.16.2
|
||||
- Homebrew 4.4.12
|
||||
- NPM 10.9.0
|
||||
- Pip3 24.3.1 (python 3.13)
|
||||
- Pipx 1.7.1
|
||||
- RubyGems 3.6.0
|
||||
- Yarn 1.22.22
|
||||
|
||||
### Project Management
|
||||
- Apache Ant 1.10.15
|
||||
- Apache Maven 3.9.9
|
||||
- Gradle 8.11.1
|
||||
|
||||
### Utilities
|
||||
- 7-Zip 17.05
|
||||
- aria2 1.37.0
|
||||
- azcopy 10.27.1
|
||||
- bazel 8.0.0
|
||||
- bazelisk 1.25.0
|
||||
- bsdtar 3.5.3 - available by 'tar' alias
|
||||
- Curl 8.7.1
|
||||
- Git 2.47.1
|
||||
- Git LFS 3.6.0
|
||||
- GitHub CLI 2.63.2
|
||||
- GNU Tar 1.35 - available by 'gtar' alias
|
||||
- GNU Wget 1.25.0
|
||||
- gpg (GnuPG) 2.4.6
|
||||
- jq 1.7.1
|
||||
- OpenSSL 1.1.1w 11 Sep 2023
|
||||
- Packer 1.11.2
|
||||
- pkgconf 2.3.0
|
||||
- Unxip 3.1
|
||||
- yq 4.44.6
|
||||
- zstd 1.5.6
|
||||
|
||||
### Tools
|
||||
- AWS CLI 2.22.18
|
||||
- AWS SAM CLI 1.132.0
|
||||
- AWS Session Manager CLI 1.2.694.0
|
||||
- Azure CLI 2.67.0
|
||||
- Azure CLI (azure-devops) 1.0.1
|
||||
- Bicep CLI 0.32.4
|
||||
- Cmake 3.31.2
|
||||
- CodeQL Action Bundle 2.20.0
|
||||
- Fastlane 2.226.0
|
||||
- SwiftFormat 0.55.3
|
||||
- Xcbeautify 2.16.0
|
||||
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||
- Xcodes 1.6.0
|
||||
|
||||
### Linters
|
||||
|
||||
### Browsers
|
||||
- Safari 18.2 (20620.1.16.11.8)
|
||||
- SafariDriver 18.2 (20620.1.16.11.8)
|
||||
- Google Chrome 131.0.6778.140
|
||||
- Google Chrome for Testing 131.0.6778.108
|
||||
- ChromeDriver 131.0.6778.108
|
||||
- Selenium server 4.27.0
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| --------------- | --------------------------------------- |
|
||||
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 |
|
||||
| EDGEWEBDRIVER | |
|
||||
| GECKOWEBDRIVER | |
|
||||
|
||||
### Java
|
||||
| Version | Environment Variable |
|
||||
| --------------------- | -------------------- |
|
||||
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||
| 17.0.13+11 | JAVA_HOME_17_arm64 |
|
||||
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
|
||||
|
||||
### Cached Tools
|
||||
|
||||
#### Ruby
|
||||
- 3.1.6
|
||||
- 3.2.6
|
||||
- 3.3.6
|
||||
|
||||
#### Python
|
||||
- 3.11.9
|
||||
- 3.12.8
|
||||
- 3.13.1
|
||||
|
||||
#### Node.js
|
||||
- 18.20.5
|
||||
- 20.18.1
|
||||
- 22.12.0
|
||||
|
||||
#### Go
|
||||
- 1.21.13
|
||||
- 1.22.10
|
||||
- 1.23.4
|
||||
|
||||
### Rust Tools
|
||||
- Cargo 1.83.0
|
||||
- Rust 1.83.0
|
||||
- Rustdoc 1.83.0
|
||||
- Rustup 1.27.1
|
||||
|
||||
#### Packages
|
||||
- Clippy 0.1.83
|
||||
- Rustfmt 1.8.0-stable
|
||||
|
||||
### PowerShell Tools
|
||||
- PowerShell 7.4.6
|
||||
|
||||
#### PowerShell Modules
|
||||
- Az: 12.4.0
|
||||
- Pester: 5.6.1
|
||||
- PSScriptAnalyzer: 1.23.0
|
||||
|
||||
### Xcode
|
||||
| Version | Build | Path | Symlinks |
|
||||
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
|
||||
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
|
||||
|
||||
#### Installed SDKs
|
||||
| SDK | SDK Name | Xcode Version |
|
||||
| ------------------------ | -------------------- | ------------- |
|
||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||
| macOS 15.0 | macosx15.0 | 16.0 |
|
||||
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||
| iOS 18.0 | iphoneos18.0 | 16.0 |
|
||||
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
|
||||
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||
| tvOS 18.0 | appletvos18.0 | 16.0 |
|
||||
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
|
||||
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||
| watchOS 11.0 | watchos11.0 | 16.0 |
|
||||
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
|
||||
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||
| visionOS 2.0 | xros2.0 | 16.0 |
|
||||
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
|
||||
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||
| DriverKit 24.0 | driverkit24.0 | 16.0 |
|
||||
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||
|
||||
#### Installed Simulators
|
||||
| OS | Simulators |
|
||||
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||
| visionOS 1.2 | Apple Vision Pro |
|
||||
| visionOS 2.0 | Apple Vision Pro |
|
||||
| visionOS 2.1 | Apple Vision Pro |
|
||||
| visionOS 2.2 | Apple Vision Pro |
|
||||
|
||||
### Android
|
||||
| Package Name | Version |
|
||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Android Command Line Tools | 16.0 |
|
||||
| Android Emulator | 35.2.10 |
|
||||
| Android SDK Build-tools | 35.0.0 |
|
||||
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||
| Android SDK Platform-Tools | 35.0.2 |
|
||||
| Android Support Repository | 47.0.0 |
|
||||
| CMake | 3.31.0 |
|
||||
| Google Play services | 49 |
|
||||
| Google Repository | 58 |
|
||||
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
|
||||
|
||||
#### Environment variables
|
||||
| Name | Value |
|
||||
| ----------------------- | --------------------------------------------------- |
|
||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
################################################################################
|
||||
## File: Configure-Xcode-Simulators.ps1
|
||||
## Team: CI-Build
|
||||
## Desc: CHeck and remove duplicate simulators
|
||||
################################################################################
|
||||
|
||||
Import-Module "~/image-generation/helpers/Common.Helpers.psm1"
|
||||
Import-Module "~/image-generation/helpers/Xcode.Helpers.psm1"
|
||||
$arch = Get-Architecture
|
||||
$xcodeVersions = (Get-ToolsetContent).xcode.${arch}.versions
|
||||
|
||||
# Switch to each Xcode version
|
||||
foreach ($xcodeVersion in $xcodeVersions.link) {
|
||||
write-host "Switching to Xcode $xcodeVersion"
|
||||
Switch-Xcode -Version $XcodeVersion
|
||||
|
||||
# Make object of all simulators
|
||||
$devicesList = $(xcrun simctl list -j devices | ConvertFrom-Json)
|
||||
$devicesObject = [System.Collections.ArrayList]@()
|
||||
foreach ($runtime in $devicesList.devices.psobject.Properties.name) {
|
||||
foreach ($device in $devicesList.devices.$runtime) {
|
||||
$devicesObject += [PSCustomObject]@{
|
||||
runtime = $runtime
|
||||
DeviceName = $($device.name)
|
||||
DeviceId = $($device.udid)
|
||||
DeviceCreationTime = (Get-Item $HOME/Library/Developer/CoreSimulator/Devices/$($device.udid)).CreationTime
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Remove duplicates
|
||||
foreach ($simRuntume in $devicesObject.runtime | Sort-Object -Unique) {
|
||||
[System.Collections.ArrayList]$sameRuntimeDevices = [array]$($devicesObject | Where-Object {$_.runtime -eq $simRuntume} | Sort-Object -Property DeviceName)
|
||||
Write-Host "///////////////////////////////////////////////////////////////////"
|
||||
Write-Host "// Checking for duplicates in $simRuntume "
|
||||
$devicesAsHashTable = $sameRuntimeDevices | Group-Object -Property DeviceName -AsHashTable -AsString
|
||||
foreach ($key in $devicesAsHashTable.Keys) {
|
||||
if ( $devicesAsHashTable[$key].count -gt 1) {
|
||||
Write-Host "// Duplicates for $key - $($devicesAsHashTable[$key].count)"
|
||||
}
|
||||
}
|
||||
Write-Host "///////////////////////////////////////////////////////////////////"
|
||||
for ($i = 0; $i -lt $sameRuntimeDevices.Count; $i++) {
|
||||
if ( [string]::IsNullOrEmpty($($sameRuntimeDevices[$i+1].DeviceName)) ){
|
||||
Write-Host "No more devices to compare in $simRuntume"
|
||||
Write-Host "-------------------------------------------------------------------"
|
||||
continue
|
||||
}
|
||||
Write-Host "$($sameRuntimeDevices[$i].DeviceName) - DeviceId $($sameRuntimeDevices[$i].DeviceId) comparing with"
|
||||
Write-Host "$($sameRuntimeDevices[$i+1].DeviceName) - DeviceId $($sameRuntimeDevices[$i+1].DeviceId)"
|
||||
Write-Host "-------------------------------------------------------------------"
|
||||
if ($sameRuntimeDevices[$i].DeviceName -eq $sameRuntimeDevices[$i+1].DeviceName) {
|
||||
write-host "*******************************************************************"
|
||||
write-host "** Duplicate found"
|
||||
if ($sameRuntimeDevices[$i].DeviceCreationTime -lt $sameRuntimeDevices[$i+1].DeviceCreationTime) {
|
||||
Write-Host "** will be removed $($sameRuntimeDevices[$i+1].DeviceName) with id $($sameRuntimeDevices[$i+1].DeviceId)"
|
||||
xcrun simctl delete $sameRuntimeDevices[$i+1].DeviceId
|
||||
$sameRuntimeDevices.RemoveAt($i+1)
|
||||
} else {
|
||||
Write-Host "** will be removed $($sameRuntimeDevices[$i].DeviceName) with id $($sameRuntimeDevices[$i].DeviceId)"
|
||||
xcrun simctl delete $sameRuntimeDevices[$i].DeviceId
|
||||
$sameRuntimeDevices.RemoveAt($i)
|
||||
}
|
||||
write-host "*******************************************************************"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
echo "Enabling automatic GUI login for the '$USERNAME' user.."
|
||||
python3 $HOME/bootstrap/kcpassword.py "$PASSWORD"
|
||||
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "$USERNAME"
|
||||
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUserScreenLocked -bool false
|
||||
|
||||
: '
|
||||
The MIT License (MIT)
|
||||
|
||||
@@ -17,7 +17,14 @@ sudo rm -f /var/vm/sleepimage
|
||||
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
|
||||
|
||||
# Disable Keyboard Setup Assistant window
|
||||
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
|
||||
if is_Veertu; then
|
||||
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
|
||||
fi
|
||||
|
||||
# Change screen resolution to the maximum supported for 4Mb video memory
|
||||
if [[ -d "/Library/Application Support/VMware Tools" ]]; then
|
||||
sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885
|
||||
fi
|
||||
|
||||
# Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript
|
||||
# by creating a special Accessibility DB file (SIP must be disabled) and
|
||||
@@ -32,6 +39,7 @@ defaults write com.apple.VoiceOver4/default SCREnableAppleScript -bool YES
|
||||
# Rotate the certificate before expiration to ensure your apps are installed and signed with an active certificate.
|
||||
# Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030.
|
||||
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
|
||||
# Big Sur requires user interaction to add a cert https://developer.apple.com/forums/thread/671582, we need to use a workaround with SecItemAdd swift method
|
||||
|
||||
swiftc -suppress-warnings "${HOME}/image-generation/add-certificate.swift"
|
||||
|
||||
@@ -50,18 +58,21 @@ done
|
||||
rm -f ./add-certificate
|
||||
|
||||
# enable-automationmode-without-authentication
|
||||
brew install expect
|
||||
if ! is_BigSur; then
|
||||
retry=10
|
||||
while [[ $retry -gt 0 ]]; do
|
||||
{
|
||||
/usr/bin/expect <<EOF
|
||||
spawn automationmodetool enable-automationmode-without-authentication
|
||||
expect "password"
|
||||
send "${PASSWORD}\r"
|
||||
expect {
|
||||
"succeeded." { puts "Automation mode enabled successfully"; exit 0 }
|
||||
eof
|
||||
}
|
||||
osascript <<EOF
|
||||
tell application "Terminal"
|
||||
activate
|
||||
do script "automationmodetool enable-automationmode-without-authentication"
|
||||
delay 2
|
||||
tell application "System Events"
|
||||
keystroke "${PASSWORD}"
|
||||
keystroke return
|
||||
end tell
|
||||
end tell
|
||||
delay 5
|
||||
EOF
|
||||
} && break
|
||||
|
||||
@@ -73,21 +84,16 @@ EOF
|
||||
sleep 10
|
||||
done
|
||||
|
||||
echo "Getting terminal windows"
|
||||
launchctl_output=$(launchctl list | grep -i terminal || true)
|
||||
|
||||
if [ -n "$launchctl_output" ]; then
|
||||
term_service=$(echo "$launchctl_output" | cut -f3)
|
||||
echo "Getting terminal windows"
|
||||
term_service=$(launchctl list | grep -i terminal | cut -f3)
|
||||
echo "Close terminal windows: gui/501/${term_service}"
|
||||
launchctl bootout gui/501/${term_service} && sleep 5
|
||||
else
|
||||
echo "No open terminal windows found."
|
||||
fi
|
||||
|
||||
# test enable-automationmode-without-authentication
|
||||
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
||||
echo "Failed to enable enable-automationmode-without-authentication option"
|
||||
exit 1
|
||||
# test enable-automationmode-without-authentication
|
||||
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
||||
echo "Failed to enable enable-automationmode-without-authentication option"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create symlink for tests running
|
||||
|
||||
@@ -19,9 +19,15 @@ if [[ $arch == "arm64" ]]; then
|
||||
else
|
||||
image_label="macos-${label_version}"
|
||||
fi
|
||||
release_label="macOS-${label_version}"
|
||||
|
||||
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
||||
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
|
||||
if is_Ventura || is_Sonoma; then
|
||||
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
||||
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
|
||||
else
|
||||
software_url="https://github.com/actions/runner-images/blob/${release_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
||||
releaseUrl="https://github.com/actions/runner-images/releases/tag/${release_label}%2F${image_version}"
|
||||
fi
|
||||
|
||||
cat <<EOF > $imagedata_file
|
||||
[
|
||||
|
||||
@@ -14,6 +14,5 @@ sudo chsh -s /bin/bash root
|
||||
# Check MacOS architecture and add HOMEBREW PATH to bashrc
|
||||
if [[ $arch == "arm64" ]]; then
|
||||
echo "Adding Homebrew environment to bash"
|
||||
# Discussed here: https://github.com/Homebrew/brew/pull/18366
|
||||
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bashrc
|
||||
/opt/homebrew/bin/brew shellenv >> ~/.bashrc
|
||||
fi
|
||||
|
||||
@@ -11,20 +11,18 @@ close_finder_window
|
||||
|
||||
# Remove Parallels Desktop
|
||||
# https://github.com/actions/runner-images/issues/6105
|
||||
# https://github.com/actions/runner-images/issues/10143
|
||||
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||
if is_Monterey; then
|
||||
brew uninstall parallels
|
||||
fi
|
||||
|
||||
# Put documentation to $HOME root
|
||||
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
|
||||
|
||||
# Put build vm assets (xamarin-selector) scripts to proper directory
|
||||
if is_Monterey || is_Sonoma || is_Ventura; then
|
||||
mkdir -p /usr/local/opt/$USER/scripts
|
||||
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
|
||||
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
|
||||
fi
|
||||
# Put build vm assets scripts to proper directory
|
||||
mkdir -p /usr/local/opt/$USER/scripts
|
||||
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
|
||||
|
||||
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
|
||||
|
||||
# Remove fastlane cached cookie
|
||||
rm -rf ~/.fastlane
|
||||
@@ -47,9 +45,3 @@ echo "Indexing completed"
|
||||
|
||||
# delete symlink for tests running
|
||||
sudo rm -f /usr/local/bin/invoke_tests
|
||||
|
||||
# Clean Homebrew downloads
|
||||
sudo rm -rf /Users/$USER/Library/Caches/Homebrew/downloads/*
|
||||
|
||||
# Uninstall expect used in configure-machine.sh
|
||||
brew uninstall expect
|
||||
|
||||
@@ -32,7 +32,7 @@ systemValuesArray=(
|
||||
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
|
||||
)
|
||||
for values in "${systemValuesArray[@]}"; do
|
||||
if is_Sonoma || is_Sequoia; then
|
||||
if is_Sonoma; then
|
||||
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
||||
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
||||
else
|
||||
@@ -66,7 +66,7 @@ userValuesArray=(
|
||||
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
|
||||
)
|
||||
for values in "${userValuesArray[@]}"; do
|
||||
if is_Sonoma || is_Sequoia; then
|
||||
if is_Sonoma; then
|
||||
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
||||
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
||||
else
|
||||
|
||||
@@ -22,17 +22,17 @@ while [[ $retry -gt 0 ]]; do
|
||||
fi
|
||||
sleep 30
|
||||
done
|
||||
IFS=',' read -r -a windowslist <<< "$openwindows"
|
||||
IFS=',' read -r -a windowslist <<< $openwindows
|
||||
|
||||
if [[ -n ${openwindows} ]]; then
|
||||
echo "Found opened window:"
|
||||
fi
|
||||
|
||||
for key in ${!windowslist[@]}; do
|
||||
if [[ ${windowslist[$key]} =~ "NotificationCenter" ]]; then
|
||||
echo "[Warning] ${windowslist[$key]}"
|
||||
for window in ${windowslist[@]}; do
|
||||
if [[ $window =~ "NotificationCenter" ]]; then
|
||||
echo "[Warning] $window"
|
||||
else
|
||||
echo " - ${windowslist[$key]}" | xargs
|
||||
echo " - ${window}" | xargs
|
||||
scripterror=true
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -12,7 +12,7 @@ if [[ ! -d $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE ]]; then
|
||||
mkdir -p $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
||||
fi
|
||||
|
||||
download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest" "$API_PAT")
|
||||
download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest")
|
||||
echo "Downloading action-versions $download_url"
|
||||
archive_path=$(download_with_retry $download_url)
|
||||
tar -xzf $archive_path -C $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
source ~/utils/utils.sh
|
||||
|
||||
add_filtered_installation_components() {
|
||||
add_filtered_instalaltion_components() {
|
||||
local minimum_version=$1
|
||||
shift
|
||||
local tools_array=("$@")
|
||||
|
||||
for item in ${tools_array[@]}; do
|
||||
# take the last argument after splitting string by ';'' and '-''
|
||||
# take the last argument after spliting string by ';'' and '-''
|
||||
version=$(echo "${item##*[-;]}")
|
||||
if [[ "$(printf "${minimum_version}\n${version}\n" | sort -V | head -n1)" == "$minimum_version" ]]; then
|
||||
components+=($item)
|
||||
@@ -96,11 +96,11 @@ echo "export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME" >> "${HOME}/.bashrc"
|
||||
echo "export ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" >> "${HOME}/.bashrc"
|
||||
|
||||
availablePlatforms=($($SDKMANAGER --list | grep "platforms;android-[0-9]" | cut -d"|" -f 1 | sort -u))
|
||||
add_filtered_installation_components $android_platform "${availablePlatforms[@]}"
|
||||
add_filtered_instalaltion_components $android_platform "${availablePlatforms[@]}"
|
||||
|
||||
allBuildTools=($($SDKMANAGER --list --include_obsolete | grep "build-tools;" | cut -d"|" -f 1 | sort -u))
|
||||
availableBuildTools=$(echo ${allBuildTools[@]//*rc[0-9]/})
|
||||
add_filtered_installation_components $android_build_tool "${availableBuildTools[@]}"
|
||||
add_filtered_instalaltion_components $android_build_tool "${availableBuildTools[@]}"
|
||||
|
||||
echo "y" | $SDKMANAGER ${components[@]}
|
||||
|
||||
|
||||
@@ -12,4 +12,14 @@ brew_smart_install "switchaudio-osx"
|
||||
echo "install sox"
|
||||
brew_smart_install "sox"
|
||||
|
||||
# Big Sur doesn't support soundflower installation without user interaction https://github.com/mattingalls/Soundflower/releases/tag/2.0b2
|
||||
# Install blackhole-2ch for Big Sur instead
|
||||
|
||||
echo "install blackhole-2ch"
|
||||
brew_smart_install "blackhole-2ch"
|
||||
|
||||
echo "set BlackHole 2ch as input/output device"
|
||||
SwitchAudioSource -s "BlackHole 2ch" -t input
|
||||
SwitchAudioSource -s "BlackHole 2ch" -t output
|
||||
|
||||
invoke_tests "System" "Audio Device"
|
||||
|
||||
@@ -19,13 +19,13 @@ echo "Google Chrome version is $full_chrome_version"
|
||||
# Get Google Chrome versions information
|
||||
chrome_platform="mac-$arch"
|
||||
CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
|
||||
chrome_versions_json=$(download_with_retry "$CHROME_VERSIONS_URL")
|
||||
chrome_versions_json="$(cat $(download_with_retry "$CHROME_VERSIONS_URL"))"
|
||||
|
||||
# Download and unpack the latest release of Chrome Driver
|
||||
chromedriver_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||
chromedriver_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||
echo "Installing Chrome Driver version $chromedriver_version"
|
||||
|
||||
chromedriver_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||
chromedriver_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||
chromedriver_dir="/usr/local/share/chromedriver-$chrome_platform"
|
||||
chromedriver_bin="$chromedriver_dir/chromedriver"
|
||||
|
||||
@@ -36,10 +36,10 @@ ln -s $chromedriver_bin /usr/local/bin/chromedriver
|
||||
echo "export CHROMEWEBDRIVER=$chromedriver_dir" >> ${HOME}/.bashrc
|
||||
|
||||
# Download and unpack the latest release of Google Chrome for Testing
|
||||
chrome_for_testing_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||
chrome_for_testing_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||
echo "Installing Google Chrome for Testing version $chrome_for_testing_version"
|
||||
|
||||
chrome_for_testing_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||
chrome_for_testing_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||
chrome_for_testing_app="Google Chrome for Testing.app"
|
||||
|
||||
chrome_for_testing_archive_path=$(download_with_retry $chrome_for_testing_url)
|
||||
|
||||
@@ -6,31 +6,19 @@
|
||||
|
||||
source ~/utils/utils.sh
|
||||
|
||||
# Download and install YQ in cases when it is not available in the formulae as for macOS 11: https://formulae.brew.sh/formula/yq
|
||||
if is_BigSur; then
|
||||
binary_path=$(download_with_retry "https://github.com/mikefarah/yq/releases/latest/download/yq_darwin_amd64")
|
||||
sudo install "$binary_path" /usr/local/bin/yq
|
||||
fi
|
||||
|
||||
# Monterey needs future review:
|
||||
# aliyun-cli, gnupg, helm have issues with building from the source code.
|
||||
# Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code.
|
||||
common_packages=$(get_toolset_value '.brew.common_packages[]')
|
||||
for package in $common_packages; do
|
||||
echo "Installing $package..."
|
||||
if is_Monterey && [[ $package == "xcbeautify" ]]; then
|
||||
# Pin the version on Monterey as 2.0.x requires Xcode >=15.0 which is not available on OS12
|
||||
xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
|
||||
brew install "$xcbeautify_path"
|
||||
else
|
||||
if [[ $package == "packer" ]]; then
|
||||
# Packer has been deprecated in Homebrew. Use tap to install Packer.
|
||||
brew install hashicorp/tap/packer
|
||||
else
|
||||
if (is_VenturaX64 || is_SonomaX64) && [[ $package == "tcl-tk@8" ]]; then
|
||||
brew_smart_install "$package"
|
||||
# Fix for https://github.com/actions/runner-images/issues/11074
|
||||
ln -sf $(brew --prefix tcl-tk@8)/lib/libtcl8.6.dylib /usr/local/lib/libtcl8.6.dylib
|
||||
ln -sf $(brew --prefix tcl-tk@8)/lib/libtk8.6.dylib /usr/local/lib/libtk8.6.dylib
|
||||
else
|
||||
brew_smart_install "$package"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
brew_smart_install "$package"
|
||||
done
|
||||
|
||||
cask_packages=$(get_toolset_value '.brew.cask_packages[]')
|
||||
@@ -42,62 +30,45 @@ for package in $cask_packages; do
|
||||
virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
|
||||
brew install $virtualbox_cask_path
|
||||
else
|
||||
if is_Arm64 && [[ $package == "parallels" ]]; then
|
||||
echo "Parallels installation is skipped for arm64 architecture"
|
||||
else
|
||||
brew install --cask $package
|
||||
fi
|
||||
brew install --cask $package
|
||||
fi
|
||||
done
|
||||
|
||||
# Load "Parallels International GmbH"
|
||||
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||
if is_Monterey; then
|
||||
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
|
||||
fi
|
||||
|
||||
# Execute AppleScript to change security preferences for macOS12, macOS13 and macOS14
|
||||
# Execute AppleScript to change security preferences
|
||||
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
|
||||
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||
for retry in {4..0}; do
|
||||
echo "Executing AppleScript to change security preferences. Retries left: $retry"
|
||||
{
|
||||
set -e
|
||||
osascript -e 'tell application "System Events" to get application processes where visible is true'
|
||||
if is_Monterey; then
|
||||
if is_Monterey; then
|
||||
if is_Veertu; then
|
||||
for retry in {4..0}; do
|
||||
echo "Executing AppleScript to change security preferences. Retries left: $retry"
|
||||
{
|
||||
set -e
|
||||
osascript -e 'tell application "System Events" to get application processes where visible is true'
|
||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
||||
fi
|
||||
|
||||
if is_VenturaX64; then
|
||||
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
|
||||
fi
|
||||
|
||||
if is_SonomaX64; then
|
||||
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
|
||||
fi
|
||||
} && break
|
||||
} && break
|
||||
|
||||
if [[ $retry -eq 0 ]]; then
|
||||
echo "Executing AppleScript failed. No retries left"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $retry -eq 0 ]]; then
|
||||
echo "Executing AppleScript failed. No retries left"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
|
||||
sleep 10
|
||||
done
|
||||
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
|
||||
sleep 10
|
||||
done
|
||||
else
|
||||
echo "Executing AppleScript to change security preferences"
|
||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
||||
fi
|
||||
fi
|
||||
|
||||
# Validate "Parallels International GmbH" kext
|
||||
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||
|
||||
if is_Monterey; then
|
||||
echo "Closing System Preferences window if it is still opened"
|
||||
killall "System Preferences" || true
|
||||
fi
|
||||
|
||||
if is_SonomaX64 || is_VenturaX64; then
|
||||
echo "Closing System Settings window if it is still opened"
|
||||
killall "System Settings" || true
|
||||
fi
|
||||
if is_Monterey; then
|
||||
echo "Closing System Preferences window if it is still opened"
|
||||
killall "System Preferences" || true
|
||||
|
||||
echo "Checking parallels kexts"
|
||||
dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/bash -e -o pipefail
|
||||
################################################################################
|
||||
## File: install-compilable-brew-packages.sh
|
||||
## Desc: Install compilable brew packages
|
||||
################################################################################
|
||||
|
||||
source ~/utils/utils.sh
|
||||
|
||||
compilable_packages=$(get_toolset_value '.brew.compilable_packages[]')
|
||||
for package in $compilable_packages; do
|
||||
echo "Installing $package..."
|
||||
brew_smart_install "$package"
|
||||
done
|
||||
|
||||
invoke_tests "Common" "Compiled"
|
||||
@@ -16,7 +16,7 @@ echo Installing yarn...
|
||||
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
|
||||
bash $yarn_installer_path
|
||||
|
||||
if is_Monterey; then
|
||||
if is_BigSur || is_Monterey; then
|
||||
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
|
||||
for module in ${npm_global_packages[@]}; do
|
||||
echo "Install $module"
|
||||
|
||||
@@ -7,16 +7,7 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
|
||||
|
||||
nvm_version=$(get_toolset_value '.node.nvm_installer')
|
||||
if [[ -z $nvm_version || "$nvm_version" == "latest" ]]; then
|
||||
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
||||
fi
|
||||
|
||||
if [[ $nvm_version != "v*" ]]; then
|
||||
nvm_version="v${nvm_version}"
|
||||
fi
|
||||
|
||||
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
||||
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
|
||||
|
||||
if bash $nvm_installer_path; then
|
||||
|
||||
@@ -7,13 +7,7 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo "Install [email protected]"
|
||||
|
||||
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
|
||||
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/o/[email protected]"
|
||||
FORMULA_PATH="$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/o/[email protected]"
|
||||
mkdir -p "$(dirname $FORMULA_PATH)"
|
||||
curl -fsSL $FORMULA_URL -o $FORMULA_PATH
|
||||
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
|
||||
brew_smart_install "[email protected]"
|
||||
|
||||
if ! is_Arm64; then
|
||||
# Symlink brew [email protected] to `/usr/local/bin` as Homebrew refuses
|
||||
@@ -24,7 +18,7 @@ else
|
||||
fi
|
||||
|
||||
if ! is_Arm64; then
|
||||
# Most of build systems and scripts look up ssl here
|
||||
# Most of buildsystems and scripts look up ssl here
|
||||
ln -sf $(brew --cellar [email protected])/1.1* /usr/local/opt/openssl
|
||||
fi
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ source ~/utils/utils.sh
|
||||
|
||||
echo "Installing Python Tooling"
|
||||
|
||||
if is_Monterey; then
|
||||
if is_Monterey || is_BigSur; then
|
||||
echo "Install latest Python 2"
|
||||
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
|
||||
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
|
||||
@@ -33,20 +33,16 @@ EOF
|
||||
fi
|
||||
|
||||
# Close Finder window
|
||||
close_finder_window
|
||||
if is_Veertu; then
|
||||
close_finder_window
|
||||
fi
|
||||
|
||||
echo "Brew Installing Python 3"
|
||||
brew_smart_install "[email protected]2"
|
||||
brew_smart_install "[email protected]1"
|
||||
|
||||
echo "Installing pipx"
|
||||
|
||||
if is_Arm64; then
|
||||
export PIPX_BIN_DIR="$HOME/.local/bin"
|
||||
export PIPX_HOME="$HOME/.local/pipx"
|
||||
else
|
||||
export PIPX_BIN_DIR=/usr/local/opt/pipx_bin
|
||||
export PIPX_HOME=/usr/local/opt/pipx
|
||||
fi
|
||||
export PIPX_BIN_DIR=/usr/local/opt/pipx_bin
|
||||
export PIPX_HOME=/usr/local/opt/pipx
|
||||
|
||||
brew_smart_install "pipx"
|
||||
|
||||
|
||||
@@ -12,10 +12,8 @@ echo "Installing Ruby..."
|
||||
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
|
||||
if [[ $arch == "arm64" ]]; then
|
||||
export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
||||
ruby_suffix="macos-13-arm64"
|
||||
else
|
||||
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
||||
ruby_suffix="macos-latest"
|
||||
fi
|
||||
|
||||
GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}')
|
||||
@@ -26,36 +24,37 @@ else
|
||||
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc
|
||||
fi
|
||||
|
||||
echo "Install Ruby from toolset..."
|
||||
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
||||
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
||||
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
|
||||
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
|
||||
if ! is_Arm64; then
|
||||
echo "Install Ruby from toolset..."
|
||||
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
||||
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
||||
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
|
||||
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
|
||||
|
||||
echo "Check if Ruby hostedtoolcache folder exists..."
|
||||
if [[ ! -d $RUBY_PATH ]]; then
|
||||
mkdir -p $RUBY_PATH
|
||||
fi
|
||||
echo "ruby path - $RUBY_PATH"
|
||||
|
||||
for toolset_version in ${TOOLSET_VERSIONS[@]}; do
|
||||
package_tar_name=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${toolset_version}-${ruby_suffix}.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
|
||||
ruby_version=$(echo "$package_tar_name" | cut -d'-' -f 2)
|
||||
ruby_version_path="$RUBY_PATH/$ruby_version"
|
||||
|
||||
echo "Create Ruby $ruby_version directory..."
|
||||
mkdir -p $ruby_version_path
|
||||
|
||||
echo "Downloading tar archive $package_tar_name"
|
||||
archive_path=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${package_tar_name}")
|
||||
|
||||
echo "Expand $package_tar_name to the $ruby_version_path folder"
|
||||
tar xf $archive_path -C $ruby_version_path
|
||||
complete_file_path=$ruby_version_path/$arch.complete
|
||||
if [[ ! -f $complete_file_path ]]; then
|
||||
echo "Create complete file"
|
||||
touch $complete_file_path
|
||||
echo "Check if Ruby hostedtoolcache folder exists..."
|
||||
if [[ ! -d $RUBY_PATH ]]; then
|
||||
mkdir -p $RUBY_PATH
|
||||
fi
|
||||
done
|
||||
echo "ruby path - $RUBY_PATH "
|
||||
for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do
|
||||
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
|
||||
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2)
|
||||
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION"
|
||||
|
||||
invoke_tests "Ruby"
|
||||
echo "Create Ruby $RUBY_VERSION directory..."
|
||||
mkdir -p $RUBY_VERSION_PATH
|
||||
|
||||
echo "Downloading tar archive $PACKAGE_TAR_NAME"
|
||||
ARCHIVE_PATH=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}")
|
||||
|
||||
echo "Expand $PACKAGE_TAR_NAME to the $RUBY_VERSION_PATH folder"
|
||||
tar xf $ARCHIVE_PATH -C $RUBY_VERSION_PATH
|
||||
COMPLETE_FILE_PATH=$RUBY_VERSION_PATH/x64.complete
|
||||
if [[ ! -f $COMPLETE_FILE_PATH ]]; then
|
||||
echo "Create complete file"
|
||||
touch $COMPLETE_FILE_PATH
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
invoke_tests "Ruby.$arch"
|
||||
|
||||
@@ -18,8 +18,8 @@ CARGO_HOME=$HOME/.cargo
|
||||
echo "Install common tools..."
|
||||
rustup component add rustfmt clippy
|
||||
|
||||
if is_Monterey; then
|
||||
cargo install bindgen-cli cbindgen cargo-audit cargo-outdated
|
||||
if is_BigSur || is_Monterey; then
|
||||
cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
|
||||
fi
|
||||
|
||||
echo "Cleanup Cargo registry cached data..."
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo "Installing Swiftlint..."
|
||||
if is_Monterey; then
|
||||
# SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1
|
||||
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
|
||||
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb"
|
||||
if is_BigSur; then
|
||||
# SwiftLint now requires Swift 5.6 or higher to build, and macOS 12 or higher to run https://github.com/realm/SwiftLint/releases/tag/0.49.0
|
||||
COMMIT=d1d5743344227fe6e3c37cfba19f0cfe15a9448a
|
||||
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/swiftlint.rb"
|
||||
|
||||
curl -fsSL $FORMULA_URL > $(find $(brew --repository) -name swiftlint.rb)
|
||||
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install swiftlint
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/bash -e -o pipefail
|
||||
################################################################################
|
||||
## File: install-unxip.sh
|
||||
## Desc: Install unxip
|
||||
################################################################################
|
||||
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo "Installing unxip..."
|
||||
unxip_pkg=$(download_with_retry "https://github.com/saagarjha/unxip/releases/download/v3.1/unxip")
|
||||
unxip_pkg_sha256="926ecd7bffa201c7b2b8a729fc70fbf228cf624a0e6856c13f935a97fa4fc71a"
|
||||
use_checksum_comparison $unxip_pkg $unxip_pkg_sha256
|
||||
install "$unxip_pkg" /usr/local/bin/unxip
|
||||
|
||||
invoke_tests "Common" "Unxip"
|
||||
@@ -43,7 +43,7 @@ while ! is_clt_installed; do
|
||||
echo "Unable to find the Command Line Tools, all the attempts exhausted"
|
||||
exit 1
|
||||
fi
|
||||
echo "Command Line Tools not found, trying to install them via software updates, $retries attempts left"
|
||||
echo "Command Line Tools not found, trying to install them via softwareupdates, $retries attempts left"
|
||||
install_clt
|
||||
((retries--))
|
||||
echo "Wait $sleepInterval seconds before the next check for installed Command Line Tools"
|
||||
|
||||
@@ -38,37 +38,35 @@ $languageAndRuntime.AddToolVersion("Bash", $(Get-BashVersion))
|
||||
$languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
|
||||
$languageAndRuntime.AddNodes($(Get-GccVersions))
|
||||
$languageAndRuntime.AddNodes($(Get-FortranVersions))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
||||
}
|
||||
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
|
||||
}
|
||||
if ((-not $os.IsSequoia)) {
|
||||
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
||||
}
|
||||
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
||||
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
|
||||
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
|
||||
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
||||
}
|
||||
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
||||
}
|
||||
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
|
||||
}
|
||||
|
||||
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
||||
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
||||
}
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
||||
}
|
||||
|
||||
$languageAndRuntime.AddToolVersion("Ruby", $(Get-RubyVersion))
|
||||
|
||||
# Package Management
|
||||
@@ -76,31 +74,31 @@ $packageManagement = $installedSoftware.AddHeader("Package Management")
|
||||
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
||||
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
||||
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
||||
}
|
||||
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
|
||||
}
|
||||
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
|
||||
if ((-not $os.IsSequoia)) {
|
||||
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
||||
}
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
|
||||
}
|
||||
|
||||
$packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
|
||||
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
|
||||
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
||||
}
|
||||
|
||||
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
|
||||
}
|
||||
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
|
||||
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
|
||||
}
|
||||
# Project Management
|
||||
@@ -108,7 +106,7 @@ $projectManagement = $installedSoftware.AddHeader("Project Management")
|
||||
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
|
||||
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
|
||||
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
||||
}
|
||||
|
||||
@@ -127,18 +125,24 @@ $utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion))
|
||||
$utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion))
|
||||
$utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion))
|
||||
$utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ($os.IsBigSur) {
|
||||
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
|
||||
}
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
||||
}
|
||||
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
|
||||
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
|
||||
}
|
||||
if ($os.IsBigSur) {
|
||||
$utilities.AddToolVersion("Newman", $(Get-NewmanVersion))
|
||||
}
|
||||
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
|
||||
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
|
||||
$utilities.AddToolVersion("pkgconf", $(Get-PKGConfVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
$utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
|
||||
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
|
||||
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
|
||||
@@ -149,13 +153,15 @@ if ($os.IsMonterey) {
|
||||
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
|
||||
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
|
||||
}
|
||||
$utilities.AddToolVersion("Unxip", $(Get-UnxipVersion))
|
||||
$utilities.AddToolVersion("yq", $(Get-YqVersion))
|
||||
$utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
|
||||
|
||||
# Tools
|
||||
$tools = $installedSoftware.AddHeader("Tools")
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ($os.IsBigSur) {
|
||||
$tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion))
|
||||
}
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
|
||||
}
|
||||
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
|
||||
@@ -164,7 +170,7 @@ $tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersi
|
||||
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
||||
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
||||
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
|
||||
@@ -173,26 +179,30 @@ if ($os.IsMonterey) {
|
||||
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
|
||||
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
|
||||
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
|
||||
$tools.AddToolVersion("Stack", $(Get-StackVersion))
|
||||
}
|
||||
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
||||
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
||||
}
|
||||
|
||||
# Linters
|
||||
$linters = $installedSoftware.AddHeader("Linters")
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
|
||||
}
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
|
||||
}
|
||||
|
||||
@@ -206,6 +216,7 @@ $java = $installedSoftware.AddHeader("Java")
|
||||
$java.AddTable($(Get-JavaVersions))
|
||||
|
||||
# Toolcache
|
||||
|
||||
$toolcache = $installedSoftware.AddHeader("Cached Tools")
|
||||
$toolcache.AddNodes($(Build-ToolcacheSection))
|
||||
|
||||
@@ -217,7 +228,7 @@ $rust.AddToolVersion("Rustdoc", $(Get-RustdocVersion))
|
||||
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
|
||||
|
||||
$rustPackages = $rust.AddHeader("Packages")
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
|
||||
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
|
||||
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
|
||||
@@ -234,13 +245,13 @@ $powerShellModules = $powerShell.AddHeader("PowerShell Modules")
|
||||
$powerShellModules.AddNodes($(Get-PowerShellModules))
|
||||
|
||||
# Web Servers
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$webServers = $installedSoftware.AddHeader("Web Servers")
|
||||
$webServers.AddTable($(Build-WebServersSection))
|
||||
}
|
||||
|
||||
# Xamarin section
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$xamarin = $installedSoftware.AddHeader("Xamarin")
|
||||
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
|
||||
$vsForMac.AddTable($(Build-VSMacTable))
|
||||
@@ -267,7 +278,7 @@ Get-XcodeInfoList | Out-Null
|
||||
|
||||
$xcodeInfo = Get-XcodeInfoList
|
||||
$xcode.AddTable($(Build-XcodeTable $xcodeInfo))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$xcodeTools = $xcode.AddHeader("Xcode Support Tools")
|
||||
$xcodeTools.AddNodes($(Build-XcodeSupportToolsSection))
|
||||
}
|
||||
@@ -286,7 +297,7 @@ $android.AddTable($androidTable)
|
||||
$androidEnv = $android.AddHeader("Environment variables")
|
||||
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
|
||||
|
||||
if ($os.IsMonterey) {
|
||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
||||
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
||||
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
|
||||
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
|
||||
@@ -294,15 +305,7 @@ if ($os.IsMonterey) {
|
||||
$miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion))
|
||||
}
|
||||
|
||||
if ($os.IsSonoma -or $os.IsVentura) {
|
||||
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
||||
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
|
||||
}
|
||||
|
||||
if ($os.IsMonterey -or $os.IsSonomaX64 -or $os.IsVenturaX64) {
|
||||
|
||||
Write-Host "Adding environment variables for parallels"
|
||||
|
||||
if ($os.IsMonterey) {
|
||||
$miscellaneousEnv = $miscellaneous.AddHeader("Environment variables")
|
||||
$miscellaneousEnv.AddTable($(Build-MiscellaneousEnvironmentTable))
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ function Build-BrowserSection {
|
||||
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
||||
)
|
||||
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$nodes += @(
|
||||
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
||||
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
||||
@@ -79,7 +79,7 @@ function Get-GeckodriverVersion {
|
||||
|
||||
function Get-SeleniumVersion {
|
||||
$os = Get-OSVersion
|
||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
$cellarPath = "/opt/homebrew/Cellar"
|
||||
} else {
|
||||
$cellarPath = "/usr/local/Cellar"
|
||||
|
||||
@@ -260,7 +260,7 @@ function Get-RubyGemsVersion {
|
||||
}
|
||||
|
||||
function Get-ComposerVersion {
|
||||
$composerVersion = Run-Command "composer --version" | Select-Object -First 1 | Take-Part -Part 2
|
||||
$composerVersion = Run-Command "composer --version" | Take-Part -Part 2
|
||||
return $composerVersion
|
||||
}
|
||||
|
||||
@@ -367,6 +367,11 @@ function Get-BazeliskVersion {
|
||||
return ($bazeliskVersion -replace "^bazelisk").Trim()
|
||||
}
|
||||
|
||||
function Get-HelmVersion {
|
||||
$helmVersion = Run-Command "helm version --short"
|
||||
return $helmVersion
|
||||
}
|
||||
|
||||
function Get-MongoVersion {
|
||||
$mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
|
||||
return $mongo.TrimStart("v").Trim()
|
||||
@@ -392,6 +397,11 @@ function Get-BsdtarVersion {
|
||||
return "$bsdtar - available by 'tar' alias"
|
||||
}
|
||||
|
||||
function Get-NewmanVersion {
|
||||
$newmanVersion = Run-Command "newman --version"
|
||||
return $newmanVersion
|
||||
}
|
||||
|
||||
function Get-VirtualBoxVersion {
|
||||
$virtualBox = Run-Command "vboxmanage -v"
|
||||
return $virtualBox
|
||||
@@ -447,6 +457,11 @@ function Get-AWSSessionManagerCLIVersion {
|
||||
return $awsSessionManagerVersion
|
||||
}
|
||||
|
||||
function Get-AliyunCLIVersion {
|
||||
$aliyunVersion = Run-Command "aliyun --version" | Select-String "Alibaba Cloud Command Line Interface Version " | Take-Part -Part 6
|
||||
return $aliyunVersion
|
||||
}
|
||||
|
||||
function Get-GHCupVersion {
|
||||
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
|
||||
return $ghcUpVersion
|
||||
@@ -538,7 +553,7 @@ function Get-LibXextVersion {
|
||||
}
|
||||
|
||||
function Get-TclTkVersion {
|
||||
$tcltkVersion = (Run-Command "brew info --json tcl-tk@8" | ConvertFrom-Json).installed.version
|
||||
$tcltkVersion = (Run-Command "brew info --json tcl-tk" | ConvertFrom-Json).installed.version
|
||||
return $tcltkVersion
|
||||
}
|
||||
|
||||
@@ -605,9 +620,9 @@ function Get-ColimaVersion {
|
||||
return $colimaVersion
|
||||
}
|
||||
|
||||
function Get-PKGConfVersion {
|
||||
$pkgconfVersion = Run-Command "pkgconf --version"
|
||||
return $pkgconfVersion
|
||||
function Get-PKGConfigVersion {
|
||||
$pkgconfigVersion = Run-Command "pkg-config --version"
|
||||
return $pkgconfigVersion
|
||||
}
|
||||
|
||||
function Get-XcbeautifyVersion {
|
||||
@@ -619,8 +634,3 @@ function Get-XcodesVersion {
|
||||
$XcodesVersion = Run-Command "xcodes version"
|
||||
return $XcodesVersion
|
||||
}
|
||||
|
||||
function Get-UnxipVersion {
|
||||
$unxipVersion = Run-Command "unxip --version" | Take-Part -Part 1
|
||||
return $unxipVersion
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ function Get-JavaVersions {
|
||||
$defaultJavaPath = (Get-Item env:JAVA_HOME).value
|
||||
|
||||
$os = Get-OSVersion
|
||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
$javaVersions = Get-Item env:JAVA_HOME_*_arm64
|
||||
} else {
|
||||
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
||||
|
||||
@@ -37,14 +37,18 @@ function Build-ToolcacheSection {
|
||||
|
||||
$nodes = @()
|
||||
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
||||
$nodes += @(
|
||||
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
|
||||
)
|
||||
}
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$nodes += @(
|
||||
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
|
||||
)
|
||||
}
|
||||
|
||||
$nodes += @(
|
||||
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
|
||||
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
|
||||
[ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"),
|
||||
[ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List")
|
||||
|
||||
@@ -94,26 +94,12 @@ function Build-XcodeTable {
|
||||
|
||||
$xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules
|
||||
return $xcodeList | ForEach-Object {
|
||||
$defaultPostfix = if ($_.IsDefault) { " (default)" } else { "" }
|
||||
$betaPostfix = if ($_.IsStable) { "" } else { " (beta)" }
|
||||
$targetPath = $_.Path
|
||||
$symlinks = @()
|
||||
Get-ChildItem -Path "/Applications" | ForEach-Object {
|
||||
if ($_.LinkType -eq 'SymbolicLink') {
|
||||
$linkTarget = & readlink $_.FullName
|
||||
if ($linkTarget -eq $targetPath) {
|
||||
$symlinks += $_.FullName
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($null -eq $symlinks) {
|
||||
$symlinks = @("N/A")
|
||||
}
|
||||
$defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" }
|
||||
$betaPostfix = If ($_.IsStable) { "" } else { " (beta)" }
|
||||
return [PSCustomObject] @{
|
||||
"Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix
|
||||
"Build" = $_.Build
|
||||
"Path" = $_.Path
|
||||
"Symlinks" = [String]::Join("<br>", $symlinks)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,30 +186,35 @@ function Build-XcodeSimulatorsTable {
|
||||
$runtimes += $_
|
||||
}
|
||||
}
|
||||
|
||||
$runtimes = $runtimes | Sort-Object @{ Expression = { $_.identifier } } -Unique
|
||||
|
||||
return $runtimes | ForEach-Object {
|
||||
$runtime = $_
|
||||
$runtimeDevices = @()
|
||||
$xcodeList = @()
|
||||
|
||||
$xcodeInfo.Values | ForEach-Object {
|
||||
$runtimeFound = $_.SimulatorsInfo.runtimes | Where-Object { $_.identifier -eq $runtime.identifier } | Select-Object -First 1
|
||||
if ($runtimeFound) {
|
||||
$devicesToAdd = Build-XcodeDevicesList -XcodeInfo $_ -Runtime $runtimeFound
|
||||
$runtimeDevices += $devicesToAdd | Select-Object -ExpandProperty name
|
||||
$xcodeList += $_.VersionInfo.Version
|
||||
}
|
||||
}
|
||||
|
||||
$xcodeList = $xcodeList | Sort-Object
|
||||
$runtimeDevices = $runtimeDevices | ForEach-Object { Format-XcodeSimulatorName $_ } | Select-Object -Unique
|
||||
If (($runtimeDevices | Where-Object { -not ([string]::IsNullOrWhitespace($_)) }).Count -eq 0) {
|
||||
$sortedRuntimeDevices = @("N/A")
|
||||
} else {
|
||||
$sortedRuntimeDevices = $runtimeDevices | Sort-Object @{
|
||||
Expression = { $_.Split(" ")[0] };
|
||||
Descending = $true;
|
||||
}, {
|
||||
$_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
|
||||
}
|
||||
$sortedRuntimeDevices = $runtimeDevices | Sort-Object @{
|
||||
Expression = { $_.Split(" ")[0] };
|
||||
Descending = $true;
|
||||
}, {
|
||||
$_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
|
||||
}
|
||||
|
||||
return [PSCustomObject] @{
|
||||
"OS" = $runtime.name
|
||||
"Xcode Version" = [String]::Join("<br>", $xcodeList)
|
||||
"Simulators" = [String]::Join("<br>", $sortedRuntimeDevices)
|
||||
}
|
||||
} | Sort-Object {
|
||||
@@ -245,7 +236,7 @@ function Build-XcodeSupportToolsSection {
|
||||
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
|
||||
|
||||
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
|
||||
if ($os.IsMonterey) {
|
||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
||||
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
|
||||
}
|
||||
|
||||
@@ -254,5 +245,10 @@ function Build-XcodeSupportToolsSection {
|
||||
$nomadShenzhenOutput = Run-Command "ipa -version"
|
||||
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
||||
|
||||
if ($os.IsBigSur) {
|
||||
$toolNodes += [ToolVersionNode]::new("Nomad CLI", $nomadCLI)
|
||||
$toolNodes += [ToolVersionNode]::new("Nomad shenzhen CLI", $nomadShenzhen)
|
||||
}
|
||||
|
||||
return $toolNodes
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ function Get-OSVersion {
|
||||
Version = $osVersion.Version
|
||||
Platform = $osVersion.Platform
|
||||
IsArm64 = $processorArchitecture -eq "arm64"
|
||||
IsBigSur = $osVersion.Version.Major -eq "11"
|
||||
IsMonterey = $osVersion.Version.Major -eq "12"
|
||||
IsVentura = $($osVersion.Version.Major -eq "13")
|
||||
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
|
||||
@@ -36,9 +37,6 @@ function Get-OSVersion {
|
||||
IsSonoma = $($osVersion.Version.Major -eq "14")
|
||||
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
|
||||
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
|
||||
IsSequoia = $($osVersion.Version.Major -eq "15")
|
||||
IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64")
|
||||
IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +104,10 @@ function Invoke-DownloadWithRetry {
|
||||
return $Path
|
||||
}
|
||||
|
||||
function isVeertu {
|
||||
return (Test-Path -Path "/Library/Application Support/Veertu")
|
||||
}
|
||||
|
||||
function Get-Architecture {
|
||||
$arch = arch
|
||||
if ($arch -ne "arm64") {
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
|
||||
# Steps:
|
||||
# - Open System Settings -> Privacy & Security
|
||||
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
|
||||
# - Enter password for runner
|
||||
|
||||
on run argv
|
||||
set userpassword to item 1 of argv
|
||||
|
||||
tell application "System Settings"
|
||||
activate
|
||||
delay 5
|
||||
end tell
|
||||
|
||||
tell application "System Events"
|
||||
tell process "System Settings"
|
||||
set frontmost to true
|
||||
repeat until exists window 1
|
||||
delay 2
|
||||
end repeat
|
||||
|
||||
tell splitter group 1 of group 1 of window 1
|
||||
select row 20 of outline 1 of scroll area 1 of group 1
|
||||
delay 5
|
||||
click UI Element 2 of group 4 of scroll area 1 of group 1 of group 2
|
||||
delay 5
|
||||
keystroke userpassword
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end run
|
||||
@@ -1,34 +0,0 @@
|
||||
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
|
||||
# Steps:
|
||||
# - Open System Settings -> Privacy & Security
|
||||
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
|
||||
# - Enter password for runner
|
||||
|
||||
on run argv
|
||||
set userpassword to item 1 of argv
|
||||
|
||||
tell application "System Settings"
|
||||
activate
|
||||
delay 5
|
||||
end tell
|
||||
|
||||
tell application "System Events"
|
||||
tell process "System Settings"
|
||||
set frontmost to true
|
||||
repeat until exists window 1
|
||||
delay 2
|
||||
end repeat
|
||||
|
||||
tell splitter group 1 of group 1 of window 1
|
||||
select row 18 of outline 1 of scroll area 1 of group 1
|
||||
delay 5
|
||||
click UI Element 2 of group 5 of scroll area 1 of group 1 of group 2
|
||||
delay 5
|
||||
keystroke userpassword
|
||||
delay 5
|
||||
keystroke return
|
||||
delay 5
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end run
|
||||
@@ -45,18 +45,6 @@ is_Arm64() {
|
||||
[ "$(arch)" = "arm64" ]
|
||||
}
|
||||
|
||||
is_Sequoia() {
|
||||
[ "$OSTYPE" = "darwin24" ]
|
||||
}
|
||||
|
||||
is_SequoiaArm64() {
|
||||
is_Sequoia && is_Arm64
|
||||
}
|
||||
|
||||
is_SequoiaX64() {
|
||||
is_Sequoia && ! is_Arm64
|
||||
}
|
||||
|
||||
is_Sonoma() {
|
||||
[ "$OSTYPE" = "darwin23" ]
|
||||
}
|
||||
@@ -85,6 +73,14 @@ is_Monterey() {
|
||||
[ "$OSTYPE" = "darwin21" ]
|
||||
}
|
||||
|
||||
is_BigSur() {
|
||||
[ "$OSTYPE" = "darwin20" ]
|
||||
}
|
||||
|
||||
is_Veertu() {
|
||||
[[ -d "/Library/Application Support/Veertu" ]]
|
||||
}
|
||||
|
||||
get_toolset_value() {
|
||||
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
|
||||
local query=$1
|
||||
|
||||
@@ -57,7 +57,7 @@ Describe "Android" {
|
||||
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
|
||||
}
|
||||
)
|
||||
if ($os.IsMonterey) {
|
||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
||||
$testCases += @(
|
||||
@{
|
||||
PackageName = "SDK tools"
|
||||
|
||||
@@ -26,7 +26,7 @@ Describe "cmake" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Subversion" {
|
||||
"svn --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -62,10 +62,16 @@ Describe "Perl" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Tcl/Tk" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoia) {
|
||||
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "Helm" {
|
||||
"helm version --short" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Tcl/Tk" {
|
||||
It "libtcl" {
|
||||
Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue
|
||||
Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue
|
||||
"file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode
|
||||
"file /usr/local/lib/libtk8.6.dylib" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +93,7 @@ Describe "7-Zip" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Apache Ant" -Skip:($os.IsMonterey) {
|
||||
Describe "Apache Ant" {
|
||||
It "Apache Ant" {
|
||||
"ant -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -111,7 +117,13 @@ Describe "bazel" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "Aliyun CLI" {
|
||||
"aliyun --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Julia" {
|
||||
"julia --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -135,19 +147,19 @@ Describe "wget" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "vagrant" {
|
||||
"vagrant --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "virtualbox" {
|
||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "R" {
|
||||
"R --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -159,28 +171,28 @@ Describe "Homebrew" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Kotlin" -Skip:($os.IsMonterey) {
|
||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js")
|
||||
Describe "Kotlin" {
|
||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
|
||||
|
||||
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
||||
"$toolName -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "sbt" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "sbt" {
|
||||
"sbt -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "yq" {
|
||||
It "yq" {
|
||||
"yq --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "imagemagick" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "imagemagick" {
|
||||
"magick -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "pkgconf" {
|
||||
It "pkgconf" {
|
||||
"pkgconf --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ Describe "Selenium server" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "Microsoft Edge" {
|
||||
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
||||
$edgeLocation | Should -Exist
|
||||
@@ -53,7 +53,7 @@ Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoi
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "Firefox" {
|
||||
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
||||
$firefoxLocation | Should -Exist
|
||||
|
||||
@@ -33,7 +33,7 @@ Describe "GCC" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "vcpkg" {
|
||||
"vcpkg version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Conda" {
|
||||
[System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
|
||||
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
||||
@@ -66,7 +66,7 @@ Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Stack" {
|
||||
"stack --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -78,7 +78,7 @@ Describe "CocoaPods" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
|
||||
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
|
||||
|
||||
@@ -105,7 +105,7 @@ Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Swig" {
|
||||
"swig -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -117,13 +117,13 @@ Describe "Bicep" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Go" {
|
||||
"go version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "Check kext kernel modules" {
|
||||
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
||||
}
|
||||
@@ -141,30 +141,8 @@ Describe "CodeQL Bundle" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Colima" {
|
||||
"colima version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Compiled" -Skip:(-not $os.IsMonterey) {
|
||||
It "Apache Ant" {
|
||||
"ant -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
|
||||
|
||||
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
||||
"$toolName -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "sbt" {
|
||||
"sbt -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Unxip" {
|
||||
It "Unxip" {
|
||||
"unxip --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "<ToolName>" -TestCases @(
|
||||
@{ ToolName = "mongo" }
|
||||
@{ ToolName = "mongod" }
|
||||
@@ -12,7 +12,7 @@ Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "PostgreSQL version should correspond to the version in the toolset" {
|
||||
$toolsetVersion = (Get-ToolsetContent).postgresql.version
|
||||
# Client version
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Git" {
|
||||
It "git is installed" {
|
||||
"git --version" | Should -ReturnZeroExitCode
|
||||
|
||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
Context "GHCup" {
|
||||
It "GHCup" {
|
||||
"ghcup --version" | Should -ReturnZeroExitCode
|
||||
|
||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "SwiftLint" {
|
||||
"swiftlint version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ Describe "Node.js" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
BeforeAll {
|
||||
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
|
||||
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
|
||||
|
||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "PHP" {
|
||||
Context "PHP" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
Context "PHP" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "PHP Path" {
|
||||
Get-ToolPath "php" | Should -Not -BeLike "/usr/bin/php*"
|
||||
}
|
||||
@@ -14,7 +14,7 @@ Describe "PHP" {
|
||||
}
|
||||
}
|
||||
|
||||
Context "Composer" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
Context "Composer" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "Composer" {
|
||||
"composer --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
$pipxToolset = (Get-ToolsetContent).pipx
|
||||
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
||||
It "<package>" -TestCases $testCases {
|
||||
|
||||
@@ -3,19 +3,13 @@ Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Python3" {
|
||||
Describe "Python3" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "Python 3 is available" {
|
||||
"python3 --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||
It "Python 3 is installed under /opt/homebrew/bin/" {
|
||||
Get-ToolPath "python3" | Should -BeLike "/opt/homebrew/bin/*"
|
||||
}
|
||||
} else {
|
||||
It "Python 3 is installed under /usr/local/bin" {
|
||||
Get-ToolPath "python3" | Should -BeLike "/usr/local/bin*"
|
||||
}
|
||||
|
||||
It "Python 3 is installed under /usr/local/bin" {
|
||||
Get-ToolPath "python3" | Should -BeLike "/usr/local/bin*"
|
||||
}
|
||||
|
||||
It "Pip 3 is available" {
|
||||
@@ -34,7 +28,7 @@ Describe "Python3" {
|
||||
|
||||
}
|
||||
|
||||
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Python 2 is available" {
|
||||
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
+7
-6
@@ -1,7 +1,9 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
||||
|
||||
Describe "Ruby" {
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Ruby" -Skip:(-not $os.IsArm64) {
|
||||
It "Ruby is available" {
|
||||
"ruby --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -11,11 +13,10 @@ Describe "Ruby" {
|
||||
}
|
||||
|
||||
It "Ruby tools are consistent" {
|
||||
$os = Get-OSVersion
|
||||
$expectedPrefix = if ($os.IsArm64) { "/opt/homebrew" } else { "/usr/local" }
|
||||
Get-ToolPath "ruby" | Should -Match "^$expectedPrefix.*"
|
||||
Get-ToolPath "gem" | Should -Match "^$expectedPrefix.*"
|
||||
Get-ToolPath "bundler" | Should -Match "^$expectedPrefix.*"
|
||||
$expectedPrefix = "/opt/homebrew"
|
||||
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
|
||||
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
|
||||
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
|
||||
}
|
||||
|
||||
It "Ruby gems permissions are valid" {
|
||||
@@ -0,0 +1,26 @@
|
||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Ruby" -Skip:($os.IsArm64) {
|
||||
It "Ruby is available" {
|
||||
"ruby --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "Ruby is installed via HomeBrew" {
|
||||
Get-ToolPath "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
|
||||
}
|
||||
|
||||
It "Ruby tools are consistent" {
|
||||
$expectedPrefix = "/usr/local"
|
||||
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
|
||||
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
|
||||
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
|
||||
}
|
||||
|
||||
It "Ruby gems permissions are valid" {
|
||||
"gem install bundle" | Should -ReturnZeroExitCode
|
||||
"gem uninstall bundle" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
@@ -20,19 +20,25 @@ Describe "Bundler" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "Nomad shenzhen CLI" {
|
||||
"ipa --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Fastlane" {
|
||||
It "Fastlane" {
|
||||
"fastlane --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "xcpretty" {
|
||||
"xcpretty --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "jazzy" {
|
||||
"jazzy --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Describe "Rust" {
|
||||
"cargo --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "bindgen" {
|
||||
"bindgen --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user