mirror of
https://github.com/actions/runner-images.git
synced 2025-12-10 11:07:02 +00:00
[macOS] Remove macOS-11 related code due to the deprecation (#10383)
This commit is contained in:
@@ -139,10 +139,7 @@ function Set-AnkaVMVideoController {
|
||||
)
|
||||
|
||||
$command = "anka modify $VMName set display -c $Controller"
|
||||
# Apple Metal is available starting from Big Sur
|
||||
if (-not $ShortMacOSVersion.StartsWith("10.")) {
|
||||
$null = Invoke-AnkaCommand -Command $command
|
||||
}
|
||||
$null = Invoke-AnkaCommand -Command $command
|
||||
}
|
||||
|
||||
function Set-AnkaVMDisplayResolution {
|
||||
|
||||
@@ -17,14 +17,7 @@ sudo rm -f /var/vm/sleepimage
|
||||
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
|
||||
|
||||
# Disable Keyboard Setup Assistant window
|
||||
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
|
||||
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
|
||||
|
||||
# Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript
|
||||
# by creating a special Accessibility DB file (SIP must be disabled) and
|
||||
@@ -39,7 +32,6 @@ 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"
|
||||
|
||||
@@ -58,7 +50,7 @@ done
|
||||
rm -f ./add-certificate
|
||||
|
||||
# enable-automationmode-without-authentication
|
||||
if ! is_BigSur; then
|
||||
|
||||
retry=10
|
||||
while [[ $retry -gt 0 ]]; do
|
||||
{
|
||||
@@ -84,16 +76,15 @@ EOF
|
||||
sleep 10
|
||||
done
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
# test enable-automationmode-without-authentication
|
||||
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
||||
echo "Failed to enable enable-automationmode-without-authentication option"
|
||||
exit 1
|
||||
fi
|
||||
# test enable-automationmode-without-authentication
|
||||
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
||||
echo "Failed to enable enable-automationmode-without-authentication option"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create symlink for tests running
|
||||
|
||||
@@ -19,15 +19,9 @@ if [[ $arch == "arm64" ]]; then
|
||||
else
|
||||
image_label="macos-${label_version}"
|
||||
fi
|
||||
release_label="macOS-${label_version}"
|
||||
|
||||
if is_Ventura || is_Sonoma || is_Monterey; 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
|
||||
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}"
|
||||
|
||||
cat <<EOF > $imagedata_file
|
||||
[
|
||||
|
||||
@@ -10,11 +10,9 @@ echo "Installing aws..."
|
||||
awscliv2_pkg_path=$(download_with_retry "https://awscli.amazonaws.com/AWSCLIV2.pkg")
|
||||
sudo installer -pkg "$awscliv2_pkg_path" -target /
|
||||
|
||||
if ! is_BigSur; then
|
||||
echo "Installing aws sam cli..."
|
||||
brew tap aws/tap
|
||||
brew_smart_install aws-sam-cli
|
||||
fi
|
||||
echo "Installing aws sam cli..."
|
||||
brew tap aws/tap
|
||||
brew_smart_install aws-sam-cli
|
||||
|
||||
echo "Install aws cli session manager"
|
||||
brew install --cask session-manager-plugin
|
||||
|
||||
@@ -6,12 +6,6 @@
|
||||
|
||||
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.
|
||||
@@ -48,27 +42,22 @@ fi
|
||||
# Execute AppleScript to change security preferences
|
||||
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
|
||||
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
|
||||
} && break
|
||||
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
|
||||
} && 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
|
||||
else
|
||||
echo "Executing AppleScript to change security preferences"
|
||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
||||
fi
|
||||
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
|
||||
sleep 10
|
||||
done
|
||||
fi
|
||||
|
||||
# Validate "Parallels International GmbH" kext
|
||||
@@ -95,10 +84,8 @@ if is_Monterey; then
|
||||
echo "export PARALLELS_DMG_URL=$url" >> ${HOME}/.bashrc
|
||||
fi
|
||||
|
||||
if ! is_BigSur; then
|
||||
# Install Azure DevOps extension for Azure Command Line Interface
|
||||
az extension add -n azure-devops
|
||||
fi
|
||||
# Install Azure DevOps extension for Azure Command Line Interface
|
||||
az extension add -n azure-devops
|
||||
|
||||
# Invoke tests for all basic tools
|
||||
invoke_tests "BasicTools"
|
||||
|
||||
@@ -11,16 +11,13 @@ brew_smart_install "git"
|
||||
|
||||
git config --global --add safe.directory "*"
|
||||
|
||||
echo "Installing Git LFS"
|
||||
brew_smart_install "git-lfs"
|
||||
|
||||
if ! is_BigSur; then
|
||||
echo "Installing Git LFS"
|
||||
brew_smart_install "git-lfs"
|
||||
|
||||
# Update global git config
|
||||
git lfs install
|
||||
# Update system git config
|
||||
sudo git lfs install --system
|
||||
fi
|
||||
# Update global git config
|
||||
git lfs install
|
||||
# Update system git config
|
||||
sudo git lfs install --system
|
||||
|
||||
echo "Disable all the Git help messages..."
|
||||
git config --global advice.pushUpdateRejected false
|
||||
|
||||
@@ -16,7 +16,7 @@ echo Installing yarn...
|
||||
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
|
||||
bash $yarn_installer_path
|
||||
|
||||
if is_BigSur || is_Monterey; then
|
||||
if is_Monterey; then
|
||||
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
|
||||
for module in ${npm_global_packages[@]}; do
|
||||
echo "Install $module"
|
||||
|
||||
@@ -8,7 +8,7 @@ source ~/utils/utils.sh
|
||||
|
||||
echo "Installing Python Tooling"
|
||||
|
||||
if is_Monterey || is_BigSur; then
|
||||
if is_Monterey; 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,9 +33,7 @@ EOF
|
||||
fi
|
||||
|
||||
# Close Finder window
|
||||
if is_Veertu; then
|
||||
close_finder_window
|
||||
fi
|
||||
close_finder_window
|
||||
|
||||
echo "Brew Installing Python 3"
|
||||
brew_smart_install "python@3.12"
|
||||
|
||||
@@ -18,7 +18,7 @@ CARGO_HOME=$HOME/.cargo
|
||||
echo "Install common tools..."
|
||||
rustup component add rustfmt clippy
|
||||
|
||||
if is_BigSur || is_Monterey; then
|
||||
if is_Monterey; then
|
||||
cargo install bindgen-cli cbindgen cargo-audit cargo-outdated
|
||||
fi
|
||||
|
||||
|
||||
@@ -7,14 +7,7 @@
|
||||
source ~/utils/utils.sh
|
||||
|
||||
echo "Installing Swiftlint..."
|
||||
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
|
||||
elif is_Monterey; then
|
||||
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"
|
||||
|
||||
@@ -53,7 +53,7 @@ if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
||||
}
|
||||
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
|
||||
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
||||
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsBigSur)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ $packageManagement = $installedSoftware.AddHeader("Package Management")
|
||||
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
||||
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
||||
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
||||
}
|
||||
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
||||
@@ -118,17 +118,12 @@ $utilities.AddToolVersion("bazelisk", $(Get-BazeliskVersion))
|
||||
$utilities.AddToolVersion("bsdtar", $(Get-BsdtarVersion))
|
||||
$utilities.AddToolVersion("Curl", $(Get-CurlVersion))
|
||||
$utilities.AddToolVersion("Git", $(Get-GitVersion))
|
||||
if (-not $os.IsBigSur) {
|
||||
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
||||
}
|
||||
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
||||
$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 ($os.IsBigSur) {
|
||||
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
|
||||
}
|
||||
if ((-not $os.IsBigSur) -and (-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
||||
}
|
||||
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
||||
@@ -136,9 +131,6 @@ 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("pkg-config", $(Get-PKGConfigVersion))
|
||||
@@ -158,21 +150,14 @@ $utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
|
||||
|
||||
# Tools
|
||||
$tools = $installedSoftware.AddHeader("Tools")
|
||||
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))
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
|
||||
}
|
||||
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
|
||||
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
||||
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
||||
}
|
||||
$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)) {
|
||||
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
||||
@@ -193,13 +178,9 @@ $tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
||||
}
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
||||
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
||||
if (-not $os.IsBigSur) {
|
||||
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
||||
}
|
||||
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
||||
|
||||
# Linters
|
||||
$linters = $installedSoftware.AddHeader("Linters")
|
||||
@@ -225,7 +206,6 @@ $toolcache = $installedSoftware.AddHeader("Cached Tools")
|
||||
$toolcache.AddNodes($(Build-ToolcacheSection))
|
||||
|
||||
# Rust
|
||||
if (-not $os.IsBigSur) {
|
||||
$rust = $installedSoftware.AddHeader("Rust Tools")
|
||||
$rust.AddToolVersion("Cargo", $(Get-RustCargoVersion))
|
||||
$rust.AddToolVersion("Rust", $(Get-RustVersion))
|
||||
@@ -241,7 +221,6 @@ if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||
}
|
||||
$rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion))
|
||||
$rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion))
|
||||
}
|
||||
|
||||
# PowerShell
|
||||
$powerShell = $installedSoftware.AddHeader("PowerShell Tools")
|
||||
@@ -303,7 +282,7 @@ $android.AddTable($androidTable)
|
||||
$androidEnv = $android.AddHeader("Environment variables")
|
||||
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
|
||||
|
||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
||||
if ($os.IsMonterey) {
|
||||
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
||||
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
|
||||
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
|
||||
|
||||
@@ -367,11 +367,6 @@ 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()
|
||||
@@ -397,11 +392,6 @@ 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
|
||||
@@ -457,11 +447,6 @@ 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
|
||||
|
||||
@@ -236,7 +236,7 @@ function Build-XcodeSupportToolsSection {
|
||||
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
|
||||
|
||||
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
|
||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
||||
if ($os.IsMonterey) {
|
||||
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
|
||||
}
|
||||
|
||||
@@ -245,10 +245,5 @@ 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,7 +29,6 @@ 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")
|
||||
@@ -104,10 +103,6 @@ function Invoke-DownloadWithRetry {
|
||||
return $Path
|
||||
}
|
||||
|
||||
function isVeertu {
|
||||
return (Test-Path -Path "/Library/Application Support/Veertu")
|
||||
}
|
||||
|
||||
function Get-Architecture {
|
||||
$arch = arch
|
||||
if ($arch -ne "arm64") {
|
||||
|
||||
@@ -73,14 +73,6 @@ 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.IsBigSur -or $os.IsMonterey) {
|
||||
if ($os.IsMonterey) {
|
||||
$testCases += @(
|
||||
@{
|
||||
PackageName = "SDK tools"
|
||||
|
||||
@@ -2,13 +2,13 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Azure CLI" -Skip:($os.IsBigSur) {
|
||||
Describe "Azure CLI" {
|
||||
It "Azure CLI" {
|
||||
"az -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Azure DevOps CLI" -Skip:($os.IsBigSur) {
|
||||
Describe "Azure DevOps CLI" {
|
||||
It "az devops" {
|
||||
"az devops -h" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -62,12 +62,6 @@ Describe "Perl" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||
It "Helm" {
|
||||
"helm version --short" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Tcl/Tk" {
|
||||
It "libtcl" {
|
||||
"file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode
|
||||
@@ -117,12 +111,6 @@ Describe "bazel" {
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
@@ -147,19 +135,19 @@ Describe "wget" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "vagrant" {
|
||||
"vagrant --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "virtualbox" {
|
||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsBigSur) {
|
||||
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "R" {
|
||||
"R --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -191,7 +179,7 @@ Describe "yq" {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "imagemagick" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "imagemagick" {
|
||||
"magick -version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ Describe "AWS" {
|
||||
It "AWS CLI" {
|
||||
"aws --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
It "AWS SAM CLI" -Skip:($os.IsBigSur) {
|
||||
It "AWS SAM CLI" {
|
||||
"sam --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||
Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
It "Check kext kernel modules" {
|
||||
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ Describe "Git" {
|
||||
It "git is installed" {
|
||||
"git --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
It "git lfs is installed" -Skip:($os.IsBigSur) {
|
||||
It "git lfs is installed" {
|
||||
"git lfs version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "PHP" {
|
||||
Context "PHP" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
Context "PHP" -Skip:($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.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
Context "Composer" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||
It "Composer" {
|
||||
"composer --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||
|
||||
$os = Get-OSVersion
|
||||
|
||||
Describe "Rust" -Skip:($os.IsBigSur) {
|
||||
Describe "Rust" {
|
||||
Context "Rust" {
|
||||
It "Rustup is installed" {
|
||||
"rustup --version" | Should -ReturnZeroExitCode
|
||||
|
||||
@@ -35,23 +35,8 @@ Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Screen Resolution" -Skip:(isVeertu) {
|
||||
It "Screen Resolution" {
|
||||
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885|1920 x 1080"
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Open windows" -Skip:(isVeertu) {
|
||||
It "Opened windows not found" {
|
||||
'tell application id "com.apple.systemevents" to get every window of (every process whose class of windows contains window)' | Tee-Object /tmp/windows.osascript
|
||||
$cmd = "osascript /tmp/windows.osascript"
|
||||
$openWindows = bash -c $cmd
|
||||
$openWindows.Split(",").Trim() | Where-Object { $_ -notmatch "NotificationCenter" } | Should -BeNullOrEmpty
|
||||
}
|
||||
}
|
||||
|
||||
Describe "AutomationModeTool" {
|
||||
It "Does not require user authentication" -Skip:($os.IsBigSur) {
|
||||
It "Does not require user authentication" {
|
||||
automationmodetool | Out-String | Should -Match "DOES NOT REQUIRE"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ if ($os.IsVentura -or $os.IsSonoma) {
|
||||
$XAMARIN_IOS_VERSIONS = @()
|
||||
$XAMARIN_MAC_VERSIONS = @()
|
||||
$XAMARIN_ANDROID_VERSIONS = @()
|
||||
} elseif ($os.IsBigSur -or $os.IsMonterey) {
|
||||
} elseif ($os.IsMonterey) {
|
||||
$MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions
|
||||
$XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions
|
||||
$XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_versions
|
||||
|
||||
@@ -1,307 +0,0 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
vsphere = {
|
||||
source = "github.com/hashicorp/vsphere"
|
||||
version = "~> 1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
image_folder = "/Users/${var.vm_username}/image-generation"
|
||||
}
|
||||
|
||||
variable "baseimage_name" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "build_id" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "cluster_or_esxi_host" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "esxi_datastore" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "github_api_pat" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "macos11"
|
||||
}
|
||||
|
||||
variable "output_folder" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_datacenter" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vcenter_server" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_username" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vm_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vm_username" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "xcode_install_sas" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "xcode_install_storage_url" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
source "vsphere-clone" "template" {
|
||||
CPUs = "5"
|
||||
NestedHV = "true"
|
||||
RAM = "24576"
|
||||
cpu_cores = "5"
|
||||
datacenter = "${var.vcenter_datacenter}"
|
||||
datastore = "${var.esxi_datastore}"
|
||||
folder = "${var.output_folder}"
|
||||
host = "${var.cluster_or_esxi_host}"
|
||||
insecure_connection = true
|
||||
password = "${var.vcenter_password}"
|
||||
shutdown_timeout = "15m"
|
||||
ssh_password = "${var.vm_password}"
|
||||
ssh_username = "${var.vm_username}"
|
||||
template = "${var.baseimage_name}"
|
||||
username = "${var.vcenter_username}"
|
||||
vcenter_server = "${var.vcenter_server}"
|
||||
vm_name = "${var.build_id}"
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.vsphere-clone.template"]
|
||||
|
||||
provisioner "shell" {
|
||||
inline = ["mkdir ${local.image_folder}"]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/"
|
||||
sources = [
|
||||
"${path.root}/../assets/xamarin-selector",
|
||||
"${path.root}/../scripts/tests",
|
||||
"${path.root}/../scripts/docs-gen",
|
||||
"${path.root}/../scripts/helpers"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/docs-gen/"
|
||||
source = "${path.root}/../../../helpers/software-report-base"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/add-certificate.swift"
|
||||
source = "${path.root}/../assets/add-certificate.swift"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/.bashrc"
|
||||
source = "${path.root}/../assets/bashrc"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/.bash_profile"
|
||||
source = "${path.root}/../assets/bashprofile"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
inline = [ "mkdir ~/bootstrap" ]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/bootstrap"
|
||||
source = "${path.root}/../assets/bootstrap-provisioner/"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/toolset.json"
|
||||
source = "${path.root}/../toolsets/toolset-11.json"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = [
|
||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
||||
"mkdir ~/utils",
|
||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
|
||||
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
|
||||
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
|
||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
||||
"${path.root}/../scripts/build/install-homebrew.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
||||
execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
||||
"${path.root}/../scripts/build/configure-network-interface-detection.sh",
|
||||
"${path.root}/../scripts/build/configure-autologin.sh",
|
||||
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
||||
"${path.root}/../scripts/build/configure-screensaver.sh",
|
||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
|
||||
"${path.root}/../scripts/build/configure-shell.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
||||
"${path.root}/../scripts/build/configure-ssh.sh",
|
||||
"${path.root}/../scripts/build/configure-machine.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
pause_before = "30s"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-windows.sh",
|
||||
"${path.root}/../scripts/build/install-powershell.sh",
|
||||
"${path.root}/../scripts/build/install-dotnet.sh",
|
||||
"${path.root}/../scripts/build/install-python.sh",
|
||||
"${path.root}/../scripts/build/install-azcopy.sh",
|
||||
"${path.root}/../scripts/build/install-openssl.sh",
|
||||
"${path.root}/../scripts/build/install-ruby.sh",
|
||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||
"${path.root}/../scripts/build/install-git.sh",
|
||||
"${path.root}/../scripts/build/install-mongodb.sh",
|
||||
"${path.root}/../scripts/build/install-node.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-actions-cache.sh",
|
||||
"${path.root}/../scripts/build/install-common-utils.sh",
|
||||
"${path.root}/../scripts/build/install-llvm.sh",
|
||||
"${path.root}/../scripts/build/install-golang.sh",
|
||||
"${path.root}/../scripts/build/install-swiftlint.sh",
|
||||
"${path.root}/../scripts/build/install-openjdk.sh",
|
||||
"${path.root}/../scripts/build/install-aws-tools.sh",
|
||||
"${path.root}/../scripts/build/install-gcc.sh",
|
||||
"${path.root}/../scripts/build/install-haskell.sh",
|
||||
"${path.root}/../scripts/build/install-cocoapods.sh",
|
||||
"${path.root}/../scripts/build/install-android-sdk.sh",
|
||||
"${path.root}/../scripts/build/install-xamarin.sh",
|
||||
"${path.root}/../scripts/build/install-visualstudio.sh",
|
||||
"${path.root}/../scripts/build/install-nvm.sh",
|
||||
"${path.root}/../scripts/build/install-apache.sh",
|
||||
"${path.root}/../scripts/build/install-nginx.sh",
|
||||
"${path.root}/../scripts/build/install-postgresql.sh",
|
||||
"${path.root}/../scripts/build/install-audiodevice.sh",
|
||||
"${path.root}/../scripts/build/install-vcpkg.sh",
|
||||
"${path.root}/../scripts/build/install-miniconda.sh",
|
||||
"${path.root}/../scripts/build/install-safari.sh",
|
||||
"${path.root}/../scripts/build/install-chrome.sh",
|
||||
"${path.root}/../scripts/build/install-edge.sh",
|
||||
"${path.root}/../scripts/build/install-firefox.sh",
|
||||
"${path.root}/../scripts/build/install-pypy.sh",
|
||||
"${path.root}/../scripts/build/install-pipx-packages.sh",
|
||||
"${path.root}/../scripts/build/install-bicep.sh",
|
||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
||||
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "ruby {{ .Path }}"
|
||||
script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||
inline = [
|
||||
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
|
||||
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${path.root}/../../image-output/"
|
||||
direction = "download"
|
||||
source = "${local.image_folder}/output/*"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-hostname.sh",
|
||||
"${path.root}/../scripts/build/configure-system.sh"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,313 +0,0 @@
|
||||
packer {
|
||||
required_plugins {
|
||||
vsphere = {
|
||||
source = "github.com/hashicorp/vsphere"
|
||||
version = "~> 1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
locals {
|
||||
image_folder = "/Users/${var.vm_username}/image-generation"
|
||||
}
|
||||
|
||||
variable "baseimage_name" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "build_id" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "cluster_or_esxi_host" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "esxi_datastore" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "github_api_pat" {
|
||||
type = string
|
||||
default = ""
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "image_os" {
|
||||
type = string
|
||||
default = "macos12"
|
||||
}
|
||||
|
||||
variable "output_folder" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_datacenter" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vcenter_server" {
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "vcenter_username" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vm_password" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "vm_username" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "xcode_install_sas" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
variable "xcode_install_storage_url" {
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
source "vsphere-clone" "template" {
|
||||
CPUs = "5"
|
||||
NestedHV = "true"
|
||||
RAM = "24576"
|
||||
cpu_cores = "5"
|
||||
datacenter = "${var.vcenter_datacenter}"
|
||||
datastore = "${var.esxi_datastore}"
|
||||
folder = "${var.output_folder}"
|
||||
host = "${var.cluster_or_esxi_host}"
|
||||
insecure_connection = true
|
||||
password = "${var.vcenter_password}"
|
||||
shutdown_timeout = "15m"
|
||||
ssh_password = "${var.vm_password}"
|
||||
ssh_username = "${var.vm_username}"
|
||||
template = "${var.baseimage_name}"
|
||||
username = "${var.vcenter_username}"
|
||||
vcenter_server = "${var.vcenter_server}"
|
||||
vm_name = "${var.build_id}"
|
||||
}
|
||||
|
||||
build {
|
||||
sources = ["source.vsphere-clone.template"]
|
||||
|
||||
provisioner "shell" {
|
||||
inline = ["mkdir ${local.image_folder}"]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/"
|
||||
sources = [
|
||||
"${path.root}/../assets/xamarin-selector",
|
||||
"${path.root}/../scripts/tests",
|
||||
"${path.root}/../scripts/docs-gen",
|
||||
"${path.root}/../scripts/helpers"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/docs-gen/"
|
||||
source = "${path.root}/../../../helpers/software-report-base"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/add-certificate.swift"
|
||||
source = "${path.root}/../assets/add-certificate.swift"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/.bashrc"
|
||||
source = "${path.root}/../assets/bashrc"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/.bash_profile"
|
||||
source = "${path.root}/../assets/bashprofile"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
inline = [ "mkdir ~/bootstrap" ]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "~/bootstrap"
|
||||
source = "${path.root}/../assets/bootstrap-provisioner/"
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${local.image_folder}/toolset.json"
|
||||
source = "${path.root}/../toolsets/toolset-12.json"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||
inline = [
|
||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
||||
"mkdir ~/utils",
|
||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
|
||||
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
|
||||
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
|
||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
||||
"${path.root}/../scripts/build/install-homebrew.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
||||
execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-network-interface-detection.sh",
|
||||
"${path.root}/../scripts/build/configure-autologin.sh",
|
||||
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
||||
"${path.root}/../scripts/build/configure-screensaver.sh",
|
||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
|
||||
"${path.root}/../scripts/build/configure-shell.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
||||
"${path.root}/../scripts/build/configure-ssh.sh",
|
||||
"${path.root}/../scripts/build/configure-machine.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
pause_before = "30s"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-windows.sh",
|
||||
"${path.root}/../scripts/build/install-powershell.sh",
|
||||
"${path.root}/../scripts/build/install-dotnet.sh",
|
||||
"${path.root}/../scripts/build/install-python.sh",
|
||||
"${path.root}/../scripts/build/install-azcopy.sh",
|
||||
"${path.root}/../scripts/build/install-openssl.sh",
|
||||
"${path.root}/../scripts/build/install-ruby.sh",
|
||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||
"${path.root}/../scripts/build/install-git.sh",
|
||||
"${path.root}/../scripts/build/install-mongodb.sh",
|
||||
"${path.root}/../scripts/build/install-node.sh",
|
||||
"${path.root}/../scripts/build/install-common-utils.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
||||
expect_disconnect = true
|
||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/install-actions-cache.sh",
|
||||
"${path.root}/../scripts/build/install-llvm.sh",
|
||||
"${path.root}/../scripts/build/install-golang.sh",
|
||||
"${path.root}/../scripts/build/install-swiftlint.sh",
|
||||
"${path.root}/../scripts/build/install-openjdk.sh",
|
||||
"${path.root}/../scripts/build/install-php.sh",
|
||||
"${path.root}/../scripts/build/install-aws-tools.sh",
|
||||
"${path.root}/../scripts/build/install-rust.sh",
|
||||
"${path.root}/../scripts/build/install-gcc.sh",
|
||||
"${path.root}/../scripts/build/install-haskell.sh",
|
||||
"${path.root}/../scripts/build/install-cocoapods.sh",
|
||||
"${path.root}/../scripts/build/install-android-sdk.sh",
|
||||
"${path.root}/../scripts/build/install-xamarin.sh",
|
||||
"${path.root}/../scripts/build/install-visualstudio.sh",
|
||||
"${path.root}/../scripts/build/install-nvm.sh",
|
||||
"${path.root}/../scripts/build/install-apache.sh",
|
||||
"${path.root}/../scripts/build/install-nginx.sh",
|
||||
"${path.root}/../scripts/build/install-postgresql.sh",
|
||||
"${path.root}/../scripts/build/install-audiodevice.sh",
|
||||
"${path.root}/../scripts/build/install-vcpkg.sh",
|
||||
"${path.root}/../scripts/build/install-miniconda.sh",
|
||||
"${path.root}/../scripts/build/install-safari.sh",
|
||||
"${path.root}/../scripts/build/install-chrome.sh",
|
||||
"${path.root}/../scripts/build/install-edge.sh",
|
||||
"${path.root}/../scripts/build/install-firefox.sh",
|
||||
"${path.root}/../scripts/build/install-pypy.sh",
|
||||
"${path.root}/../scripts/build/install-pipx-packages.sh",
|
||||
"${path.root}/../scripts/build/install-bicep.sh",
|
||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
||||
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "ruby {{ .Path }}"
|
||||
script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||
script = "${path.root}/../scripts/build/Update-XcodeSimulators.ps1"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||
inline = [
|
||||
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
|
||||
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
||||
]
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
destination = "${path.root}/../../image-output/"
|
||||
direction = "download"
|
||||
source = "${local.image_folder}/output/*"
|
||||
}
|
||||
|
||||
provisioner "shell" {
|
||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
||||
scripts = [
|
||||
"${path.root}/../scripts/build/configure-hostname.sh",
|
||||
"${path.root}/../scripts/build/configure-system.sh"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,8 @@
|
||||
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
|
||||
- `version` points to Xcode version that will be downloaded and installed
|
||||
- `symlinks` describes the list of aliases where symlinks will be created to
|
||||
- `install_runtimes` is boolean function to control over the related simulator runtimes
|
||||
- `sha256` used to check integrity of the Xcode installer file
|
||||
- `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property)
|
||||
**Example:** `"11.2"`
|
||||
|
||||
@@ -22,8 +24,8 @@
|
||||
|
||||
```json
|
||||
"versions": [
|
||||
{ "link": "12.2", "version": "12.2.0" },
|
||||
{ "link": "11.7", "version": "11.7.0", "symlinks": ["11.7_beta"] }
|
||||
{ "link": "16_beta_4", "version": "16.0.0-Beta.4+16A5211f", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4270cd8021b2f7f512ce91bfc4423b25bccab36cdab21834709d798c8daade72"},
|
||||
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
||||
]
|
||||
```
|
||||
|
||||
|
||||
@@ -1,358 +0,0 @@
|
||||
{
|
||||
"xcode": {
|
||||
"default": "13.2.1",
|
||||
"x64": {
|
||||
"versions": [
|
||||
{ "link": "13.2.1", "version": "13.2.1+13C100", "symlinks": ["13.2"], "sha256": "D3BFCC6225D531587490C0DFC0926C80B7D50D17671DC8F25868F965F5D65F9D" },
|
||||
{ "link": "13.1", "version": "13.1.0+13A1030d", "sha256": "4EFDEEA0EEEDA1957BB394128CCCD1DAAC3CB0A3D074224E0FAB90855CCA09C4" },
|
||||
{ "link": "13.0", "version": "13.0.0+13A233", "sha256": "1D8257750A4E0333A2B372B32381BE5EC9B29704C8A0D44CE2E6D26D1CF4301E" },
|
||||
{ "link": "12.5.1", "version": "12.5.1+12E507", "symlinks": ["12.5"], "sha256": "2592BF58E654440B3DF7062219DBBD24BDF345FAE6BA000756D6D5B1166A7168" },
|
||||
{ "link": "12.4", "version": "12.4.0+12D4e", "sha256": "CC8D10155258F9DDAA5E422AB8F50E6058758C95208E58E59B5DB1DB033CE2FF" },
|
||||
{ "link": "11.7", "version": "11.7.0-GM+11E801a", "symlinks": ["11.7_beta"], "sha256": "A53FDEAB92326CD9BF93A1B5FAE01E3D658B04DA60DFF5DE74141CABA0808B03" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"xamarin": {
|
||||
"vsmac": {
|
||||
"default": "2022",
|
||||
"versions": [ "2019", "2022" ]
|
||||
},
|
||||
"mono_versions": [
|
||||
"6.12.0.188"
|
||||
],
|
||||
"ios_versions": [
|
||||
"15.8.0.3", "15.6.0.3", "15.4.0.0", "15.2.0.17", "15.0.0.6", "14.20.0.24", "14.16.0.5", "14.14.2.5", "14.10.0.4", "14.8.0.3", "14.6.0.15", "14.4.1.3", "14.2.0.12", "14.0.0.0", "13.20.2.2"
|
||||
],
|
||||
"mac_versions": [
|
||||
"8.8.0.3", "8.6.0.3", "8.4.0.0", "8.2.0.17", "7.14.0.27", "7.10.0.5", "7.8.2.5", "7.4.0.10", "7.2.0.3", "7.0.0.15", "6.22.1.26", "6.20.2.2"
|
||||
],
|
||||
"android_versions": [
|
||||
"12.2.8.3", "12.1.0.2", "12.0.0.3", "11.3.0.4", "11.2.2.1", "11.1.0.26", "11.0.2.0"
|
||||
],
|
||||
"bundle_default": "6_12_12",
|
||||
"bundles": [
|
||||
{
|
||||
"symlink": "6_12_16",
|
||||
"mono":"6.12",
|
||||
"ios": "15.8",
|
||||
"mac": "8.8",
|
||||
"android": "12.2"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_15",
|
||||
"mono":"6.12",
|
||||
"ios": "15.8",
|
||||
"mac": "8.8",
|
||||
"android": "12.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_14",
|
||||
"mono":"6.12",
|
||||
"ios": "15.8",
|
||||
"mac": "8.8",
|
||||
"android": "12.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_13",
|
||||
"mono":"6.12",
|
||||
"ios": "15.6",
|
||||
"mac": "8.6",
|
||||
"android": "12.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_12",
|
||||
"mono":"6.12",
|
||||
"ios": "15.4",
|
||||
"mac": "8.4",
|
||||
"android": "12.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_11",
|
||||
"mono":"6.12",
|
||||
"ios": "15.2",
|
||||
"mac": "8.2",
|
||||
"android": "12.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_10",
|
||||
"mono":"6.12",
|
||||
"ios": "15.0",
|
||||
"mac": "7.14",
|
||||
"android": "11.3"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_9",
|
||||
"mono":"6.12",
|
||||
"ios": "14.20",
|
||||
"mac": "7.14",
|
||||
"android": "11.3"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_8",
|
||||
"mono":"6.12",
|
||||
"ios": "14.16",
|
||||
"mac": "7.10",
|
||||
"android": "11.2"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_7",
|
||||
"mono":"6.12",
|
||||
"ios": "14.14",
|
||||
"mac": "7.8",
|
||||
"android": "11.2"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_6",
|
||||
"mono":"6.12",
|
||||
"ios": "14.10",
|
||||
"mac": "7.4",
|
||||
"android": "11.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_5",
|
||||
"mono":"6.12",
|
||||
"ios": "14.8",
|
||||
"mac": "7.2",
|
||||
"android": "11.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_4",
|
||||
"mono":"6.12",
|
||||
"ios": "14.6",
|
||||
"mac": "7.0",
|
||||
"android": "11.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_3",
|
||||
"mono":"6.12",
|
||||
"ios": "14.4",
|
||||
"mac": "6.22",
|
||||
"android": "11.1"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_2",
|
||||
"mono":"6.12",
|
||||
"ios": "14.2",
|
||||
"mac": "6.20",
|
||||
"android": "11.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_1",
|
||||
"mono":"6.12",
|
||||
"ios": "14.0",
|
||||
"mac": "6.20",
|
||||
"android": "11.0"
|
||||
},
|
||||
{
|
||||
"symlink": "6_12_0",
|
||||
"mono":"6.12",
|
||||
"ios": "13.20",
|
||||
"mac": "6.20",
|
||||
"android": "11.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
"java": {
|
||||
"x64": {
|
||||
"default": "8",
|
||||
"versions": [ "8", "11", "17", "21"]
|
||||
}
|
||||
},
|
||||
"android": {
|
||||
"cmdline-tools": "commandlinetools-mac-9123335_latest.zip",
|
||||
"platform_min_version": "31",
|
||||
"build_tools_min_version": "31.0.0",
|
||||
"extras": [
|
||||
"android;m2repository", "google;m2repository", "google;google_play_services"
|
||||
],
|
||||
"addons": [],
|
||||
"additional_tools": [
|
||||
"cmake;3.10.2.4988404",
|
||||
"cmake;3.18.1",
|
||||
"cmake;3.22.1"
|
||||
],
|
||||
"ndk": {
|
||||
"default": "25",
|
||||
"versions": [
|
||||
"24", "25", "26"
|
||||
]
|
||||
}
|
||||
},
|
||||
"powershellModules": [
|
||||
{"name": "Az"},
|
||||
{"name": "MarkdownPS"},
|
||||
{"name": "Pester"},
|
||||
{"name": "PSScriptAnalyzer"}
|
||||
],
|
||||
"npm": {
|
||||
"global_packages": [
|
||||
{ "name": "appcenter-cli", "test": "appcenter --version" },
|
||||
{ "name": "newman", "test": "newman --version" }
|
||||
]
|
||||
},
|
||||
"brew": {
|
||||
"common_packages": [
|
||||
"aliyun-cli",
|
||||
"ant",
|
||||
"aria2",
|
||||
"bazelisk",
|
||||
"carthage",
|
||||
"cmake",
|
||||
"colima",
|
||||
"gh",
|
||||
"gnupg",
|
||||
"gnu-tar",
|
||||
"helm",
|
||||
"kotlin",
|
||||
"libpq",
|
||||
"p7zip",
|
||||
"packer",
|
||||
"perl",
|
||||
"pkg-config",
|
||||
"sbt",
|
||||
"subversion",
|
||||
"swiftformat",
|
||||
"swig",
|
||||
"zstd",
|
||||
"zlib",
|
||||
"libxext",
|
||||
"libxft",
|
||||
"tcl-tk"
|
||||
],
|
||||
"cask_packages": [
|
||||
"julia"
|
||||
]
|
||||
},
|
||||
"gcc": {
|
||||
"versions": [
|
||||
"10",
|
||||
"11",
|
||||
"12"
|
||||
]
|
||||
},
|
||||
"toolcache": [
|
||||
{
|
||||
"name": "Python",
|
||||
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
|
||||
"platform" : "darwin",
|
||||
"arch": {
|
||||
"x64": {
|
||||
"versions": [
|
||||
"3.7.*",
|
||||
"3.8.*",
|
||||
"3.9.*",
|
||||
"3.10.*",
|
||||
"3.11.*",
|
||||
"3.12.*"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "PyPy",
|
||||
"platform" : "darwin",
|
||||
"arch": {
|
||||
"x64": {
|
||||
"versions": [
|
||||
"2.7",
|
||||
"3.7",
|
||||
"3.8",
|
||||
"3.9",
|
||||
"3.10"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Node",
|
||||
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
|
||||
"platform" : "darwin",
|
||||
"arch": {
|
||||
"x64": {
|
||||
"versions": [
|
||||
"16.*",
|
||||
"18.*",
|
||||
"20.*"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Go",
|
||||
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
|
||||
"platform" : "darwin",
|
||||
"arch": {
|
||||
"x64": {
|
||||
"variable_template" : "GOROOT_{0}_{1}_X64",
|
||||
"versions": [
|
||||
"1.20.*",
|
||||
"1.21.*"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Ruby",
|
||||
"arch": {
|
||||
"x64": {
|
||||
"versions": [
|
||||
"3.0.*",
|
||||
"3.1.*"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"pipx": [
|
||||
{
|
||||
"package": "yamllint",
|
||||
"cmd": "yamllint --version"
|
||||
}
|
||||
],
|
||||
"dotnet": {
|
||||
"arch":{
|
||||
"x64": {
|
||||
"versions": [
|
||||
"6.0",
|
||||
"7.0",
|
||||
"8.0"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"ruby": {
|
||||
"default": "3.0",
|
||||
"rubygems": [
|
||||
"xcode-install",
|
||||
"cocoapods",
|
||||
"nomad-cli",
|
||||
"xcpretty",
|
||||
"bundler",
|
||||
"fastlane",
|
||||
"jazzy"
|
||||
]
|
||||
},
|
||||
"go": {
|
||||
"default": "1.21"
|
||||
},
|
||||
"node": {
|
||||
"default": "18",
|
||||
"nvm_versions": [
|
||||
"16",
|
||||
"18",
|
||||
"20"
|
||||
]
|
||||
},
|
||||
"llvm": {
|
||||
"version": "15"
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "5.0"
|
||||
},
|
||||
"postgresql": {
|
||||
"version": "14"
|
||||
},
|
||||
"pwsh": {
|
||||
"version": "7.4"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user