mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 22:05:17 +00:00
Add macOS 12 image templates (#4062)
This commit is contained in:
23
images.CI/macos/azure-pipelines/macos12.yml
Normal file
23
images.CI/macos/azure-pipelines/macos12.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
||||
|
||||
jobs:
|
||||
- template: image-generation.yml
|
||||
parameters:
|
||||
image_label: 'macOS Monterey'
|
||||
base_image_name: 'clean-macOS-12-380Gb-runner'
|
||||
template_path: 'templates/macOS-12.json'
|
||||
target_datastore: 'ds-image'
|
||||
@@ -28,6 +28,9 @@ function Get-EnvironmentVariable($variable) {
|
||||
function Get-OSVersion {
|
||||
$osVersion = [Environment]::OSVersion
|
||||
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
||||
# Monterey needs future review:
|
||||
# [Environment]::OSVersion returns 11.0 for Monterey preview.
|
||||
[SemVer]$osMontereyVersion = sw_vers -productVersion
|
||||
return [PSCustomObject]@{
|
||||
Version = $osVersion.Version
|
||||
Platform = $osVersion.Platform
|
||||
@@ -35,9 +38,12 @@ function Get-OSVersion {
|
||||
IsMojave = $osVersionMajorMinor -eq "10.14"
|
||||
IsCatalina = $osVersionMajorMinor -eq "10.15"
|
||||
IsBigSur = $osVersionMajorMinor -eq "11.0"
|
||||
IsMonterey = $osMontereyVersion.Major -eq "12"
|
||||
IsLessThanCatalina = [SemVer]$osVersion.Version -lt "10.15"
|
||||
IsLessThanBigSur = [SemVer]$osVersion.Version -lt "11.0"
|
||||
IsLessThanMonterey = $osMontereyVersion -lt "12.0"
|
||||
IsHigherThanMojave = [SemVer]$osVersion.Version -ge "10.15"
|
||||
IsHigherThanCatalina = [SemVer]$osVersion.Version -ge "11.0"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ export VM_ASSETS=/usr/local/opt/$USER/scripts
|
||||
export NUNIT_BASE_PATH=/Library/Developer/nunit
|
||||
export NUNIT3_PATH=/Library/Developer/nunit/3.6.0
|
||||
|
||||
export CONDA=/usr/local/miniconda
|
||||
export AGENT_TOOLSDIRECTORY=$HOME/hostedtoolcache
|
||||
export RUNNER_TOOL_CACHE=$HOME/hostedtoolcache
|
||||
|
||||
@@ -20,9 +19,6 @@ export PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH
|
||||
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_NDK_HOME:$PATH
|
||||
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:~/.yarn/bin:$PATH
|
||||
export PATH="/usr/local/opt/curl/bin:$PATH"
|
||||
export PATH="/usr/local/opt/ruby@2.7/bin:$PATH"
|
||||
GEM_PATH=`gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}'`
|
||||
export PATH="$GEM_PATH:$PATH"
|
||||
export PATH=$HOME/.cargo/bin:$PATH
|
||||
|
||||
export RCT_NO_LAUNCH_PACKAGER=1
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#!/bin/bash -e -o pipefail
|
||||
source ~/utils/utils.sh
|
||||
|
||||
# Monterey needs future review:
|
||||
# Llvm, 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..."
|
||||
|
||||
@@ -14,7 +14,7 @@ echo "Installing jq..."
|
||||
brew install jq
|
||||
|
||||
echo "Installing curl..."
|
||||
brew_smart_install "curl"
|
||||
brew install curl
|
||||
|
||||
echo "Installing wget..."
|
||||
brew_smart_install "wget"
|
||||
|
||||
@@ -11,4 +11,6 @@ if [ -d "$HOME/.conda" ]; then
|
||||
sudo chown -R $USER "$HOME/.conda"
|
||||
fi
|
||||
|
||||
echo "export CONDA=/usr/local/miniconda" >> $HOME/.bashrc
|
||||
|
||||
invoke_tests "Common" "Miniconda"
|
||||
|
||||
@@ -4,6 +4,10 @@ source ~/utils/utils.sh
|
||||
DEFAULT_RUBY_VERSION=$(get_toolset_value '.ruby.default')
|
||||
echo Installing Ruby...
|
||||
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
|
||||
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
||||
GEM_PATH=`gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}'`
|
||||
echo "GEM_PATH=$GEM_PATH" >> "$HOME/.bashrc"
|
||||
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc"
|
||||
|
||||
#if High Sierra - skip installation from toolset
|
||||
if is_HighSierra; then
|
||||
|
||||
@@ -12,6 +12,10 @@ install_clt() {
|
||||
clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
|
||||
sudo touch $clt_placeholder
|
||||
cltPattern="Command Line Tools"
|
||||
# Command Line Tools for Xcode 13.0 does not support macOS 12
|
||||
if is_Monterey; then
|
||||
cltPattern="Command Line Tools beta"
|
||||
fi
|
||||
|
||||
clt_label_command="/usr/sbin/softwareupdate -l |
|
||||
grep -B 1 -E '${cltPattern}' |
|
||||
|
||||
@@ -39,6 +39,14 @@ download_with_retries() {
|
||||
return 1
|
||||
}
|
||||
|
||||
is_Monterey() {
|
||||
if [ "$OSTYPE" = "darwin21" ]; then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
is_BigSur() {
|
||||
if [ "$OSTYPE" = "darwin20" ]; then
|
||||
true
|
||||
@@ -87,6 +95,14 @@ is_Less_BigSur() {
|
||||
fi
|
||||
}
|
||||
|
||||
is_Less_Monterey() {
|
||||
if is_HighSierra || is_Mojave || is_Catalina || is_BigSur; then
|
||||
true
|
||||
else
|
||||
false
|
||||
fi
|
||||
}
|
||||
|
||||
get_toolset_path() {
|
||||
echo "$HOME/image-generation/toolset.json"
|
||||
}
|
||||
@@ -124,6 +140,8 @@ get_brew_os_keyword() {
|
||||
echo "catalina"
|
||||
elif is_BigSur; then
|
||||
echo "big_sur"
|
||||
elif is_Monterey; then
|
||||
echo "monterey"
|
||||
else
|
||||
echo "null"
|
||||
fi
|
||||
|
||||
@@ -42,12 +42,17 @@ $languageAndRuntimeList = @(
|
||||
(Get-RubyVersion),
|
||||
(Get-DotnetVersionList),
|
||||
(Get-GoVersion),
|
||||
(Get-PHPVersion),
|
||||
(Get-JuliaVersion),
|
||||
(Get-KotlinVersion)
|
||||
)
|
||||
|
||||
if ( -not $os.IsHighSierra) {
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$languageAndRuntimeList += @(
|
||||
(Get-PHPVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if ( -not $os.IsHighSierra -and $os.IsLessThanMonterey) {
|
||||
$languageAndRuntimeList += @(
|
||||
(Get-GccVersion)
|
||||
(Get-FortranVersion)
|
||||
@@ -72,28 +77,34 @@ $packageManagementList = @(
|
||||
(Get-PipVersion -Version 3),
|
||||
(Get-PipxVersion),
|
||||
(Get-BundlerVersion),
|
||||
(Get-CarthageVersion),
|
||||
(Get-CocoaPodsVersion),
|
||||
(Get-HomebrewVersion),
|
||||
(Get-NPMVersion),
|
||||
(Get-YarnVersion),
|
||||
(Get-NuGetVersion),
|
||||
(Get-CondaVersion),
|
||||
(Get-RubyGemsVersion),
|
||||
(Get-ComposerVersion)
|
||||
)
|
||||
|
||||
if ($os.IsHigherThanMojave) {
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$packageManagementList += @(
|
||||
(Get-CarthageVersion),
|
||||
(Get-CondaVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if ($os.IsHigherThanMojave -and $os.IsLessThanMonterey) {
|
||||
$packageManagementList += @(
|
||||
(Get-VcpkgVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||
$markdown += New-MDNewLine
|
||||
}
|
||||
# Project Management
|
||||
$markdown += New-MDHeader "Project Management" -Level 3
|
||||
$markdown += New-MDList -Style Unordered -Lines (@(
|
||||
@@ -117,7 +128,6 @@ $utilitiesList = @(
|
||||
(Get-PackerVersion),
|
||||
(Get-OpenSSLVersion),
|
||||
(Get-JqVersion),
|
||||
(Get-GPGVersion),
|
||||
(Get-PostgresClientVersion),
|
||||
(Get-PostgresServerVersion),
|
||||
(Get-Aria2Version),
|
||||
@@ -125,7 +135,6 @@ $utilitiesList = @(
|
||||
(Get-ZstdVersion),
|
||||
(Get-BazelVersion),
|
||||
(Get-BazeliskVersion),
|
||||
(Get-HelmVersion),
|
||||
(Get-MongoVersion),
|
||||
(Get-MongodVersion),
|
||||
(Get-7zipVersion),
|
||||
@@ -133,7 +142,14 @@ $utilitiesList = @(
|
||||
(Get-GnuTarVersion)
|
||||
)
|
||||
|
||||
if ($os.IsHigherThanMojave) {
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$utilitiesList += @(
|
||||
(Get-GPGVersion),
|
||||
(Get-HelmVersion)
|
||||
)
|
||||
}
|
||||
|
||||
if ($os.IsHigherThanMojave -and $os.IsLessThanMonterey) {
|
||||
$utilitiesList += @(
|
||||
(Get-NewmanVersion)
|
||||
)
|
||||
@@ -147,7 +163,7 @@ if ($os.IsLessThanBigSur) {
|
||||
)
|
||||
}
|
||||
|
||||
if (-not $os.IsHighSierra) {
|
||||
if (-not $os.IsHighSierra -and $os.IsLessThanMonterey) {
|
||||
$utilitiesList += @(
|
||||
(Get-SwitchAudioOsxVersion),
|
||||
(Get-SoxVersion)
|
||||
@@ -166,8 +182,16 @@ $toolsList = @(
|
||||
(Get-AzureCLIVersion),
|
||||
(Get-AWSCLIVersion),
|
||||
(Get-AWSSAMCLIVersion),
|
||||
(Get-AWSSessionManagerCLIVersion),
|
||||
(Get-AliyunCLIVersion),
|
||||
(Get-AWSSessionManagerCLIVersion)
|
||||
)
|
||||
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$toolsList += @(
|
||||
(Get-AliyunCLIVersion)
|
||||
)
|
||||
}
|
||||
|
||||
$toolsList += @(
|
||||
(Get-XcodeCommandLineToolsVersion),
|
||||
(Get-SwigVersion),
|
||||
(Get-BicepVersion)
|
||||
@@ -178,9 +202,13 @@ if( -not $os.IsHighSierra) {
|
||||
(Get-GHCupVersion),
|
||||
(Get-GHCVersion),
|
||||
(Get-CabalVersion),
|
||||
(Get-StackVersion),
|
||||
(Get-SwiftFormatVersion)
|
||||
(Get-StackVersion)
|
||||
)
|
||||
if($os.IsLessThanMonterey) {
|
||||
$toolsList += @(
|
||||
(Get-SwiftFormatVersion)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
||||
|
||||
@@ -238,10 +238,13 @@ function Build-XcodeSupportToolsSection {
|
||||
$nomadCLI = [regex]::matches($nomadOutput, "(\d+.){2}\d+").Value
|
||||
$nomadShenzhenOutput = Run-Command "ipa -version"
|
||||
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
||||
$toolList += @(
|
||||
"Nomad CLI $nomadCLI",
|
||||
"Nomad shenzhen CLI $nomadShenzhen"
|
||||
)
|
||||
|
||||
if ($os.IsLessThanMonterey) {
|
||||
$toolList += @(
|
||||
"Nomad CLI $nomadCLI",
|
||||
"Nomad shenzhen CLI $nomadShenzhen"
|
||||
)
|
||||
}
|
||||
|
||||
if ($os.IsLessThanBigSur) {
|
||||
$xctool = Run-Command "xctool --version"
|
||||
|
||||
227
images/macos/templates/macOS-12.json
Normal file
227
images/macos/templates/macOS-12.json
Normal file
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"variables": {
|
||||
"vcenter_server": null,
|
||||
"vcenter_username": null,
|
||||
"vcenter_password": null,
|
||||
"vcenter_datacenter": null,
|
||||
"cluster_or_esxi_host": null,
|
||||
"esxi_datastore": null,
|
||||
"build_id": null,
|
||||
"baseimage_name": null,
|
||||
"output_folder": null,
|
||||
"vm_username": null,
|
||||
"vm_password": null,
|
||||
"xcode_install_user": null,
|
||||
"xcode_install_password": null,
|
||||
"image_os": "macos12"
|
||||
},
|
||||
"builders": [
|
||||
{
|
||||
"type": "vsphere-clone",
|
||||
"vcenter_server": "{{user `vcenter_server`}}",
|
||||
"username": "{{user `vcenter_username`}}",
|
||||
"password": "{{user `vcenter_password`}}",
|
||||
"insecure_connection": true,
|
||||
"datacenter": "{{ user `vcenter_datacenter` }}",
|
||||
"template": "{{ user `baseimage_name` }}",
|
||||
"folder": "{{user `output_folder` }}",
|
||||
"host": "{{user `cluster_or_esxi_host`}}",
|
||||
"datastore": "{{user `esxi_datastore`}}",
|
||||
"vm_name": "{{user `build_id`}}",
|
||||
"ssh_username": "{{user `vm_username`}}",
|
||||
"ssh_password": "{{user `vm_password`}}",
|
||||
"CPUs": "10",
|
||||
"RAM": "24576",
|
||||
"NestedHV": "true",
|
||||
"shutdown_timeout": "15m"
|
||||
}
|
||||
],
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "shell",
|
||||
"inline": "mkdir ~/image-generation"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/assets",
|
||||
"destination": "~/image-generation/"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./tests",
|
||||
"destination": "~/image-generation/"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./software-report",
|
||||
"destination": "~/image-generation/"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./helpers",
|
||||
"destination": "~/image-generation/"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/configuration/add-certificate.swift",
|
||||
"destination": "~/image-generation/add-certificate.swift"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/configuration/environment/bashrc",
|
||||
"destination": "~/.bashrc"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/configuration/environment/bashprofile",
|
||||
"destination": "~/.bash_profile"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/utils",
|
||||
"destination": "~/"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./provision/bootstrap-provisioner",
|
||||
"destination": "~/bootstrap"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"source": "./toolsets/toolset-12.json",
|
||||
"destination": "~/image-generation/toolset.json"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/configuration/add-network-interface-detection.sh",
|
||||
"./provision/configuration/autologin.sh",
|
||||
"./provision/configuration/disable-auto-updates.sh",
|
||||
"./provision/configuration/screensaver-off.sh",
|
||||
"./provision/configuration/ntpconf.sh",
|
||||
"./provision/configuration/max-files.sh",
|
||||
"./provision/configuration/shell-change.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"PASSWORD={{user `vm_password`}}",
|
||||
"USERNAME={{user `vm_username`}}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/configuration/preimagedata.sh",
|
||||
"./provision/configuration/configure-ssh.sh",
|
||||
"./provision/core/xcode-clt.sh",
|
||||
"./provision/configuration/configure-machine.sh"
|
||||
],
|
||||
"environment_vars": [
|
||||
"IMAGE_VERSION={{user `build_id`}}",
|
||||
"IMAGE_OS={{user `image_os`}}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"script": "./provision/core/reboot.sh",
|
||||
"expect_disconnect": true
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"pause_before": "30s",
|
||||
"scripts": [
|
||||
"./provision/core/homebrew.sh",
|
||||
"./provision/core/powershell.sh",
|
||||
"./provision/core/dotnet.sh",
|
||||
"./provision/core/python.sh",
|
||||
"./provision/core/azcopy.sh",
|
||||
"./provision/core/openssl.sh",
|
||||
"./provision/core/ruby.sh",
|
||||
"./provision/core/rubygem.sh",
|
||||
"./provision/core/git.sh",
|
||||
"./provision/core/node.sh"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}",
|
||||
"script": "./provision/core/xcode.ps1",
|
||||
"environment_vars": [
|
||||
"XCODE_INSTALL_USER={{user `xcode_install_user`}}",
|
||||
"XCODE_INSTALL_PASSWORD={{user `xcode_install_password`}}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}",
|
||||
"script": "./provision/core/reboot.sh",
|
||||
"expect_disconnect": true
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/core/commonutils.sh",
|
||||
"./provision/core/golang.sh",
|
||||
"./provision/core/swiftlint.sh",
|
||||
"./provision/core/openjdk.sh",
|
||||
"./provision/core/aws.sh",
|
||||
"./provision/core/rust.sh",
|
||||
"./provision/core/haskell.sh",
|
||||
"./provision/core/stack.sh",
|
||||
"./provision/core/cocoapods.sh",
|
||||
"./provision/core/android-toolsets.sh",
|
||||
"./provision/core/xamarin.sh",
|
||||
"./provision/core/vsmac.sh",
|
||||
"./provision/core/nvm.sh",
|
||||
"./provision/core/apache.sh",
|
||||
"./provision/core/nginx.sh",
|
||||
"./provision/core/postgresql.sh",
|
||||
"./provision/core/mongodb.sh",
|
||||
"./provision/core/safari.sh",
|
||||
"./provision/core/chrome.sh",
|
||||
"./provision/core/edge.sh",
|
||||
"./provision/core/firefox.sh",
|
||||
"./provision/core/pypy.sh",
|
||||
"./provision/core/pipx-packages.sh",
|
||||
"./provision/core/bicep.sh"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}",
|
||||
"scripts": "./provision/core/toolset.ps1"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "ruby {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/core/delete-duplicate-sims.rb"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"inline": [
|
||||
"pwsh -File \"$HOME/image-generation/software-report/SoftwareReport.Generator.ps1\" -OutputDirectory \"$HOME/image-generation/output/software-report\" -ImageName {{user `build_id`}}",
|
||||
"pwsh -File \"$HOME/image-generation/tests/RunAll-Tests.ps1\""
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"direction": "download",
|
||||
"source": "~/image-generation/output/*",
|
||||
"destination": "../image-output/"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
|
||||
"scripts": [
|
||||
"./provision/configuration/configure-hostname.sh",
|
||||
"./provision/configuration/finalize-vm.sh"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -89,7 +89,7 @@ Describe "Android" {
|
||||
}
|
||||
}
|
||||
|
||||
It "HAXM is installed" -Skip:($os.IsBigSur) {
|
||||
It "HAXM is installed" -Skip:($os.IsHigherThanCatalina) {
|
||||
"kextstat | grep 'com.intel.kext.intelhaxm'" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ Describe "Azure CLI" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Carthage" {
|
||||
Describe "Carthage" -Skip:($os.IsMonterey) {
|
||||
It "Carthage" {
|
||||
"carthage version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -24,20 +24,20 @@ Describe "Subversion" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "SwiftFormat" {
|
||||
Describe "SwiftFormat" -Skip:($os.IsMonterey) {
|
||||
It "SwiftFormat" {
|
||||
"swiftformat --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Describe "GnuPG" {
|
||||
Describe "GnuPG" -Skip:($os.IsMonterey) {
|
||||
It "GnuPG" {
|
||||
"gpg --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Clang/LLVM" {
|
||||
Describe "Clang/LLVM" -Skip:($os.IsMonterey) {
|
||||
It "Clang/LLVM is installed" {
|
||||
"$(brew --prefix llvm)/bin/clang --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -61,7 +61,7 @@ Describe "Perl" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Helm" {
|
||||
Describe "Helm" -Skip:($os.IsMonterey) {
|
||||
It "Helm" {
|
||||
"helm version --short" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -109,7 +109,7 @@ Describe "bazel" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Aliyun CLI" {
|
||||
Describe "Aliyun CLI" -Skip:($os.IsMonterey) {
|
||||
It "Aliyun CLI" {
|
||||
"aliyun --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -139,25 +139,25 @@ Describe "wget" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vagrant" -Skip:($os.IsBigSur) {
|
||||
Describe "vagrant" -Skip:($os.IsHigherThanCatalina) {
|
||||
It "vagrant" {
|
||||
"vagrant --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "virtualbox" -Skip:($os.IsBigSur) {
|
||||
Describe "virtualbox" -Skip:($os.IsHigherThanCatalina) {
|
||||
It "virtualbox" {
|
||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "xctool" -Skip:($os.IsBigSur) {
|
||||
Describe "xctool" -Skip:($os.IsHigherThanCatalina) {
|
||||
It "xctool" {
|
||||
"xctool --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "R" -Skip:($os.IsBigSur) {
|
||||
Describe "R" -Skip:($os.IsHigherThanCatalina) {
|
||||
It "R" {
|
||||
"R --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ Describe ".NET" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "GCC" -Skip:($os.IsHighSierra) {
|
||||
Describe "GCC" -Skip:($os.IsHighSierra -or $os.IsMonterey) {
|
||||
$testCases = Get-ToolsetValue -KeyPath gcc.versions | ForEach-Object { @{Version = $_} }
|
||||
|
||||
It "GCC <Version>" -TestCases $testCases {
|
||||
@@ -33,7 +33,7 @@ Describe "GCC" -Skip:($os.IsHighSierra) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vcpkg" -Skip:($os.IsHighSierra -or $os.IsMojave) {
|
||||
Describe "vcpkg" -Skip:($os.IsHighSierra -or $os.IsMojave -or $os.IsMonterey) {
|
||||
It "vcpkg" {
|
||||
"vcpkg version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Miniconda" {
|
||||
Describe "Miniconda" -Skip:($os.IsMonterey) {
|
||||
It "Conda" {
|
||||
Get-EnvironmentVariable "CONDA" | Should -Not -BeNullOrEmpty
|
||||
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Describe "PHP" {
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "PHP" -Skip:($os.IsMonterey) {
|
||||
Context "PHP" {
|
||||
It "PHP Path" {
|
||||
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "RubyGems" {
|
||||
$gemTestCases = Get-ToolsetValue -KeyPath "ruby.rubygems" | ForEach-Object {
|
||||
@{gemName = $_}
|
||||
@@ -17,7 +19,7 @@ Describe "Bundler" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Nomad shenzhen CLI" {
|
||||
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey) {
|
||||
It "Nomad shenzhen CLI" {
|
||||
"ipa --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ Describe "Certificate" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Audio device" -Skip:($os.IsHighSierra) {
|
||||
Describe "Audio device" -Skip:($os.IsHighSierra -or $os.IsMonterey) {
|
||||
It "Sox is installed" {
|
||||
"sox --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -26,7 +26,7 @@ Describe "Audio device" -Skip:($os.IsHighSierra) {
|
||||
"SwitchAudioSource -c" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "Audio channel Soundflower (2ch)" -Skip:($os.IsBigSur) {
|
||||
It "Audio channel Soundflower (2ch)" -Skip:($os.IsHigherThanCatalina) {
|
||||
SwitchAudioSource -c | Should -BeLikeExactly "Soundflower (2ch)"
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Describe "Xamarin NDK" {
|
||||
$ANDROID_SDK_DIR = Join-Path $env:HOME "Library" "Android" "sdk"
|
||||
}
|
||||
|
||||
Context "Xamarin NDK toolchains" -Skip:($os.IsBigSur) {
|
||||
Context "Xamarin NDK toolchains" -Skip:($os.IsHigherThanCatalina) {
|
||||
$testCases = $androidNdkToolchains | ForEach-Object { @{AndroidNdkToolchain = $_} }
|
||||
|
||||
It "<AndroidNdkToolchain>" -TestCases $testCases {
|
||||
@@ -22,7 +22,7 @@ Describe "Xamarin NDK" {
|
||||
}
|
||||
}
|
||||
|
||||
Context "Xamarin Legacy NDK versions" -Skip:($os.IsBigSur) {
|
||||
Context "Xamarin Legacy NDK versions" -Skip:($os.IsHigherThanCatalina) {
|
||||
It "Android NDK version r18b is installed" {
|
||||
$ndk18BundlePath = Join-Path $ANDROID_SDK_DIR "ndk" "18.1.5063045" "source.properties"
|
||||
$rawContent = Get-Content $ndk18BundlePath -Raw
|
||||
|
||||
166
images/macos/toolsets/toolset-12.json
Normal file
166
images/macos/toolsets/toolset-12.json
Normal file
@@ -0,0 +1,166 @@
|
||||
{
|
||||
"xcode": {
|
||||
"default": "13.0",
|
||||
"versions": [
|
||||
{ "link": "13.0", "version": "13.0.0"}
|
||||
]
|
||||
},
|
||||
"xamarin": {
|
||||
"vsmac": "latest",
|
||||
"mono-versions": [
|
||||
"6.12.0.125"
|
||||
],
|
||||
"ios-versions": [
|
||||
"14.20.0.24"
|
||||
],
|
||||
"mac-versions": [
|
||||
"7.14.0.24"
|
||||
],
|
||||
"android-versions": [
|
||||
"11.3.0.4"
|
||||
],
|
||||
"bundle-default": "6_12_9",
|
||||
"bundles": [
|
||||
{
|
||||
"symlink": "6_12_9",
|
||||
"mono":"6.12",
|
||||
"ios": "14.20",
|
||||
"mac": "7.14",
|
||||
"android": "11.3"
|
||||
}
|
||||
]
|
||||
},
|
||||
"java": {
|
||||
"default": "8",
|
||||
"versions": [
|
||||
"8", "11"
|
||||
]
|
||||
},
|
||||
"android": {
|
||||
"platform_min_version": "27",
|
||||
"build_tools_min_version": "27.0.0",
|
||||
"extra-list": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager"
|
||||
],
|
||||
"addon-list": [],
|
||||
"additional-tools": [
|
||||
"cmake;3.18.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "21",
|
||||
"versions": [
|
||||
"21", "22", "23"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
{ "name": "Az" },
|
||||
{ "name": "MarkdownPS" },
|
||||
{ "name": "Pester" },
|
||||
{ "name": "PSScriptAnalyzer" }
|
||||
],
|
||||
"npm": {
|
||||
"global_packages": []
|
||||
},
|
||||
"brew": {
|
||||
"common_packages": [
|
||||
"ant",
|
||||
"aria2",
|
||||
"azure-cli",
|
||||
"bazelisk",
|
||||
"cmake",
|
||||
"gh",
|
||||
"gnu-tar",
|
||||
"kotlin",
|
||||
"libpq",
|
||||
"p7zip",
|
||||
"packer",
|
||||
"perl",
|
||||
"sbt",
|
||||
"subversion",
|
||||
"swig",
|
||||
"zstd",
|
||||
"gmp"
|
||||
],
|
||||
"cask_packages": [
|
||||
"julia"
|
||||
]
|
||||
},
|
||||
"toolcache": [
|
||||
{
|
||||
"name": "Python",
|
||||
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
|
||||
"arch": "x64",
|
||||
"platform" : "darwin",
|
||||
"versions": [
|
||||
"3.7.*",
|
||||
"3.8.*",
|
||||
"3.9.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "PyPy",
|
||||
"arch": "x64",
|
||||
"platform" : "darwin",
|
||||
"versions": [
|
||||
"2.7",
|
||||
"3.7"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Node",
|
||||
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
|
||||
"platform" : "darwin",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"10.*",
|
||||
"12.*",
|
||||
"14.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Go",
|
||||
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
|
||||
"arch": "x64",
|
||||
"platform" : "darwin",
|
||||
"versions": [
|
||||
"1.15.*",
|
||||
"1.16.*",
|
||||
"1.17.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Ruby",
|
||||
"arch": "x64",
|
||||
"versions": [
|
||||
"2.7.*",
|
||||
"3.0.*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"pipx": [
|
||||
{
|
||||
"package": "yamllint",
|
||||
"cmd": "yamllint --version"
|
||||
}
|
||||
],
|
||||
"dotnet": {
|
||||
"versions": [
|
||||
"3.1",
|
||||
"5.0"
|
||||
]
|
||||
},
|
||||
"ruby": {
|
||||
"default": "3.0",
|
||||
"rubygems": [
|
||||
"xcode-install",
|
||||
"cocoapods",
|
||||
"xcpretty",
|
||||
"bundler",
|
||||
"fastlane"
|
||||
]
|
||||
},
|
||||
"go": {
|
||||
"default": "1.17"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user