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 {
|
function Get-OSVersion {
|
||||||
$osVersion = [Environment]::OSVersion
|
$osVersion = [Environment]::OSVersion
|
||||||
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
||||||
|
# Monterey needs future review:
|
||||||
|
# [Environment]::OSVersion returns 11.0 for Monterey preview.
|
||||||
|
[SemVer]$osMontereyVersion = sw_vers -productVersion
|
||||||
return [PSCustomObject]@{
|
return [PSCustomObject]@{
|
||||||
Version = $osVersion.Version
|
Version = $osVersion.Version
|
||||||
Platform = $osVersion.Platform
|
Platform = $osVersion.Platform
|
||||||
@@ -35,9 +38,12 @@ function Get-OSVersion {
|
|||||||
IsMojave = $osVersionMajorMinor -eq "10.14"
|
IsMojave = $osVersionMajorMinor -eq "10.14"
|
||||||
IsCatalina = $osVersionMajorMinor -eq "10.15"
|
IsCatalina = $osVersionMajorMinor -eq "10.15"
|
||||||
IsBigSur = $osVersionMajorMinor -eq "11.0"
|
IsBigSur = $osVersionMajorMinor -eq "11.0"
|
||||||
|
IsMonterey = $osMontereyVersion.Major -eq "12"
|
||||||
IsLessThanCatalina = [SemVer]$osVersion.Version -lt "10.15"
|
IsLessThanCatalina = [SemVer]$osVersion.Version -lt "10.15"
|
||||||
IsLessThanBigSur = [SemVer]$osVersion.Version -lt "11.0"
|
IsLessThanBigSur = [SemVer]$osVersion.Version -lt "11.0"
|
||||||
|
IsLessThanMonterey = $osMontereyVersion -lt "12.0"
|
||||||
IsHigherThanMojave = [SemVer]$osVersion.Version -ge "10.15"
|
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 NUNIT_BASE_PATH=/Library/Developer/nunit
|
||||||
export NUNIT3_PATH=/Library/Developer/nunit/3.6.0
|
export NUNIT3_PATH=/Library/Developer/nunit/3.6.0
|
||||||
|
|
||||||
export CONDA=/usr/local/miniconda
|
|
||||||
export AGENT_TOOLSDIRECTORY=$HOME/hostedtoolcache
|
export AGENT_TOOLSDIRECTORY=$HOME/hostedtoolcache
|
||||||
export RUNNER_TOOL_CACHE=$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=$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/bin:/usr/local/sbin:~/bin:~/.yarn/bin:$PATH
|
||||||
export PATH="/usr/local/opt/curl/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 PATH=$HOME/.cargo/bin:$PATH
|
||||||
|
|
||||||
export RCT_NO_LAUNCH_PACKAGER=1
|
export RCT_NO_LAUNCH_PACKAGER=1
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
#!/bin/bash -e -o pipefail
|
#!/bin/bash -e -o pipefail
|
||||||
source ~/utils/utils.sh
|
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[]')
|
common_packages=$(get_toolset_value '.brew.common_packages[]')
|
||||||
for package in $common_packages; do
|
for package in $common_packages; do
|
||||||
echo "Installing $package..."
|
echo "Installing $package..."
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ echo "Installing jq..."
|
|||||||
brew install jq
|
brew install jq
|
||||||
|
|
||||||
echo "Installing curl..."
|
echo "Installing curl..."
|
||||||
brew_smart_install "curl"
|
brew install curl
|
||||||
|
|
||||||
echo "Installing wget..."
|
echo "Installing wget..."
|
||||||
brew_smart_install "wget"
|
brew_smart_install "wget"
|
||||||
|
|||||||
@@ -11,4 +11,6 @@ if [ -d "$HOME/.conda" ]; then
|
|||||||
sudo chown -R $USER "$HOME/.conda"
|
sudo chown -R $USER "$HOME/.conda"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "export CONDA=/usr/local/miniconda" >> $HOME/.bashrc
|
||||||
|
|
||||||
invoke_tests "Common" "Miniconda"
|
invoke_tests "Common" "Miniconda"
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ source ~/utils/utils.sh
|
|||||||
DEFAULT_RUBY_VERSION=$(get_toolset_value '.ruby.default')
|
DEFAULT_RUBY_VERSION=$(get_toolset_value '.ruby.default')
|
||||||
echo Installing Ruby...
|
echo Installing Ruby...
|
||||||
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
|
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 High Sierra - skip installation from toolset
|
||||||
if is_HighSierra; then
|
if is_HighSierra; then
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ install_clt() {
|
|||||||
clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
|
clt_placeholder="/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
|
||||||
sudo touch $clt_placeholder
|
sudo touch $clt_placeholder
|
||||||
cltPattern="Command Line Tools"
|
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 |
|
clt_label_command="/usr/sbin/softwareupdate -l |
|
||||||
grep -B 1 -E '${cltPattern}' |
|
grep -B 1 -E '${cltPattern}' |
|
||||||
|
|||||||
@@ -39,6 +39,14 @@ download_with_retries() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_Monterey() {
|
||||||
|
if [ "$OSTYPE" = "darwin21" ]; then
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
is_BigSur() {
|
is_BigSur() {
|
||||||
if [ "$OSTYPE" = "darwin20" ]; then
|
if [ "$OSTYPE" = "darwin20" ]; then
|
||||||
true
|
true
|
||||||
@@ -87,6 +95,14 @@ is_Less_BigSur() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_Less_Monterey() {
|
||||||
|
if is_HighSierra || is_Mojave || is_Catalina || is_BigSur; then
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
get_toolset_path() {
|
get_toolset_path() {
|
||||||
echo "$HOME/image-generation/toolset.json"
|
echo "$HOME/image-generation/toolset.json"
|
||||||
}
|
}
|
||||||
@@ -124,6 +140,8 @@ get_brew_os_keyword() {
|
|||||||
echo "catalina"
|
echo "catalina"
|
||||||
elif is_BigSur; then
|
elif is_BigSur; then
|
||||||
echo "big_sur"
|
echo "big_sur"
|
||||||
|
elif is_Monterey; then
|
||||||
|
echo "monterey"
|
||||||
else
|
else
|
||||||
echo "null"
|
echo "null"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -42,12 +42,17 @@ $languageAndRuntimeList = @(
|
|||||||
(Get-RubyVersion),
|
(Get-RubyVersion),
|
||||||
(Get-DotnetVersionList),
|
(Get-DotnetVersionList),
|
||||||
(Get-GoVersion),
|
(Get-GoVersion),
|
||||||
(Get-PHPVersion),
|
|
||||||
(Get-JuliaVersion),
|
(Get-JuliaVersion),
|
||||||
(Get-KotlinVersion)
|
(Get-KotlinVersion)
|
||||||
)
|
)
|
||||||
|
|
||||||
if ( -not $os.IsHighSierra) {
|
if ($os.IsLessThanMonterey) {
|
||||||
|
$languageAndRuntimeList += @(
|
||||||
|
(Get-PHPVersion)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( -not $os.IsHighSierra -and $os.IsLessThanMonterey) {
|
||||||
$languageAndRuntimeList += @(
|
$languageAndRuntimeList += @(
|
||||||
(Get-GccVersion)
|
(Get-GccVersion)
|
||||||
(Get-FortranVersion)
|
(Get-FortranVersion)
|
||||||
@@ -72,28 +77,34 @@ $packageManagementList = @(
|
|||||||
(Get-PipVersion -Version 3),
|
(Get-PipVersion -Version 3),
|
||||||
(Get-PipxVersion),
|
(Get-PipxVersion),
|
||||||
(Get-BundlerVersion),
|
(Get-BundlerVersion),
|
||||||
(Get-CarthageVersion),
|
|
||||||
(Get-CocoaPodsVersion),
|
(Get-CocoaPodsVersion),
|
||||||
(Get-HomebrewVersion),
|
(Get-HomebrewVersion),
|
||||||
(Get-NPMVersion),
|
(Get-NPMVersion),
|
||||||
(Get-YarnVersion),
|
(Get-YarnVersion),
|
||||||
(Get-NuGetVersion),
|
(Get-NuGetVersion),
|
||||||
(Get-CondaVersion),
|
|
||||||
(Get-RubyGemsVersion),
|
(Get-RubyGemsVersion),
|
||||||
(Get-ComposerVersion)
|
(Get-ComposerVersion)
|
||||||
)
|
)
|
||||||
|
|
||||||
if ($os.IsHigherThanMojave) {
|
if ($os.IsLessThanMonterey) {
|
||||||
|
$packageManagementList += @(
|
||||||
|
(Get-CarthageVersion),
|
||||||
|
(Get-CondaVersion)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($os.IsHigherThanMojave -and $os.IsLessThanMonterey) {
|
||||||
$packageManagementList += @(
|
$packageManagementList += @(
|
||||||
(Get-VcpkgVersion)
|
(Get-VcpkgVersion)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
$markdown += New-MDList -Style Unordered -Lines ($packageManagementList | Sort-Object)
|
||||||
|
if ($os.IsLessThanMonterey) {
|
||||||
$markdown += New-MDHeader "Environment variables" -Level 4
|
$markdown += New-MDHeader "Environment variables" -Level 4
|
||||||
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
$markdown += Build-PackageManagementEnvironmentTable | New-MDTable
|
||||||
$markdown += New-MDNewLine
|
$markdown += New-MDNewLine
|
||||||
|
}
|
||||||
# Project Management
|
# Project Management
|
||||||
$markdown += New-MDHeader "Project Management" -Level 3
|
$markdown += New-MDHeader "Project Management" -Level 3
|
||||||
$markdown += New-MDList -Style Unordered -Lines (@(
|
$markdown += New-MDList -Style Unordered -Lines (@(
|
||||||
@@ -117,7 +128,6 @@ $utilitiesList = @(
|
|||||||
(Get-PackerVersion),
|
(Get-PackerVersion),
|
||||||
(Get-OpenSSLVersion),
|
(Get-OpenSSLVersion),
|
||||||
(Get-JqVersion),
|
(Get-JqVersion),
|
||||||
(Get-GPGVersion),
|
|
||||||
(Get-PostgresClientVersion),
|
(Get-PostgresClientVersion),
|
||||||
(Get-PostgresServerVersion),
|
(Get-PostgresServerVersion),
|
||||||
(Get-Aria2Version),
|
(Get-Aria2Version),
|
||||||
@@ -125,7 +135,6 @@ $utilitiesList = @(
|
|||||||
(Get-ZstdVersion),
|
(Get-ZstdVersion),
|
||||||
(Get-BazelVersion),
|
(Get-BazelVersion),
|
||||||
(Get-BazeliskVersion),
|
(Get-BazeliskVersion),
|
||||||
(Get-HelmVersion),
|
|
||||||
(Get-MongoVersion),
|
(Get-MongoVersion),
|
||||||
(Get-MongodVersion),
|
(Get-MongodVersion),
|
||||||
(Get-7zipVersion),
|
(Get-7zipVersion),
|
||||||
@@ -133,7 +142,14 @@ $utilitiesList = @(
|
|||||||
(Get-GnuTarVersion)
|
(Get-GnuTarVersion)
|
||||||
)
|
)
|
||||||
|
|
||||||
if ($os.IsHigherThanMojave) {
|
if ($os.IsLessThanMonterey) {
|
||||||
|
$utilitiesList += @(
|
||||||
|
(Get-GPGVersion),
|
||||||
|
(Get-HelmVersion)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($os.IsHigherThanMojave -and $os.IsLessThanMonterey) {
|
||||||
$utilitiesList += @(
|
$utilitiesList += @(
|
||||||
(Get-NewmanVersion)
|
(Get-NewmanVersion)
|
||||||
)
|
)
|
||||||
@@ -147,7 +163,7 @@ if ($os.IsLessThanBigSur) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-not $os.IsHighSierra) {
|
if (-not $os.IsHighSierra -and $os.IsLessThanMonterey) {
|
||||||
$utilitiesList += @(
|
$utilitiesList += @(
|
||||||
(Get-SwitchAudioOsxVersion),
|
(Get-SwitchAudioOsxVersion),
|
||||||
(Get-SoxVersion)
|
(Get-SoxVersion)
|
||||||
@@ -166,8 +182,16 @@ $toolsList = @(
|
|||||||
(Get-AzureCLIVersion),
|
(Get-AzureCLIVersion),
|
||||||
(Get-AWSCLIVersion),
|
(Get-AWSCLIVersion),
|
||||||
(Get-AWSSAMCLIVersion),
|
(Get-AWSSAMCLIVersion),
|
||||||
(Get-AWSSessionManagerCLIVersion),
|
(Get-AWSSessionManagerCLIVersion)
|
||||||
(Get-AliyunCLIVersion),
|
)
|
||||||
|
|
||||||
|
if ($os.IsLessThanMonterey) {
|
||||||
|
$toolsList += @(
|
||||||
|
(Get-AliyunCLIVersion)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
$toolsList += @(
|
||||||
(Get-XcodeCommandLineToolsVersion),
|
(Get-XcodeCommandLineToolsVersion),
|
||||||
(Get-SwigVersion),
|
(Get-SwigVersion),
|
||||||
(Get-BicepVersion)
|
(Get-BicepVersion)
|
||||||
@@ -178,10 +202,14 @@ if( -not $os.IsHighSierra) {
|
|||||||
(Get-GHCupVersion),
|
(Get-GHCupVersion),
|
||||||
(Get-GHCVersion),
|
(Get-GHCVersion),
|
||||||
(Get-CabalVersion),
|
(Get-CabalVersion),
|
||||||
(Get-StackVersion),
|
(Get-StackVersion)
|
||||||
|
)
|
||||||
|
if($os.IsLessThanMonterey) {
|
||||||
|
$toolsList += @(
|
||||||
(Get-SwiftFormatVersion)
|
(Get-SwiftFormatVersion)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
$markdown += New-MDList -Style Unordered -Lines ($toolsList | Sort-Object)
|
||||||
|
|
||||||
|
|||||||
@@ -238,10 +238,13 @@ function Build-XcodeSupportToolsSection {
|
|||||||
$nomadCLI = [regex]::matches($nomadOutput, "(\d+.){2}\d+").Value
|
$nomadCLI = [regex]::matches($nomadOutput, "(\d+.){2}\d+").Value
|
||||||
$nomadShenzhenOutput = Run-Command "ipa -version"
|
$nomadShenzhenOutput = Run-Command "ipa -version"
|
||||||
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
||||||
|
|
||||||
|
if ($os.IsLessThanMonterey) {
|
||||||
$toolList += @(
|
$toolList += @(
|
||||||
"Nomad CLI $nomadCLI",
|
"Nomad CLI $nomadCLI",
|
||||||
"Nomad shenzhen CLI $nomadShenzhen"
|
"Nomad shenzhen CLI $nomadShenzhen"
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
if ($os.IsLessThanBigSur) {
|
if ($os.IsLessThanBigSur) {
|
||||||
$xctool = Run-Command "xctool --version"
|
$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
|
"kextstat | grep 'com.intel.kext.intelhaxm'" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ Describe "Azure CLI" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Carthage" {
|
Describe "Carthage" -Skip:($os.IsMonterey) {
|
||||||
It "Carthage" {
|
It "Carthage" {
|
||||||
"carthage version" | Should -ReturnZeroExitCode
|
"carthage version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -24,20 +24,20 @@ Describe "Subversion" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "SwiftFormat" {
|
Describe "SwiftFormat" -Skip:($os.IsMonterey) {
|
||||||
It "SwiftFormat" {
|
It "SwiftFormat" {
|
||||||
"swiftformat --version" | Should -ReturnZeroExitCode
|
"swiftformat --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Describe "GnuPG" {
|
Describe "GnuPG" -Skip:($os.IsMonterey) {
|
||||||
It "GnuPG" {
|
It "GnuPG" {
|
||||||
"gpg --version" | Should -ReturnZeroExitCode
|
"gpg --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Clang/LLVM" {
|
Describe "Clang/LLVM" -Skip:($os.IsMonterey) {
|
||||||
It "Clang/LLVM is installed" {
|
It "Clang/LLVM is installed" {
|
||||||
"$(brew --prefix llvm)/bin/clang --version" | Should -ReturnZeroExitCode
|
"$(brew --prefix llvm)/bin/clang --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ Describe "Perl" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Helm" {
|
Describe "Helm" -Skip:($os.IsMonterey) {
|
||||||
It "Helm" {
|
It "Helm" {
|
||||||
"helm version --short" | Should -ReturnZeroExitCode
|
"helm version --short" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ Describe "bazel" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Aliyun CLI" {
|
Describe "Aliyun CLI" -Skip:($os.IsMonterey) {
|
||||||
It "Aliyun CLI" {
|
It "Aliyun CLI" {
|
||||||
"aliyun --version" | Should -ReturnZeroExitCode
|
"aliyun --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -139,25 +139,25 @@ Describe "wget" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "vagrant" -Skip:($os.IsBigSur) {
|
Describe "vagrant" -Skip:($os.IsHigherThanCatalina) {
|
||||||
It "vagrant" {
|
It "vagrant" {
|
||||||
"vagrant --version" | Should -ReturnZeroExitCode
|
"vagrant --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "virtualbox" -Skip:($os.IsBigSur) {
|
Describe "virtualbox" -Skip:($os.IsHigherThanCatalina) {
|
||||||
It "virtualbox" {
|
It "virtualbox" {
|
||||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "xctool" -Skip:($os.IsBigSur) {
|
Describe "xctool" -Skip:($os.IsHigherThanCatalina) {
|
||||||
It "xctool" {
|
It "xctool" {
|
||||||
"xctool --version" | Should -ReturnZeroExitCode
|
"xctool --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "R" -Skip:($os.IsBigSur) {
|
Describe "R" -Skip:($os.IsHigherThanCatalina) {
|
||||||
It "R" {
|
It "R" {
|
||||||
"R --version" | Should -ReturnZeroExitCode
|
"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 = $_} }
|
$testCases = Get-ToolsetValue -KeyPath gcc.versions | ForEach-Object { @{Version = $_} }
|
||||||
|
|
||||||
It "GCC <Version>" -TestCases $testCases {
|
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" {
|
It "vcpkg" {
|
||||||
"vcpkg version" | Should -ReturnZeroExitCode
|
"vcpkg version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Miniconda" {
|
Describe "Miniconda" -Skip:($os.IsMonterey) {
|
||||||
It "Conda" {
|
It "Conda" {
|
||||||
Get-EnvironmentVariable "CONDA" | Should -Not -BeNullOrEmpty
|
Get-EnvironmentVariable "CONDA" | Should -Not -BeNullOrEmpty
|
||||||
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
Describe "PHP" {
|
$os = Get-OSVersion
|
||||||
|
|
||||||
|
Describe "PHP" -Skip:($os.IsMonterey) {
|
||||||
Context "PHP" {
|
Context "PHP" {
|
||||||
It "PHP Path" {
|
It "PHP Path" {
|
||||||
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
|
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "RubyGems" {
|
Describe "RubyGems" {
|
||||||
$gemTestCases = Get-ToolsetValue -KeyPath "ruby.rubygems" | ForEach-Object {
|
$gemTestCases = Get-ToolsetValue -KeyPath "ruby.rubygems" | ForEach-Object {
|
||||||
@{gemName = $_}
|
@{gemName = $_}
|
||||||
@@ -17,7 +19,7 @@ Describe "Bundler" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nomad shenzhen CLI" {
|
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey) {
|
||||||
It "Nomad shenzhen CLI" {
|
It "Nomad shenzhen CLI" {
|
||||||
"ipa --version" | Should -ReturnZeroExitCode
|
"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" {
|
It "Sox is installed" {
|
||||||
"sox --version" | Should -ReturnZeroExitCode
|
"sox --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@ Describe "Audio device" -Skip:($os.IsHighSierra) {
|
|||||||
"SwitchAudioSource -c" | Should -ReturnZeroExitCode
|
"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)"
|
SwitchAudioSource -c | Should -BeLikeExactly "Soundflower (2ch)"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Describe "Xamarin NDK" {
|
|||||||
$ANDROID_SDK_DIR = Join-Path $env:HOME "Library" "Android" "sdk"
|
$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 = $_} }
|
$testCases = $androidNdkToolchains | ForEach-Object { @{AndroidNdkToolchain = $_} }
|
||||||
|
|
||||||
It "<AndroidNdkToolchain>" -TestCases $testCases {
|
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" {
|
It "Android NDK version r18b is installed" {
|
||||||
$ndk18BundlePath = Join-Path $ANDROID_SDK_DIR "ndk" "18.1.5063045" "source.properties"
|
$ndk18BundlePath = Join-Path $ANDROID_SDK_DIR "ndk" "18.1.5063045" "source.properties"
|
||||||
$rawContent = Get-Content $ndk18BundlePath -Raw
|
$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