mirror of
https://github.com/actions/runner-images.git
synced 2026-01-06 18:19:54 +08:00
[Mac OS] Configure template for Mac OS 14 ARM64 image (#8769)
* Configure template for Mac OS 14 ARM64 image * Change conditions for ruby
This commit is contained in:
committed by
GitHub
parent
f685533110
commit
df292beac6
@@ -30,13 +30,17 @@ function Get-OSVersion {
|
|||||||
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
$osVersionMajorMinor = $osVersion.Version.ToString(2)
|
||||||
$processorArchitecture = arch
|
$processorArchitecture = arch
|
||||||
return [PSCustomObject]@{
|
return [PSCustomObject]@{
|
||||||
Version = $osVersion.Version
|
Version = $osVersion.Version
|
||||||
Platform = $osVersion.Platform
|
Platform = $osVersion.Platform
|
||||||
IsBigSur = $osVersion.Version.Major -eq "11"
|
IsArm64 = $processorArchitecture -eq "arm64"
|
||||||
IsMonterey = $osVersion.Version.Major -eq "12"
|
IsBigSur = $osVersion.Version.Major -eq "11"
|
||||||
IsVentura = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64")
|
IsMonterey = $osVersion.Version.Major -eq "12"
|
||||||
|
IsVentura = $($osVersion.Version.Major -eq "13")
|
||||||
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
|
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
|
||||||
|
IsVenturaX64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64")
|
||||||
IsSonoma = $($osVersion.Version.Major -eq "14")
|
IsSonoma = $($osVersion.Version.Major -eq "14")
|
||||||
|
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
|
||||||
|
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ function Approve-XcodeLicense {
|
|||||||
Write-Host "Approving Xcode license for '$XcodeRootPath'..."
|
Write-Host "Approving Xcode license for '$XcodeRootPath'..."
|
||||||
$xcodeBuildPath = Get-XcodeToolPath -XcodeRootPath $XcodeRootPath -ToolName "xcodebuild"
|
$xcodeBuildPath = Get-XcodeToolPath -XcodeRootPath $XcodeRootPath -ToolName "xcodebuild"
|
||||||
|
|
||||||
if ($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
if ($os.IsVentura -or $os.IsSonoma) {
|
||||||
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" -Timeout 15
|
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" -Timeout 15
|
||||||
} else {
|
} else {
|
||||||
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept"
|
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ else
|
|||||||
fi
|
fi
|
||||||
release_label="macOS-${label_version}"
|
release_label="macOS-${label_version}"
|
||||||
|
|
||||||
if is_Ventura || is_Sonoma; then
|
if is_VenturaX64 || is_SonomaX64; then
|
||||||
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
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}"
|
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
# Close System Preferences window because in Ventura arm64 it is opened by default on Apperance tab
|
# Close System Preferences window because in Ventura arm64 it is opened by default on Apperance tab
|
||||||
if is_VenturaArm64; then
|
if is_Arm64; then
|
||||||
echo "Close System Preferences window"
|
echo "Close System Preferences window"
|
||||||
osascript -e 'tell application "System Preferences" to quit'
|
osascript -e 'tell application "System Preferences" to quit'
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ source ~/utils/utils.sh
|
|||||||
echo "Install openssl@1.1"
|
echo "Install openssl@1.1"
|
||||||
brew_smart_install "openssl@1.1"
|
brew_smart_install "openssl@1.1"
|
||||||
|
|
||||||
if ! is_VenturaArm64; then
|
if ! is_Arm64; then
|
||||||
# Symlink brew openssl@1.1 to `/usr/local/bin` as Homebrew refuses
|
# Symlink brew openssl@1.1 to `/usr/local/bin` as Homebrew refuses
|
||||||
ln -sf $(brew --prefix openssl@1.1)/bin/openssl /usr/local/bin/openssl
|
ln -sf $(brew --prefix openssl@1.1)/bin/openssl /usr/local/bin/openssl
|
||||||
else
|
else
|
||||||
@@ -12,7 +12,7 @@ else
|
|||||||
ln -sf $(brew --prefix openssl@1.1)/bin/openssl /opt/homebrew/bin/openssl
|
ln -sf $(brew --prefix openssl@1.1)/bin/openssl /opt/homebrew/bin/openssl
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! is_VenturaArm64; then
|
if ! is_Arm64; then
|
||||||
# Most of buildsystems and scripts look up ssl here
|
# Most of buildsystems and scripts look up ssl here
|
||||||
ln -sf $(brew --cellar openssl@1.1)/1.1* /usr/local/opt/openssl
|
ln -sf $(brew --cellar openssl@1.1)/1.1* /usr/local/opt/openssl
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ else
|
|||||||
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc"
|
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! is_VenturaArm64; then
|
if ! is_Arm64; then
|
||||||
echo "Install Ruby from toolset..."
|
echo "Install Ruby from toolset..."
|
||||||
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
||||||
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
||||||
|
|||||||
@@ -46,53 +46,44 @@ download_with_retries() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
is_VenturaArm64() {
|
is_Arm64() {
|
||||||
arch=$(get_arch)
|
[ "$(arch)" = "arm64" ]
|
||||||
if [ "$OSTYPE" = "darwin22" ] && [ $arch = "arm64" ]; then
|
|
||||||
true
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_Sonoma() {
|
is_Sonoma() {
|
||||||
if [ "$OSTYPE" = "darwin23" ]; then
|
[ "$OSTYPE" = "darwin23" ]
|
||||||
true
|
}
|
||||||
else
|
|
||||||
false
|
is_SonomaArm64() {
|
||||||
fi
|
is_Sonoma && is_Arm64
|
||||||
|
}
|
||||||
|
|
||||||
|
is_SonomaX64() {
|
||||||
|
is_Sonoma && ! is_Arm64
|
||||||
}
|
}
|
||||||
|
|
||||||
is_Ventura() {
|
is_Ventura() {
|
||||||
if [ "$OSTYPE" = "darwin22" ]; then
|
[ "$OSTYPE" = "darwin22" ]
|
||||||
true
|
}
|
||||||
else
|
|
||||||
false
|
is_VenturaArm64() {
|
||||||
fi
|
is_Ventura && is_Arm64
|
||||||
|
}
|
||||||
|
|
||||||
|
is_VenturaX64() {
|
||||||
|
is_Ventura && ! is_Arm64
|
||||||
}
|
}
|
||||||
|
|
||||||
is_Monterey() {
|
is_Monterey() {
|
||||||
if [ "$OSTYPE" = "darwin21" ]; then
|
[ "$OSTYPE" = "darwin21" ]
|
||||||
true
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_BigSur() {
|
is_BigSur() {
|
||||||
if [ "$OSTYPE" = "darwin20" ]; then
|
[ "$OSTYPE" = "darwin20" ]
|
||||||
true
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
is_Veertu() {
|
is_Veertu() {
|
||||||
if [ -d "/Library/Application Support/Veertu" ]; then
|
[ -d "/Library/Application Support/Veertu" ]
|
||||||
true
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get_toolset_path() {
|
get_toolset_path() {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ function Build-BrowserSection {
|
|||||||
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$nodes += @(
|
$nodes += @(
|
||||||
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
||||||
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
||||||
@@ -79,7 +79,7 @@ function Get-GeckodriverVersion {
|
|||||||
|
|
||||||
function Get-SeleniumVersion {
|
function Get-SeleniumVersion {
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVenturaArm64) {
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
$cellarPath = "/opt/homebrew/Cellar"
|
$cellarPath = "/opt/homebrew/Cellar"
|
||||||
} else {
|
} else {
|
||||||
$cellarPath = "/usr/local/Cellar"
|
$cellarPath = "/usr/local/Cellar"
|
||||||
|
|||||||
@@ -40,26 +40,26 @@ $languageAndRuntime.AddNodes($(Get-GccVersions))
|
|||||||
$languageAndRuntime.AddNodes($(Get-FortranVersions))
|
$languageAndRuntime.AddNodes($(Get-FortranVersions))
|
||||||
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
||||||
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
|
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
|
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
||||||
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
|
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
|
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
|
||||||
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
|
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
|
||||||
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
|
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
||||||
@@ -70,31 +70,31 @@ $packageManagement = $installedSoftware.AddHeader("Package Management")
|
|||||||
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
||||||
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
||||||
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
|
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
|
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
|
||||||
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
|
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
|
||||||
}
|
}
|
||||||
|
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
|
$packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
|
||||||
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
|
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
|
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
|
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
|
||||||
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
|
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
|
||||||
}
|
}
|
||||||
# Project Management
|
# Project Management
|
||||||
@@ -102,7 +102,7 @@ $projectManagement = $installedSoftware.AddHeader("Project Management")
|
|||||||
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
|
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
|
||||||
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
|
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
|
||||||
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,11 +124,11 @@ $utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
|
|||||||
if ($os.IsBigSur) {
|
if ($os.IsBigSur) {
|
||||||
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
|
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
|
||||||
}
|
}
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
||||||
}
|
}
|
||||||
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
|
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
|
||||||
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
|
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
|
||||||
}
|
}
|
||||||
@@ -138,7 +138,7 @@ if ($os.IsBigSur) {
|
|||||||
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
|
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
|
||||||
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
|
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
|
||||||
$utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
|
$utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
|
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
|
||||||
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
|
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
|
||||||
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
|
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
|
||||||
@@ -157,7 +157,7 @@ $tools = $installedSoftware.AddHeader("Tools")
|
|||||||
if ($os.IsBigSur) {
|
if ($os.IsBigSur) {
|
||||||
$tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion))
|
$tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion))
|
||||||
}
|
}
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
|
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
|
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
|
||||||
@@ -166,7 +166,7 @@ $tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersi
|
|||||||
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
||||||
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
||||||
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
|
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
|
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
|
||||||
@@ -175,26 +175,26 @@ if ($os.IsMonterey) {
|
|||||||
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
|
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
|
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
|
||||||
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
|
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
|
||||||
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
|
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
|
||||||
}
|
}
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$tools.AddToolVersion("Stack", $(Get-StackVersion))
|
$tools.AddToolVersion("Stack", $(Get-StackVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
||||||
|
|
||||||
# Linters
|
# Linters
|
||||||
$linters = $installedSoftware.AddHeader("Linters")
|
$linters = $installedSoftware.AddHeader("Linters")
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
|
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
|
||||||
}
|
}
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
|
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ if (-not $os.IsSonoma) {
|
|||||||
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
|
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
|
||||||
|
|
||||||
$rustPackages = $rust.AddHeader("Packages")
|
$rustPackages = $rust.AddHeader("Packages")
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
|
if (-not $os.IsVentura) {
|
||||||
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
|
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
|
||||||
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
|
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
|
||||||
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
|
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
|
||||||
@@ -238,13 +238,13 @@ $powerShellModules = $powerShell.AddHeader("PowerShell Modules")
|
|||||||
$powerShellModules.AddNodes($(Get-PowerShellModules))
|
$powerShellModules.AddNodes($(Get-PowerShellModules))
|
||||||
|
|
||||||
# Web Servers
|
# Web Servers
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$webServers = $installedSoftware.AddHeader("Web Servers")
|
$webServers = $installedSoftware.AddHeader("Web Servers")
|
||||||
$webServers.AddTable($(Build-WebServersSection))
|
$webServers.AddTable($(Build-WebServersSection))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Xamarin section
|
# Xamarin section
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
||||||
$xamarin = $installedSoftware.AddHeader("Xamarin")
|
$xamarin = $installedSoftware.AddHeader("Xamarin")
|
||||||
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
|
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
|
||||||
$vsForMac.AddTable($(Build-VSMacTable))
|
$vsForMac.AddTable($(Build-VSMacTable))
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ function Get-JavaVersions {
|
|||||||
$defaultJavaPath = (Get-Item env:JAVA_HOME).value
|
$defaultJavaPath = (Get-Item env:JAVA_HOME).value
|
||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVenturaArm64) {
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
$javaVersions = Get-Item env:JAVA_HOME_*_arm64
|
$javaVersions = Get-Item env:JAVA_HOME_*_arm64
|
||||||
} else {
|
} else {
|
||||||
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ function Build-ToolcacheSection {
|
|||||||
|
|
||||||
$nodes = @()
|
$nodes = @()
|
||||||
|
|
||||||
if (-not $os.IsVenturaArm64) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
||||||
$nodes += @(
|
$nodes += @(
|
||||||
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List"),
|
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List"),
|
||||||
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
|
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
|
||||||
|
|||||||
237
images/macos/templates/macOS-14.arm64.anka.pkr.hcl
Normal file
237
images/macos/templates/macOS-14.arm64.anka.pkr.hcl
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
packer {
|
||||||
|
required_plugins {
|
||||||
|
veertu-anka = {
|
||||||
|
version = ">= v3.2.0"
|
||||||
|
source = "github.com/veertuinc/veertu-anka"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "source_vm_name" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "source_vm_tag" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "build_id" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "vm_username" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "vm_password" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "github_api_pat" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "xcode_install_storage_url" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "xcode_install_sas" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "vcpu_count" {
|
||||||
|
type = string
|
||||||
|
default = "6"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "ram_size" {
|
||||||
|
type = string
|
||||||
|
default = "8G"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "image_os" {
|
||||||
|
type = string
|
||||||
|
default = "macos14"
|
||||||
|
}
|
||||||
|
|
||||||
|
source "veertu-anka-vm-clone" "template" {
|
||||||
|
vm_name = "${var.build_id}"
|
||||||
|
source_vm_name = "${var.source_vm_name}"
|
||||||
|
source_vm_tag = "${var.source_vm_tag}"
|
||||||
|
vcpu_count = "${var.vcpu_count}"
|
||||||
|
ram_size = "${var.ram_size}"
|
||||||
|
stop_vm = "true"
|
||||||
|
log_level = "debug"
|
||||||
|
}
|
||||||
|
|
||||||
|
build {
|
||||||
|
sources = [
|
||||||
|
"source.veertu-anka-vm-clone.template"
|
||||||
|
]
|
||||||
|
provisioner "shell" {
|
||||||
|
inline = [
|
||||||
|
"mkdir ~/image-generation"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "image-generation/"
|
||||||
|
sources = [
|
||||||
|
"./provision/assets",
|
||||||
|
"./tests",
|
||||||
|
"./software-report",
|
||||||
|
"./helpers"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "image-generation/software-report/"
|
||||||
|
source = "../../helpers/software-report-base"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "image-generation/add-certificate.swift"
|
||||||
|
source = "./provision/configuration/add-certificate.swift"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = ".bashrc"
|
||||||
|
source = "./provision/configuration/environment/bashrc"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = ".bash_profile"
|
||||||
|
source = "./provision/configuration/environment/bashprofile"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "./"
|
||||||
|
source = "./provision/utils"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
inline = [
|
||||||
|
"mkdir ~/bootstrap"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "bootstrap"
|
||||||
|
source = "./provision/bootstrap-provisioner/"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "image-generation/toolset.json"
|
||||||
|
source = "./toolsets/toolset-14.json"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
scripts = [
|
||||||
|
"./provision/core/xcode-clt.sh",
|
||||||
|
"./provision/core/homebrew.sh",
|
||||||
|
"./provision/core/rosetta.sh"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
scripts = [
|
||||||
|
"./provision/configuration/configure-tccdb-macos.sh",
|
||||||
|
"./provision/configuration/disable-auto-updates.sh",
|
||||||
|
"./provision/configuration/ntpconf.sh",
|
||||||
|
"./provision/configuration/shell-change.sh"
|
||||||
|
]
|
||||||
|
environment_vars = [
|
||||||
|
"PASSWORD=${var.vm_password}",
|
||||||
|
"USERNAME=${var.vm_username}"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
scripts = [
|
||||||
|
"./provision/configuration/preimagedata.sh",
|
||||||
|
"./provision/configuration/configure-ssh.sh",
|
||||||
|
"./provision/configuration/configure-machine.sh"
|
||||||
|
]
|
||||||
|
environment_vars = [
|
||||||
|
"IMAGE_VERSION=${var.build_id}",
|
||||||
|
"IMAGE_OS=${var.image_os}",
|
||||||
|
"PASSWORD=${var.vm_password}"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
script = "./provision/core/reboot.sh"
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
|
expect_disconnect = true
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
pause_before = "30s"
|
||||||
|
scripts = [
|
||||||
|
"./provision/core/open_windows_check.sh",
|
||||||
|
"./provision/core/powershell.sh",
|
||||||
|
"./provision/core/mono.sh",
|
||||||
|
"./provision/core/dotnet.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",
|
||||||
|
"./provision/core/commonutils.sh"
|
||||||
|
]
|
||||||
|
environment_vars = [
|
||||||
|
"API_PAT=${var.github_api_pat}",
|
||||||
|
"USER_PASSWORD=${var.vm_password}"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
script = "./provision/core/xcode.ps1"
|
||||||
|
environment_vars = [
|
||||||
|
"XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}",
|
||||||
|
"XCODE_INSTALL_SAS=${var.xcode_install_sas}"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
script = "./provision/core/reboot.sh"
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
|
expect_disconnect = true
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
scripts = [
|
||||||
|
"./provision/core/action-archive-cache.sh",
|
||||||
|
"./provision/core/llvm.sh",
|
||||||
|
"./provision/core/openjdk.sh",
|
||||||
|
"./provision/core/aws.sh",
|
||||||
|
"./provision/core/rust.sh",
|
||||||
|
"./provision/core/gcc.sh",
|
||||||
|
"./provision/core/cocoapods.sh",
|
||||||
|
"./provision/core/android-toolsets.sh",
|
||||||
|
"./provision/core/safari.sh",
|
||||||
|
"./provision/core/chrome.sh",
|
||||||
|
"./provision/core/bicep.sh",
|
||||||
|
"./provision/core/codeql-bundle.sh"
|
||||||
|
]
|
||||||
|
environment_vars = [
|
||||||
|
"API_PAT=${var.github_api_pat}"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
script = "./provision/core/delete-duplicate-sims.rb"
|
||||||
|
execute_command = "source $HOME/.bash_profile; ruby {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
inline = [
|
||||||
|
"pwsh -File \"$HOME/image-generation/software-report/SoftwareReport.Generator.ps1\" -OutputDirectory \"$HOME/image-generation/output/software-report\" -ImageName ${var.build_id}"
|
||||||
|
]
|
||||||
|
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
provisioner "file" {
|
||||||
|
destination = "../image-output/"
|
||||||
|
direction = "download"
|
||||||
|
source = "./image-generation/output/"
|
||||||
|
}
|
||||||
|
provisioner "shell" {
|
||||||
|
scripts = [
|
||||||
|
"./provision/configuration/configure-hostname.sh"
|
||||||
|
]
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,7 +25,7 @@ Describe "cmake" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Subversion" {
|
It "Subversion" {
|
||||||
"svn --version" | Should -ReturnZeroExitCode
|
"svn --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ Describe "Perl" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Helm" {
|
It "Helm" {
|
||||||
"helm version --short" | Should -ReturnZeroExitCode
|
"helm version --short" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@ Describe "bazel" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Aliyun CLI" {
|
It "Aliyun CLI" {
|
||||||
"aliyun --version" | Should -ReturnZeroExitCode
|
"aliyun --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -146,13 +146,13 @@ Describe "wget" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "vagrant" {
|
It "vagrant" {
|
||||||
"vagrant --version" | Should -ReturnZeroExitCode
|
"vagrant --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "virtualbox" {
|
It "virtualbox" {
|
||||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -178,7 +178,7 @@ Describe "Kotlin" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "sbt" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "sbt" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "sbt" {
|
It "sbt" {
|
||||||
"sbt -version" | Should -ReturnZeroExitCode
|
"sbt -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -190,7 +190,7 @@ Describe "yq" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "imagemagick" {
|
It "imagemagick" {
|
||||||
"magick -version" | Should -ReturnZeroExitCode
|
"magick -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Describe "Chrome" {
|
|||||||
Describe "Selenium server" {
|
Describe "Selenium server" {
|
||||||
It "Selenium server" {
|
It "Selenium server" {
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVenturaArm64) {
|
if ($os.IsArm64) {
|
||||||
$cellarPath = "/opt/homebrew/Cellar"
|
$cellarPath = "/opt/homebrew/Cellar"
|
||||||
} else {
|
} else {
|
||||||
$cellarPath = "/usr/local/Cellar"
|
$cellarPath = "/usr/local/Cellar"
|
||||||
@@ -40,7 +40,7 @@ Describe "Selenium server" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Edge" -Skip:($os.IsVenturaArm64) {
|
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Microsoft Edge" {
|
It "Microsoft Edge" {
|
||||||
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
||||||
$edgeLocation | Should -Exist
|
$edgeLocation | Should -Exist
|
||||||
@@ -52,7 +52,7 @@ Describe "Edge" -Skip:($os.IsVenturaArm64) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Firefox" -Skip:($os.IsVenturaArm64) {
|
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Firefox" {
|
It "Firefox" {
|
||||||
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
||||||
$firefoxLocation | Should -Exist
|
$firefoxLocation | Should -Exist
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Describe ".NET" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Describe "GCC" {
|
Describe "GCC" {
|
||||||
$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 {
|
||||||
param (
|
param (
|
||||||
@@ -33,7 +33,7 @@ Describe "GCC" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "vcpkg" -Skip:($os.IsVenturaArm64) {
|
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "vcpkg" {
|
It "vcpkg" {
|
||||||
"vcpkg version" | Should -ReturnZeroExitCode
|
"vcpkg version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
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"
|
||||||
@@ -66,7 +66,7 @@ Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonom
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Stack" -Skip:($os.IsVenturaArm64) {
|
Describe "Stack" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Stack" {
|
It "Stack" {
|
||||||
"stack --version" | Should -ReturnZeroExitCode
|
"stack --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -78,7 +78,7 @@ Describe "CocoaPods" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
$vsMacVersions = Get-ToolsetValue "xamarin.vsmac.versions"
|
$vsMacVersions = Get-ToolsetValue "xamarin.vsmac.versions"
|
||||||
$defaultVSMacVersion = Get-ToolsetValue "xamarin.vsmac.default"
|
$defaultVSMacVersion = Get-ToolsetValue "xamarin.vsmac.default"
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ Describe "VSMac" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Swig" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Swig" {
|
It "Swig" {
|
||||||
"swig -version" | Should -ReturnZeroExitCode
|
"swig -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -117,13 +117,13 @@ Describe "Bicep" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Go" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Go" {
|
It "Go" {
|
||||||
"go version" | Should -ReturnZeroExitCode
|
"go version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Check kext kernel modules" {
|
It "Check kext kernel modules" {
|
||||||
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ Describe "CodeQL Bundle" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Colima" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Colima" {
|
It "Colima" {
|
||||||
"colima version" | Should -ReturnZeroExitCode
|
"colima version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "<ToolName>" -TestCases @(
|
It "<ToolName>" -TestCases @(
|
||||||
@{ ToolName = "mongo" }
|
@{ ToolName = "mongo" }
|
||||||
@{ ToolName = "mongod" }
|
@{ ToolName = "mongod" }
|
||||||
@@ -12,7 +12,7 @@ Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "PostgreSQL version should correspond to the version in the toolset" {
|
It "PostgreSQL version should correspond to the version in the toolset" {
|
||||||
$toolsetVersion = Get-ToolsetValue 'postgresql.version'
|
$toolsetVersion = Get-ToolsetValue 'postgresql.version'
|
||||||
# Client version
|
# Client version
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
Context "GHCup" {
|
Context "GHCup" {
|
||||||
It "GHCup" {
|
It "GHCup" {
|
||||||
"ghcup --version" | Should -ReturnZeroExitCode
|
"ghcup --version" | Should -ReturnZeroExitCode
|
||||||
|
|||||||
@@ -1,83 +1,83 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
$arch = Get-Architecture
|
$arch = Get-Architecture
|
||||||
|
|
||||||
function Get-NativeVersionFormat {
|
function Get-NativeVersionFormat {
|
||||||
param($Version)
|
param($Version)
|
||||||
if ($Version -in "8") {
|
if ($Version -in "8") {
|
||||||
return "1.${Version}"
|
return "1.${Version}"
|
||||||
}
|
}
|
||||||
return $Version
|
return $Version
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Java" {
|
Describe "Java" {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
function Validate-JavaVersion {
|
function Validate-JavaVersion {
|
||||||
param($JavaCommand, $ExpectedVersion)
|
param($JavaCommand, $ExpectedVersion)
|
||||||
|
|
||||||
$commandResult = Get-CommandResult $JavaCommand
|
$commandResult = Get-CommandResult $JavaCommand
|
||||||
$commandResult.ExitCode | Should -Be 0
|
$commandResult.ExitCode | Should -Be 0
|
||||||
$matchResult = $commandResult.Output | Select-String '^openjdk version \"([\d\._]+)\"'
|
$matchResult = $commandResult.Output | Select-String '^openjdk version \"([\d\._]+)\"'
|
||||||
$matchResult.Matches.Success | Should -BeTrue
|
$matchResult.Matches.Success | Should -BeTrue
|
||||||
$version = $matchResult.Matches.Groups[1].Value
|
$version = $matchResult.Matches.Groups[1].Value
|
||||||
$version | Should -BeLike "${ExpectedVersion}*"
|
$version | Should -BeLike "${ExpectedVersion}*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$toolsetJava = Get-ToolsetValue "java"
|
$toolsetJava = Get-ToolsetValue "java"
|
||||||
$defaultVersion = $toolsetJava.$arch.default
|
$defaultVersion = $toolsetJava.$arch.default
|
||||||
$jdkVersions = $toolsetJava.$arch.versions
|
$jdkVersions = $toolsetJava.$arch.versions
|
||||||
|
|
||||||
if ($os.IsVenturaArm64) {
|
if ($os.IsArm64) {
|
||||||
$testCases = $jdkVersions | ForEach-Object { @{ Title = $_; Version = (Get-NativeVersionFormat $_); EnvVariable = "JAVA_HOME_${_}_arm64" } }
|
$testCases = $jdkVersions | ForEach-Object { @{ Title = $_; Version = (Get-NativeVersionFormat $_); EnvVariable = "JAVA_HOME_${_}_arm64" } }
|
||||||
} else {
|
} else {
|
||||||
$testCases = $jdkVersions | ForEach-Object { @{ Title = $_; Version = (Get-NativeVersionFormat $_); EnvVariable = "JAVA_HOME_${_}_X64" } }
|
$testCases = $jdkVersions | ForEach-Object { @{ Title = $_; Version = (Get-NativeVersionFormat $_); EnvVariable = "JAVA_HOME_${_}_X64" } }
|
||||||
}
|
}
|
||||||
$testCases += @{ Title = "Default"; Version = (Get-NativeVersionFormat $defaultVersion); EnvVariable = "JAVA_HOME" }
|
$testCases += @{ Title = "Default"; Version = (Get-NativeVersionFormat $defaultVersion); EnvVariable = "JAVA_HOME" }
|
||||||
|
|
||||||
$testCases | ForEach-Object {
|
$testCases | ForEach-Object {
|
||||||
Context $_.Title {
|
Context $_.Title {
|
||||||
It "Version is found by 'java_home'" -TestCases $_ {
|
It "Version is found by 'java_home'" -TestCases $_ {
|
||||||
"/usr/libexec/java_home -v${Version}" | Should -ReturnZeroExitCode
|
"/usr/libexec/java_home -v${Version}" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Java <Version>" -TestCases $_ {
|
It "Java <Version>" -TestCases $_ {
|
||||||
$envVariablePath = Get-EnvironmentVariable $EnvVariable
|
$envVariablePath = Get-EnvironmentVariable $EnvVariable
|
||||||
$javaBinPath = Join-Path $envVariablePath "/bin/java"
|
$javaBinPath = Join-Path $envVariablePath "/bin/java"
|
||||||
Validate-JavaVersion -JavaCommand "$javaBinPath -version" -ExpectedVersion $Version
|
Validate-JavaVersion -JavaCommand "$javaBinPath -version" -ExpectedVersion $Version
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_.Title -eq "Default") {
|
if ($_.Title -eq "Default") {
|
||||||
It "Version is default" -TestCases $_ {
|
It "Version is default" -TestCases $_ {
|
||||||
Validate-JavaVersion -JavaCommand "java -version" -ExpectedVersion $Version
|
Validate-JavaVersion -JavaCommand "java -version" -ExpectedVersion $Version
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Maven" {
|
Context "Maven" {
|
||||||
Describe "Maven" {
|
Describe "Maven" {
|
||||||
It "Maven" {
|
It "Maven" {
|
||||||
"mvn --version" | Should -ReturnZeroExitCode
|
"mvn --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Gradle" {
|
Context "Gradle" {
|
||||||
Describe "Gradle" {
|
Describe "Gradle" {
|
||||||
It "Gradle is installed" {
|
It "Gradle is installed" {
|
||||||
"gradle --version" | Should -ReturnZeroExitCode
|
"gradle --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Gradle is installed to /usr/local/bin" -Skip:($os.IsVenturaArm64) {
|
It "Gradle is installed to /usr/local/bin" -Skip:($os.IsArm64) {
|
||||||
(Get-Command "gradle").Path | Should -BeExactly "/usr/local/bin/gradle"
|
(Get-Command "gradle").Path | Should -BeExactly "/usr/local/bin/gradle"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Gradle is installed to /opt/homebrew/bin/gradle" -Skip:(-not $os.IsVenturaArm64) {
|
It "Gradle is installed to /opt/homebrew/bin/gradle" -Skip:(-not $os.IsArm64) {
|
||||||
(Get-Command "gradle").Path | Should -BeExactly "/opt/homebrew/bin/gradle"
|
(Get-Command "gradle").Path | Should -BeExactly "/opt/homebrew/bin/gradle"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "SwiftLint" -Skip:($os.IsVenturaArm64) {
|
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "SwiftLint" {
|
It "SwiftLint" {
|
||||||
"swiftlint version" | Should -ReturnZeroExitCode
|
"swiftlint version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Describe "Node.js" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "nvm" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
|
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
|
||||||
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
|
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "PHP" {
|
Describe "PHP" {
|
||||||
Context "PHP" -Skip:($os.IsVenturaArm64) {
|
Context "PHP" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "PHP Path" {
|
It "PHP Path" {
|
||||||
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
|
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ Describe "PHP" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Composer" -Skip:($os.IsVenturaArm64) {
|
Context "Composer" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Composer" {
|
It "Composer" {
|
||||||
"composer --version" | Should -ReturnZeroExitCode
|
"composer --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
$pipxToolset = Get-ToolsetValue "pipx"
|
$pipxToolset = Get-ToolsetValue "pipx"
|
||||||
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
||||||
It "<package>" -TestCases $testCases {
|
It "<package>" -TestCases $testCases {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Python3" -Skip:($os.IsVenturaArm64) {
|
Describe "Python3" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Python 3 is available" {
|
It "Python 3 is available" {
|
||||||
"python3 --version" | Should -ReturnZeroExitCode
|
"python3 --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ Describe "Python3" -Skip:($os.IsVenturaArm64) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Python2" -Skip:($os.IsVenturaArm64 -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Python 2 is available" {
|
It "Python 2 is available" {
|
||||||
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
|
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Ruby" -Skip:($os.IsVentura -or $os.IsBigSur -or $os.IsMonterey -or $os.IsSonoma) {
|
Describe "Ruby" -Skip:(-not $os.IsArm64) {
|
||||||
It "Ruby is available" {
|
It "Ruby is available" {
|
||||||
"ruby --version" | Should -ReturnZeroExitCode
|
"ruby --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Ruby" -Skip:($os.IsVenturaArm64) {
|
Describe "Ruby" -Skip:($os.IsArm64) {
|
||||||
It "Ruby is available" {
|
It "Ruby is available" {
|
||||||
"ruby --version" | Should -ReturnZeroExitCode
|
"ruby --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Describe "Bundler" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Nomad shenzhen CLI" {
|
It "Nomad shenzhen CLI" {
|
||||||
"ipa --version" | Should -ReturnZeroExitCode
|
"ipa --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ Describe "xcpretty" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "jazzy" {
|
It "jazzy" {
|
||||||
"jazzy --version" | Should -ReturnZeroExitCode
|
"jazzy --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ Describe "Rust" {
|
|||||||
"cargo --version" | Should -ReturnZeroExitCode
|
"cargo --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "bindgen" {
|
It "bindgen" {
|
||||||
"bindgen --version" | Should -ReturnZeroExitCode
|
"bindgen --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ Describe "Certificate" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Audio device" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Sox is installed" {
|
It "Sox is installed" {
|
||||||
"sox --version" | Should -ReturnZeroExitCode
|
"sox --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ Describe "Toolcache" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Ruby" -Skip:($os.IsVenturaArm64) {
|
Context "Ruby" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
$rubyDirectory = Join-Path $toolcacheDirectory "Ruby"
|
$rubyDirectory = Join-Path $toolcacheDirectory "Ruby"
|
||||||
$rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1
|
$rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1
|
||||||
$testCase = @{ RubyDirectory = $rubyDirectory }
|
$testCase = @{ RubyDirectory = $rubyDirectory }
|
||||||
@@ -99,7 +99,7 @@ Describe "Toolcache" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Context "PyPy" -Skip:($os.IsVenturaArm64) {
|
Context "PyPy" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
|
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
|
||||||
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
|
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
|
||||||
$testCase = @{ PypyDirectory = $pypyDirectory }
|
$testCase = @{ PypyDirectory = $pypyDirectory }
|
||||||
@@ -229,4 +229,4 @@ Describe "Toolcache" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Apache" -Skip:($os.IsVenturaArm64) {
|
Describe "Apache" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
||||||
It "Apache CLI" {
|
It "Apache CLI" {
|
||||||
"httpd -v" | Should -ReturnZeroExitCode
|
"httpd -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ Describe "Apache" -Skip:($os.IsVenturaArm64) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nginx" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
|
Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Nginx CLI" {
|
It "Nginx CLI" {
|
||||||
"nginx -v" | Should -ReturnZeroExitCode
|
"nginx -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
|
||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
if ($os.IsVentura -or $os.IsSonoma) {
|
||||||
$MONO_VERSIONS = @(Get-ToolsetValue "mono.framework.version")
|
$MONO_VERSIONS = @(Get-ToolsetValue "mono.framework.version")
|
||||||
$XAMARIN_IOS_VERSIONS = @()
|
$XAMARIN_IOS_VERSIONS = @()
|
||||||
$XAMARIN_MAC_VERSIONS = @()
|
$XAMARIN_MAC_VERSIONS = @()
|
||||||
@@ -89,7 +89,7 @@ Describe "Mono" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
$XAMARIN_IOS_VERSIONS | ForEach-Object {
|
$XAMARIN_IOS_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
||||||
@@ -122,7 +122,7 @@ Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
$XAMARIN_MAC_VERSIONS | ForEach-Object {
|
$XAMARIN_MAC_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
||||||
@@ -155,7 +155,7 @@ Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
$XAMARIN_ANDROID_VERSIONS | ForEach-Object {
|
$XAMARIN_ANDROID_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
|
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
|
||||||
@@ -195,7 +195,7 @@ Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.I
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
||||||
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
||||||
@@ -302,7 +302,7 @@ Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.I
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nuget" -Skip:($os.IsVentura -or $os.IsVenturaArm64 -or $os.IsSonoma) {
|
Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
||||||
It "Nuget config contains nuget.org feed" {
|
It "Nuget config contains nuget.org feed" {
|
||||||
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
|
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user