[macos] prepare repository for ARM64 arch (#7396)

This commit is contained in:
Alexey-Ayupov
2023-05-12 13:30:13 +02:00
committed by GitHub
parent b6c7afbb26
commit 8b099099d9
35 changed files with 571 additions and 188 deletions

View File

@@ -28,12 +28,14 @@ function Get-EnvironmentVariable($variable) {
function Get-OSVersion { function Get-OSVersion {
$osVersion = [Environment]::OSVersion $osVersion = [Environment]::OSVersion
$osVersionMajorMinor = $osVersion.Version.ToString(2) $osVersionMajorMinor = $osVersion.Version.ToString(2)
$processorArchitecture = arch
return [PSCustomObject]@{ return [PSCustomObject]@{
Version = $osVersion.Version Version = $osVersion.Version
Platform = $osVersion.Platform Platform = $osVersion.Platform
IsBigSur = $osVersion.Version.Major -eq "11" IsBigSur = $osVersion.Version.Major -eq "11"
IsMonterey = $osVersion.Version.Major -eq "12" IsMonterey = $osVersion.Version.Major -eq "12"
IsVentura = $osVersion.Version.Major -eq "13" IsVentura = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64")
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
} }
} }
@@ -150,3 +152,7 @@ function Add-EnvironmentVariable {
$envVar = "export {0}={1}" -f $Name, $Value $envVar = "export {0}={1}" -f $Name, $Value
Add-Content -Path $FilePath -Value $envVar Add-Content -Path $FilePath -Value $envVar
} }
function isVeertu {
return (Test-Path -Path "/Library/Application Support/Veertu")
}

View File

@@ -1,5 +1,14 @@
#!/bin/bash -e -o pipefail #!/bin/bash -e -o pipefail
source ~/utils/utils.sh
arch=$(get_arch)
echo "Changing shell to bash" echo "Changing shell to bash"
sudo chsh -s /bin/bash $USERNAME sudo chsh -s /bin/bash $USERNAME
sudo chsh -s /bin/bash root sudo chsh -s /bin/bash root
# Check MacOS architecture and add HOMEBREW PATH to bashrc
if [[ $arch == "arm64" ]]; then
echo "Adding Homebrew environment to bash"
/opt/homebrew/bin/brew shellenv >> ~/.bashrc
fi

View File

@@ -1,15 +1,21 @@
#!/bin/bash -e -o pipefail #!/bin/bash -e -o pipefail
source ~/utils/utils.sh source ~/utils/utils.sh
arch=$(get_arch)
AZCOPY_DOWNLOAD_URL="https://aka.ms/downloadazcopy-v10-mac" # Check MacOS architecture and if ARM install using brew
if [ $arch == "arm64" ]; then
brew install azcopy
else
AZCOPY_DOWNLOAD_URL="https://aka.ms/downloadazcopy-v10-mac"
download_with_retries $AZCOPY_DOWNLOAD_URL "/tmp" "azcopy.zip" download_with_retries $AZCOPY_DOWNLOAD_URL "/tmp" "azcopy.zip"
unzip /tmp/azcopy.zip -d azcopy unzip /tmp/azcopy.zip -d azcopy
AZCOPY_EXTRACTED=$(echo azcopy/azcopy*) AZCOPY_EXTRACTED=$(echo azcopy/azcopy*)
cp "$AZCOPY_EXTRACTED/azcopy" "/usr/local/bin/azcopy" cp "$AZCOPY_EXTRACTED/azcopy" "/usr/local/bin/azcopy"
chmod +x "/usr/local/bin/azcopy" chmod +x "/usr/local/bin/azcopy"
echo "Done, cleaning up" echo "Done, cleaning up"
rm -rf azcopy* rm -rf azcopy*
fi
invoke_tests "Common" "AzCopy" invoke_tests "Common" "AzCopy"

View File

@@ -10,6 +10,8 @@ source ~/utils/utils.sh
export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1
arch=$(get_arch)
# Download installer from dot.net and keep it locally # Download installer from dot.net and keep it locally
DOTNET_INSTALL_SCRIPT="https://dot.net/v1/dotnet-install.sh" DOTNET_INSTALL_SCRIPT="https://dot.net/v1/dotnet-install.sh"
curl -L -o "dotnet-install.sh" "$DOTNET_INSTALL_SCRIPT" curl -L -o "dotnet-install.sh" "$DOTNET_INSTALL_SCRIPT"
@@ -18,7 +20,7 @@ chmod +x ./dotnet-install.sh
ARGS_LIST=() ARGS_LIST=()
echo "Parsing dotnet SDK (except rc and preview versions) from .json..." echo "Parsing dotnet SDK (except rc and preview versions) from .json..."
DOTNET_VERSIONS=($(get_toolset_value '.dotnet.versions | .[]')) DOTNET_VERSIONS=($(get_toolset_value ".dotnet.arch[\"$arch\"].versions | .[]"))
for DOTNET_VERSION in "${DOTNET_VERSIONS[@]}"; do for DOTNET_VERSION in "${DOTNET_VERSIONS[@]}"; do
RELEASE_URL="https://raw.githubusercontent.com/dotnet/core/master/release-notes/${DOTNET_VERSION}/releases.json" RELEASE_URL="https://raw.githubusercontent.com/dotnet/core/master/release-notes/${DOTNET_VERSION}/releases.json"
@@ -37,7 +39,7 @@ for DOTNET_VERSION in "${DOTNET_VERSIONS[@]}"; do
done done
for ARGS in "${ARGS_LIST[@]}"; do for ARGS in "${ARGS_LIST[@]}"; do
./dotnet-install.sh --version $ARGS -NoPath ./dotnet-install.sh --version $ARGS -NoPath --arch $arch
done done
rm ./dotnet-install.sh rm ./dotnet-install.sh

View File

@@ -2,10 +2,20 @@
source ~/utils/utils.sh source ~/utils/utils.sh
arch=$(get_arch)
echo "Installing Homebrew..." echo "Installing Homebrew..."
HOMEBREW_INSTALL_URL="https://raw.githubusercontent.com/Homebrew/install/master/install.sh" HOMEBREW_INSTALL_URL="https://raw.githubusercontent.com/Homebrew/install/master/install.sh"
/bin/bash -c "$(curl -fsSL ${HOMEBREW_INSTALL_URL})" /bin/bash -c "$(curl -fsSL ${HOMEBREW_INSTALL_URL})"
if [[ $arch == "arm64" ]]; then
/opt/homebrew/bin/brew update
/opt/homebrew/bin/brew upgrade
/opt/homebrew/bin/brew upgrade --cask
/opt/homebrew/bin/brew cleanup
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
echo "Disabling Homebrew analytics..." echo "Disabling Homebrew analytics..."
brew analytics off brew analytics off

View File

@@ -2,9 +2,11 @@
source ~/utils/utils.sh source ~/utils/utils.sh
echo Installing PowerShell... echo Installing PowerShell...
arch=$(get_arch)
psmetadata=$(curl "https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/metadata.json" -s) psmetadata=$(curl "https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/metadata.json" -s)
psver=$(echo $psmetadata | jq -r '.LTSReleaseTag[0]') psver=$(echo $psmetadata | jq -r '.LTSReleaseTag[0]')
psDownloadUrl=$(get_github_package_download_url "PowerShell/PowerShell" "contains(\"osx-x64.pkg\")" "$psver" "$API_PAT") psDownloadUrl=$(get_github_package_download_url "PowerShell/PowerShell" "contains(\"osx-$arch.pkg\")" "$psver" "$API_PAT")
download_with_retries $psDownloadUrl "/tmp" "powershell.pkg" download_with_retries $psDownloadUrl "/tmp" "powershell.pkg"
# Work around the issue on macOS Big Sur 11.5 or higher for possible error message ("can't be opened because Apple cannot check it for malicious software") when installing the package # Work around the issue on macOS Big Sur 11.5 or higher for possible error message ("can't be opened because Apple cannot check it for malicious software") when installing the package
@@ -19,15 +21,30 @@ for module in ${psModules[@]}; do
echo "Installing $module module" echo "Installing $module module"
moduleVersions="$(get_toolset_value ".powershellModules[] | select(.name==\"$module\") | .versions[]?")" moduleVersions="$(get_toolset_value ".powershellModules[] | select(.name==\"$module\") | .versions[]?")"
if [[ -z "$moduleVersions" ]];then if [[ -z "$moduleVersions" ]];then
pwsh -command "& {Install-Module $module -Force -Scope AllUsers}" # Check MacOS architecture and sudo on Arm64
if [[ $arch == "arm64" ]]; then
sudo pwsh -command "& {Install-Module $module -Force -Scope AllUsers}"
else
pwsh -command "& {Install-Module $module -Force -Scope AllUsers}"
fi
else else
for version in ${moduleVersions[@]}; do for version in ${moduleVersions[@]}; do
echo " - $version" # Check MacOS architecture and sudo on Arm64
pwsh -command "& {Install-Module $module -RequiredVersion $version -Force -Scope AllUsers}" if [[ $arch == "arm64" ]]; then
echo " - $version"
sudo pwsh -command "& {Install-Module $module -RequiredVersion $version -Force -Scope AllUsers}"
else
echo " - $version"
pwsh -command "& {Install-Module $module -RequiredVersion $version -Force -Scope AllUsers}"
fi
done done
fi fi
done done
if [[ $arch == "arm64" ]]; then
sudo chown -R $USER ~/.local
fi
# A dummy call to initialize .IdentityService directory # A dummy call to initialize .IdentityService directory
pwsh -command "& {Import-Module Az}" pwsh -command "& {Import-Module Az}"

View File

@@ -0,0 +1,4 @@
#!/bin/bash -e -o pipefail
echo 'Installing Rosetta'
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

View File

@@ -1,45 +1,55 @@
#!/bin/bash -e -o pipefail #!/bin/bash -e -o pipefail
source ~/utils/utils.sh source ~/utils/utils.sh
arch=$(get_arch)
DEFAULT_RUBY_VERSION=$(get_toolset_value '.ruby.default') DEFAULT_RUBY_VERSION=$(get_toolset_value '.ruby.default')
echo Installing Ruby... echo Installing Ruby...
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}" brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH if [[ $arch == "arm64" ]]; then
GEM_PATH=`gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}'` export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
echo "GEM_PATH=$GEM_PATH" >> "$HOME/.bashrc" else
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc" export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
echo "Install Ruby from toolset..."
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -s "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .versions[]')
RUBY_PATH="$AGENT_TOOLSDIRECTORY/Ruby"
echo "Check if Ruby hostedtoolcache folder exists..."
if [ ! -d $RUBY_PATH ]; then
mkdir -p $RUBY_PATH
fi fi
for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do GEM_PATH=`gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}'`
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1) echo "GEM_PATH=$GEM_PATH" >> "$HOME/.bashrc"
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2) if [[ $arch == "arm64" ]]; then
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION" echo 'export PATH="$GEM_PATH:/opt/homebrew/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc"
else
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> "$HOME/.bashrc"
fi
echo "Create Ruby $RUBY_VERSION directory..." if ! is_VenturaArm64; then
mkdir -p $RUBY_VERSION_PATH echo "Install Ruby from toolset..."
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -s "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .versions[]')
RUBY_PATH="$AGENT_TOOLSDIRECTORY/Ruby"
echo "Downloading tar archive $PACKAGE_TAR_NAME" echo "Check if Ruby hostedtoolcache folder exists..."
DOWNLOAD_URL="https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}" if [ ! -d $RUBY_PATH ]; then
download_with_retries $DOWNLOAD_URL "/tmp" $PACKAGE_TAR_NAME mkdir -p $RUBY_PATH
echo "Expand '$PACKAGE_TAR_NAME' to the '$RUBY_VERSION_PATH' folder"
tar xf "/tmp/$PACKAGE_TAR_NAME" -C $RUBY_VERSION_PATH
COMPLETE_FILE_PATH="$RUBY_VERSION_PATH/x64.complete"
if [ ! -f $COMPLETE_FILE_PATH ]; then
echo "Create complete file"
touch $COMPLETE_FILE_PATH
fi fi
done
invoke_tests "Ruby" for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2)
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION"
echo "Create Ruby $RUBY_VERSION directory..."
mkdir -p $RUBY_VERSION_PATH
echo "Downloading tar archive $PACKAGE_TAR_NAME"
DOWNLOAD_URL="https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}"
download_with_retries $DOWNLOAD_URL "/tmp" $PACKAGE_TAR_NAME
echo "Expand '$PACKAGE_TAR_NAME' to the '$RUBY_VERSION_PATH' folder"
tar xf "/tmp/$PACKAGE_TAR_NAME" -C $RUBY_VERSION_PATH
COMPLETE_FILE_PATH="$RUBY_VERSION_PATH/x64.complete"
if [ ! -f $COMPLETE_FILE_PATH ]; then
echo "Create complete file"
touch $COMPLETE_FILE_PATH
fi
done
fi
invoke_tests "Ruby.$arch"

View File

@@ -14,8 +14,10 @@ if ([string]::IsNullOrEmpty($env:XCODE_INSTALL_USER) -or [string]::IsNullOrEmpty
# https://github.com/fastlane/fastlane/pull/18116 # https://github.com/fastlane/fastlane/pull/18116
$env:SPACESHIP_SKIP_2FA_UPGRADE = 1 $env:SPACESHIP_SKIP_2FA_UPGRADE = 1
$os = Get-OSVersion $ARCH = arch
[Array]$xcodeVersions = Get-ToolsetValue "xcode.versions" if ($ARCH -ne "arm64") { $ARCH = "x64" }
[Array]$xcodeVersions = Get-ToolsetValue "xcode.$ARCH.versions"
write-host $xcodeVersions
$defaultXcode = Get-ToolsetValue "xcode.default" $defaultXcode = Get-ToolsetValue "xcode.default"
[Array]::Reverse($xcodeVersions) [Array]::Reverse($xcodeVersions)
$threadCount = "5" $threadCount = "5"
@@ -62,4 +64,3 @@ New-Item -Path "/Applications/Xcode.app" -ItemType SymbolicLink -Value (Get-Xcod
Write-Host "Setting environment variables 'XCODE_<VERSION>_DEVELOPER_DIR'" Write-Host "Setting environment variables 'XCODE_<VERSION>_DEVELOPER_DIR'"
Set-XcodeDeveloperDirEnvironmentVariables -XcodeList $xcodeVersions.link Set-XcodeDeveloperDirEnvironmentVariables -XcodeList $xcodeVersions.link

View File

@@ -39,6 +39,15 @@ download_with_retries() {
return 1 return 1
} }
is_VenturaArm64() {
arch=$(get_arch)
if [ "$OSTYPE" = "darwin22" ] && [ $arch = "arm64" ]; then
true
else
false
fi
}
is_Ventura() { is_Ventura() {
if [ "$OSTYPE" = "darwin22" ]; then if [ "$OSTYPE" = "darwin22" ]; then
true true
@@ -213,3 +222,12 @@ get_github_package_download_url() {
close_finder_window() { close_finder_window() {
osascript -e 'tell application "Finder" to close windows' osascript -e 'tell application "Finder" to close windows'
} }
get_arch() {
arch=$(arch)
if [[ $arch == "arm64" ]]; then
echo "arm64"
else
echo "x64"
fi
}

View File

@@ -40,7 +40,7 @@ $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) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion)) $languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion)) $languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion)) $languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
@@ -49,8 +49,10 @@ if (-not $os.IsVentura) {
$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))
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion)) if (-not $os.IsVenturaArm64) {
if (-not $os.IsVentura) { $languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion)) $languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version)) $languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
} }
@@ -64,27 +66,29 @@ $packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion)) $packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion)) $packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion)) $packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion)) $packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
} }
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion)) $packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion)) $packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2)) $packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
$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))
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion)) if (-not $os.IsVenturaArm64) {
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
}
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion)) $packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable)) $packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
} }
# Project Management # Project Management
$projectManagement = $installedSoftware.AddHeader("Project Management") $projectManagement = $installedSoftware.AddHeader("Project Management")
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion)) $projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion)) $projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion)) $projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion)) $projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
@@ -108,12 +112,12 @@ $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) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$utilities.AddToolVersion("Hub CLI", $(Get-HubVersion)) $utilities.AddToolVersion("Hub CLI", $(Get-HubVersion))
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion)) $utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
} }
$utilities.AddToolVersion("jq", $(Get-JqVersion)) $utilities.AddToolVersion("jq", $(Get-JqVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$utilities.AddToolVersion("mongo", $(Get-MongoVersion)) $utilities.AddToolVersion("mongo", $(Get-MongoVersion))
$utilities.AddToolVersion("mongod", $(Get-MongodVersion)) $utilities.AddToolVersion("mongod", $(Get-MongodVersion))
} }
@@ -122,7 +126,7 @@ if ($os.IsBigSur) {
} }
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion)) $utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
$utilities.AddToolVersion("Packer", $(Get-PackerVersion)) $utilities.AddToolVersion("Packer", $(Get-PackerVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$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))
@@ -131,7 +135,7 @@ if (-not $os.IsVentura) {
} }
if (-not $os.IsBigSur) { if (-not $os.IsBigSur) {
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion)) $utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion)) $utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
} }
} }
@@ -143,53 +147,66 @@ $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) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion)) $tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
} }
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion)) if (-not $os.IsVenturaArm64) {
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion)) $tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion)) $tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
}
$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))
$tools.AddToolVersion("Cabal", $(Get-CabalVersion)) if (-not $os.IsVenturaArm64) {
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
}
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion)) $tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
$tools.AddToolVersion("CodeQL Action Bundles", $(Get-CodeQLBundleVersions)) $tools.AddToolVersion("CodeQL Action Bundles", $(Get-CodeQLBundleVersions))
if ($os.IsMonterey) { if ($os.IsMonterey) {
$tools.AddToolVersion("Colima", $(Get-ColimaVersion)) $tools.AddToolVersion("Colima", $(Get-ColimaVersion))
} }
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion)) $tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
$tools.AddToolVersion("GHC", $(Get-GHCVersion)) if (-not $os.IsVenturaArm64) {
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion)) $tools.AddToolVersion("GHC", $(Get-GHCVersion))
if (-not $os.IsVentura) { $tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion)) $tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
} }
$tools.AddToolVersion("Stack", $(Get-StackVersion)) if (-not $os.IsVenturaArm64) {
$tools.AddToolVersion("Stack", $(Get-StackVersion))
}
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion)) $tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$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")
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion)) if (-not $os.IsVenturaArm64) {
if (-not $os.IsVentura) { $linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion)) $linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
} }
# Browsers if (-not $os.IsVenturaArm64) {
$browsers = $installedSoftware.AddHeader("Browsers") # Browsers
$browsers.AddNodes($(Build-BrowserSection)) $browsers = $installedSoftware.AddHeader("Browsers")
$browsers.AddNode($(Build-BrowserWebdriversEnvironmentTable)) $browsers.AddNodes($(Build-BrowserSection))
$browsers.AddNode($(Build-BrowserWebdriversEnvironmentTable))
# Java # Java
$java = $installedSoftware.AddHeader("Java") $java = $installedSoftware.AddHeader("Java")
$java.AddTable($(Get-JavaVersions)) $java.AddTable($(Get-JavaVersions))
}
# Toolcache if (-not $os.IsVenturaArm64) {
$toolcache = $installedSoftware.AddHeader("Cached Tools") # Toolcache
$toolcache.AddNodes($(Build-ToolcacheSection)) $toolcache = $installedSoftware.AddHeader("Cached Tools")
$toolcache.AddNodes($(Build-ToolcacheSection))
}
# Rust # Rust
$rust = $installedSoftware.AddHeader("Rust Tools") $rust = $installedSoftware.AddHeader("Rust Tools")
@@ -214,13 +231,13 @@ $powerShellModules = $powerShell.AddHeader("PowerShell Modules")
$powerShellModules.AddNodes($(Get-PowerShellModules)) $powerShellModules.AddNodes($(Get-PowerShellModules))
# Web Servers # Web Servers
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$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) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$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))
@@ -256,16 +273,16 @@ $installedSdks.AddTable($(Build-XcodeSDKTable $xcodeInfo))
$installedSimulators = $xcode.AddHeader("Installed Simulators") $installedSimulators = $xcode.AddHeader("Installed Simulators")
$installedSimulators.AddTable($(Build-XcodeSimulatorsTable $xcodeInfo)) $installedSimulators.AddTable($(Build-XcodeSimulatorsTable $xcodeInfo))
if (-not $os.IsVenturaArm64) {
# Android section # Android section
$android = $installedSoftware.AddHeader("Android") $android = $installedSoftware.AddHeader("Android")
$androidTable = Build-AndroidTable $androidTable = Build-AndroidTable
$android.AddTable($androidTable) $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables") $androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable)) $androidEnv.AddTable($(Build-AndroidEnvironmentTable))
}
if (-not $os.IsVentura) { if ((-not $os.IsVentura) -and (-not $os.IsVenturaArm64)) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous") $miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion)) $miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion)) $miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
@@ -303,4 +320,3 @@ Write-Host $markdownExtended
$systemInfo | Out-File -FilePath "${OutputDirectory}/systeminfo.txt" -Encoding UTF8NoBOM $systemInfo | Out-File -FilePath "${OutputDirectory}/systeminfo.txt" -Encoding UTF8NoBOM
$softwareReport.ToJson() | Out-File -FilePath "${OutputDirectory}/systeminfo.json" -Encoding UTF8NoBOM $softwareReport.ToJson() | Out-File -FilePath "${OutputDirectory}/systeminfo.json" -Encoding UTF8NoBOM
$softwareReport.ToMarkdown() | Out-File -FilePath "${OutputDirectory}/systeminfo.md" -Encoding UTF8NoBOM $softwareReport.ToMarkdown() | Out-File -FilePath "${OutputDirectory}/systeminfo.md" -Encoding UTF8NoBOM

View File

@@ -0,0 +1,231 @@
packer {
required_plugins {
veertu-anka = {
version = "= v3.1.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_user" {
type = string
sensitive = true
}
variable "xcode_install_password" {
type = string
sensitive = true
}
variable "vcpu_count" {
type = string
default = "6"
}
variable "ram_size" {
type = string
default = "8G"
}
variable "image_os" {
type = string
default = "macos13"
}
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-13.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/powershell.sh",
"./provision/core/dotnet.sh",
"./provision/core/azcopy.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_USER=${var.xcode_install_user}",
"XCODE_INSTALL_PASSWORD=${var.xcode_install_password}"
]
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/llvm.sh",
"./provision/core/rust.sh",
"./provision/core/gcc.sh",
"./provision/core/cocoapods.sh",
"./provision/core/vsmac.sh",
"./provision/core/safari.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}",
"pwsh -File \"$HOME/image-generation/tests/RunAll-Tests.ps1\""
]
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 }}"
}
}

View File

@@ -4,7 +4,7 @@ Import-Module "$PSScriptRoot/../software-report/SoftwareReport.Android.psm1" -Di
$os = Get-OSVersion $os = Get-OSVersion
Describe "Android" { Describe "Android" -Skip:($os.IsVenturaArm64) {
$androidSdkManagerPackages = Get-AndroidPackages $androidSdkManagerPackages = Get-AndroidPackages
[int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version" [int]$platformMinVersion = Get-ToolsetValue "android.platform_min_version"
[version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version" [version]$buildToolsMinVersion = Get-ToolsetValue "android.build_tools_min_version"
@@ -50,8 +50,8 @@ Describe "Android" {
} }
} }
Context "SDKManagers" { Context "SDKManagers" -Skip:($os.IsVenturaArm64) {
if (-not $os.IsVentura) { if (-not $os.IsVentura -and -not $os.IsVenturaArm64) {
$testCases = @( $testCases = @(
@{ @{
PackageName = "SDK tools" PackageName = "SDK tools"
@@ -76,7 +76,7 @@ Describe "Android" {
} }
} }
Context "Packages" { Context "Packages" -Skip:($os.IsVenturaArm64) {
$testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } } $testCases = $androidPackages | ForEach-Object { @{ PackageName = $_ } }
It "<PackageName>" -TestCases $testCases { It "<PackageName>" -TestCases $testCases {

View File

@@ -1,3 +1,4 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Azure CLI" { Describe "Azure CLI" {
@@ -24,7 +25,7 @@ Describe "cmake" {
} }
} }
Describe "Subversion" -Skip:($os.IsVentura) { Describe "Subversion" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Subversion" { It "Subversion" {
"svn --version" | Should -ReturnZeroExitCode "svn --version" | Should -ReturnZeroExitCode
} }
@@ -60,7 +61,7 @@ Describe "Perl" {
} }
} }
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura) { Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64) {
It "Helm" { It "Helm" {
"helm version --short" | Should -ReturnZeroExitCode "helm version --short" | Should -ReturnZeroExitCode
} }
@@ -108,7 +109,7 @@ Describe "bazel" {
} }
} }
Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura) { Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64) {
It "Aliyun CLI" { It "Aliyun CLI" {
"aliyun --version" | Should -ReturnZeroExitCode "aliyun --version" | Should -ReturnZeroExitCode
} }
@@ -144,7 +145,7 @@ Describe "vagrant" -Skip:($os.IsBigSur) {
} }
} }
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura) { Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsVenturaArm64) {
It "virtualbox" { It "virtualbox" {
"vboxmanage -v" | Should -ReturnZeroExitCode "vboxmanage -v" | Should -ReturnZeroExitCode
} }
@@ -170,7 +171,7 @@ Describe "Kotlin" {
} }
} }
Describe "sbt" -Skip:($os.IsVentura) { Describe "sbt" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "sbt" { It "sbt" {
"sbt -version" | Should -ReturnZeroExitCode "sbt -version" | Should -ReturnZeroExitCode
} }
@@ -182,7 +183,7 @@ Describe "yq" {
} }
} }
Describe "imagemagick" -Skip:($os.IsVentura) { Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "imagemagick" { It "imagemagick" {
"magick -version" | Should -ReturnZeroExitCode "magick -version" | Should -ReturnZeroExitCode
} }

View File

@@ -1,4 +1,7 @@
Describe "Chrome" { Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion
Describe "Chrome" -Skip:($os.IsVenturaArm64) {
BeforeAll { BeforeAll {
$chromeLocation = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" $chromeLocation = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
} }
@@ -19,13 +22,13 @@ Describe "Chrome" {
} }
} }
Describe "Selenium server" { Describe "Selenium server" -Skip:($os.IsVenturaArm64) {
It "Selenium server" { It "Selenium server" {
(Get-ChildItem -Path "/usr/local/Cellar/selenium-server*/*").Name | Should -BeLike "4.*" (Get-ChildItem -Path "/usr/local/Cellar/selenium-server*/*").Name | Should -BeLike "4.*"
} }
} }
Describe "Edge" { Describe "Edge" -Skip:($os.IsVenturaArm64) {
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
@@ -37,7 +40,7 @@ Describe "Edge" {
} }
} }
Describe "Firefox" { Describe "Firefox" -Skip:($os.IsVenturaArm64) {
It "Firefox" { It "Firefox" {
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox" $firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
$firefoxLocation | Should -Exist $firefoxLocation | Should -Exist

View File

@@ -33,13 +33,13 @@ Describe "GCC" {
} }
} }
Describe "vcpkg" { Describe "vcpkg" -Skip:($os.IsVenturaArm64) {
It "vcpkg" { It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode "vcpkg version" | Should -ReturnZeroExitCode
} }
} }
Describe "AWS" { Describe "AWS" -Skip:($os.IsVenturaArm64) {
It "AWS CLI" { It "AWS CLI" {
"aws --version" | Should -ReturnZeroExitCode "aws --version" | Should -ReturnZeroExitCode
} }
@@ -58,7 +58,7 @@ Describe "AzCopy" {
} }
} }
Describe "Miniconda" -Skip:($os.IsVentura) { Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
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) {
} }
} }
Describe "Stack" { Describe "Stack" -Skip:($os.IsVenturaArm64) {
It "Stack" { It "Stack" {
"stack --version" | Should -ReturnZeroExitCode "stack --version" | Should -ReturnZeroExitCode
} }
@@ -105,7 +105,7 @@ Describe "VSMac" {
} }
} }
Describe "Swig" -Skip:($os.IsVentura) { Describe "Swig" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Swig" { It "Swig" {
"swig -version" | Should -ReturnZeroExitCode "swig -version" | Should -ReturnZeroExitCode
} }
@@ -117,13 +117,13 @@ Describe "Bicep" {
} }
} }
Describe "Go" -Skip:($os.IsVentura) { Describe "Go" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Go" { It "Go" {
"go version" | Should -ReturnZeroExitCode "go version" | Should -ReturnZeroExitCode
} }
} }
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura) { Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsVenturaArm64) {
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"
} }
@@ -165,7 +165,7 @@ Describe "CodeQLBundles" {
} }
} }
Describe "Colima" -Skip:($os.IsVentura) { Describe "Colima" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Colima" { It "Colima" {
"colima version" | Should -ReturnZeroExitCode "colima version" | Should -ReturnZeroExitCode
} }

View File

@@ -1,9 +1,8 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "MongoDB" -Skip:($os.IsVentura) { Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "<ToolName>" -TestCases @( It "<ToolName>" -TestCases @(
@{ ToolName = "mongo" } @{ ToolName = "mongo" }
@{ ToolName = "mongod" } @{ ToolName = "mongod" }
@@ -13,7 +12,7 @@ Describe "MongoDB" -Skip:($os.IsVentura) {
} }
} }
Describe "PostgreSQL" -Skip:($os.IsVentura) { Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
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

View File

@@ -1,3 +1,4 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Git" { Describe "Git" {
It "git is installed" { It "git is installed" {
@@ -7,7 +8,7 @@ Describe "Git" {
"git lfs version" | Should -ReturnZeroExitCode "git lfs version" | Should -ReturnZeroExitCode
} }
} }
Describe "hub CLI" -Skip:($os.IsVentura) { Describe "hub CLI" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "hub CLI is installed" { It "hub CLI is installed" {
"hub --version" | Should -ReturnZeroExitCode "hub --version" | Should -ReturnZeroExitCode
} }

View File

@@ -1,6 +1,7 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Haskell" { Describe "Haskell" -Skip:($os.IsVenturaArm64) {
Context "GHCup" { Context "GHCup" {
It "GHCup" { It "GHCup" {
"ghcup --version" | Should -ReturnZeroExitCode "ghcup --version" | Should -ReturnZeroExitCode

View File

@@ -11,7 +11,7 @@ function Get-NativeVersionFormat {
return $Version return $Version
} }
Describe "Java" { Describe "Java" -Skip:($os.IsVenturaArm64) {
BeforeAll { BeforeAll {
function Validate-JavaVersion { function Validate-JavaVersion {
param($JavaCommand, $ExpectedVersion) param($JavaCommand, $ExpectedVersion)
@@ -58,7 +58,7 @@ Describe "Java" {
} }
Context "Java Adopt" { Context "Java Adopt" {
Describe "Java Adopt" -Skip:($os.IsVentura) { Describe "Java Adopt" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Java Adopt <Version>" -TestCases $adoptCases { It "Java Adopt <Version>" -TestCases $adoptCases {
$adoptPath = Join-Path (Get-ChildItem ${env:AGENT_TOOLSDIRECTORY}\Java_Adopt_jdk\${Version}*) "x64\Contents\Home\bin\java" $adoptPath = Join-Path (Get-ChildItem ${env:AGENT_TOOLSDIRECTORY}\Java_Adopt_jdk\${Version}*) "x64\Contents\Home\bin\java"

View File

@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion $os = Get-OSVersion
Describe "SwiftLint" { Describe "SwiftLint" -Skip:($os.IsVenturaArm64) {
It "SwiftLint" { It "SwiftLint" {
"swiftlint version" | Should -ReturnZeroExitCode "swiftlint version" | Should -ReturnZeroExitCode
} }

View File

@@ -21,7 +21,7 @@ Describe "Node.js" {
} }
} }
Describe "nvm" -Skip:($os.IsVentura) { Describe "nvm" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
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"

View File

@@ -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 "OpenSSL" -Skip:($os.IsVentura) { Describe "OpenSSL" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
Context "OpenSSL Version" { Context "OpenSSL Version" {
It "OpenSSL is available" { It "OpenSSL is available" {
"openssl version" | Should -ReturnZeroExitCode "openssl version" | Should -ReturnZeroExitCode

View File

@@ -1,7 +1,8 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "PHP" { Describe "PHP" {
Context "PHP" { Context "PHP" -Skip:($os.IsVenturaArm64) {
It "PHP Path" { It "PHP Path" {
Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*" Get-WhichTool "php" | Should -Not -BeLike "/usr/bin/php*"
} }
@@ -12,7 +13,7 @@ Describe "PHP" {
} }
} }
Context "Composer" { Context "Composer" -Skip:($os.IsVenturaArm64) {
It "Composer" { It "Composer" {
"composer --version" | Should -ReturnZeroExitCode "composer --version" | Should -ReturnZeroExitCode
} }

View File

@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "PipxPackages" -Skip:($os.IsVentura) { Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
$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 {

View File

@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion $os = Get-OSVersion
Describe "Python" -Skip:($os.IsVentura) { Describe "Python" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Python 2 is available" { It "Python 2 is available" {
"python --version" | Should -ReturnZeroExitCode "python --version" | Should -ReturnZeroExitCode
} }

View File

@@ -0,0 +1,26 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Tests.Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Ruby" -Skip:($os.IsVentura) {
It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode
}
It "Ruby is installed via HomeBrew" {
Get-WhichTool "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
}
It "Ruby tools are consistent" {
$expectedPrefix = "/opt/homebrew"
Get-WhichTool "ruby" | Should -Match "$($expectedPrefix)*"
Get-WhichTool "gem" | Should -Match "$($expectedPrefix)*"
Get-WhichTool "bundler" | Should -Match "$($expectedPrefix)*"
}
It "Ruby gems permissions are valid" {
"gem install bundle" | Should -ReturnZeroExitCode
"gem uninstall bundle" | Should -ReturnZeroExitCode
}
}

View File

@@ -1,24 +1,26 @@
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
Describe "Ruby" { $os = Get-OSVersion
It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode Describe "Ruby" -Skip:($os.IsVenturaArm64) {
} It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode
It "Ruby is installed via HomeBrew" { }
Get-WhichTool "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
} It "Ruby is installed via HomeBrew" {
Get-WhichTool "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
It "Ruby tools are consistent" { }
$expectedPrefix = "/usr/local"
Get-WhichTool "ruby" | Should -Match "$($expectedPrefix)*" It "Ruby tools are consistent" {
Get-WhichTool "gem" | Should -Match "$($expectedPrefix)*" $expectedPrefix = "/usr/local"
Get-WhichTool "bundler" | Should -Match "$($expectedPrefix)*" Get-WhichTool "ruby" | Should -Match "$($expectedPrefix)*"
} Get-WhichTool "gem" | Should -Match "$($expectedPrefix)*"
Get-WhichTool "bundler" | Should -Match "$($expectedPrefix)*"
It "Ruby gems permissions are valid" { }
"gem install bundle" | Should -ReturnZeroExitCode
"gem uninstall bundle" | Should -ReturnZeroExitCode It "Ruby gems permissions are valid" {
} "gem install bundle" | Should -ReturnZeroExitCode
} "gem uninstall bundle" | Should -ReturnZeroExitCode
}
}

View File

@@ -1,3 +1,4 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "RubyGems" { Describe "RubyGems" {
@@ -19,7 +20,7 @@ Describe "Bundler" {
} }
} }
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura) { Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsVenturaArm64) {
It "Nomad shenzhen CLI" { It "Nomad shenzhen CLI" {
"ipa --version" | Should -ReturnZeroExitCode "ipa --version" | Should -ReturnZeroExitCode
} }
@@ -37,7 +38,7 @@ Describe "xcpretty" {
} }
} }
Describe "jazzy" -Skip:($os.IsVentura) { Describe "jazzy" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "jazzy" { It "jazzy" {
"jazzy --version" | Should -ReturnZeroExitCode "jazzy --version" | Should -ReturnZeroExitCode
} }

View File

@@ -1,5 +1,3 @@
$os = Get-OSVersion
Describe "Rust" { Describe "Rust" {
Context "Rust" { Context "Rust" {
It "Rustup is installed" { It "Rustup is installed" {
@@ -10,7 +8,7 @@ Describe "Rust" {
"rustc --version" | Should -ReturnZeroExitCode "rustc --version" | Should -ReturnZeroExitCode
} }
} }
Context "Cargo" { Context "Cargo" {
It "Cargo is installed" { It "Cargo is installed" {
"cargo --version" | Should -ReturnZeroExitCode "cargo --version" | Should -ReturnZeroExitCode
@@ -34,4 +32,4 @@ Describe "Rust" {
"cargo outdated --version" | Should -ReturnZeroExitCode "cargo outdated --version" | Should -ReturnZeroExitCode
} }
} }
} }

View File

@@ -25,7 +25,7 @@ Describe "Certificate" {
} }
} }
Describe "Audio device" -Skip:($os.IsVentura) { Describe "Audio device" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Sox is installed" { It "Sox is installed" {
"sox --version" | Should -ReturnZeroExitCode "sox --version" | Should -ReturnZeroExitCode
} }
@@ -39,13 +39,13 @@ Describe "Audio device" -Skip:($os.IsVentura) {
} }
} }
Describe "Screen Resolution" { Describe "Screen Resolution" -Skip:(isVeertu) {
It "Screen Resolution" { It "Screen Resolution" {
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885|1920 x 1080" system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885|1920 x 1080"
} }
} }
Describe "Open windows" { Describe "Open windows" -Skip:(isVeertu) {
It "Opened windows not found" { 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 '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" $cmd = "osascript /tmp/windows.osascript"

View File

@@ -1,6 +1,8 @@
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
Describe "Toolcache" { Describe "Toolcache" {
$toolcacheDirectory = Join-Path $env:HOME "hostedtoolcache" $toolcacheDirectory = Join-Path $env:HOME "hostedtoolcache"
[array]$packages += Get-ToolsetValue -KeyPath "toolcache" | ForEach-Object { [array]$packages += Get-ToolsetValue -KeyPath "toolcache" | ForEach-Object {
@@ -11,7 +13,7 @@ Describe "Toolcache" {
} }
} }
Context "Python" { Context "Python" -Skip:($os.IsVenturaArm64) {
$pythonDirectory = Join-Path $toolcacheDirectory "Python" $pythonDirectory = Join-Path $toolcacheDirectory "Python"
$pythonPackage = $packages | Where-Object { $_.ToolName -eq "python" } | Select-Object -First 1 $pythonPackage = $packages | Where-Object { $_.ToolName -eq "python" } | Select-Object -First 1
$testCase = @{ PythonDirectory = $pythonDirectory } $testCase = @{ PythonDirectory = $pythonDirectory }
@@ -54,7 +56,7 @@ Describe "Toolcache" {
} }
} }
Context "Ruby" { Context "Ruby" -Skip:($os.IsVenturaArm64) {
$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 }
@@ -96,7 +98,7 @@ Describe "Toolcache" {
} }
} }
} }
Context "PyPy" { Context "PyPy" -Skip:($os.IsVenturaArm64) {
$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 }
@@ -140,7 +142,7 @@ Describe "Toolcache" {
} }
} }
Context "Node" { Context "Node" -Skip:($os.IsVenturaArm64) {
$nodeDirectory = Join-Path $toolcacheDirectory "node" $nodeDirectory = Join-Path $toolcacheDirectory "node"
$nodePackage = $packages | Where-Object { $_.ToolName -eq "node" } | Select-Object -First 1 $nodePackage = $packages | Where-Object { $_.ToolName -eq "node" } | Select-Object -First 1
$testCase = @{ NodeDirectory = $nodeDirectory } $testCase = @{ NodeDirectory = $nodeDirectory }
@@ -190,7 +192,7 @@ Describe "Toolcache" {
} }
} }
Context "Go" { Context "Go" -Skip:($os.IsVenturaArm64) {
$goDirectory = Join-Path $toolcacheDirectory "go" $goDirectory = Join-Path $toolcacheDirectory "go"
$goPackage = $packages | Where-Object { $_.ToolName -eq "go" } | Select-Object -First 1 $goPackage = $packages | Where-Object { $_.ToolName -eq "go" } | Select-Object -First 1
$testCase = @{ GoDirectory = $goDirectory } $testCase = @{ GoDirectory = $goDirectory }

View File

@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion $os = Get-OSVersion
Describe "Apache" { Describe "Apache" -Skip:($os.IsVenturaArm64) {
It "Apache CLI" { It "Apache CLI" {
"httpd -v" | Should -ReturnZeroExitCode "httpd -v" | Should -ReturnZeroExitCode
} }
@@ -12,7 +12,7 @@ Describe "Apache" {
} }
} }
Describe "Nginx" -Skip:($os.IsVentura) { Describe "Nginx" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
It "Nginx CLI" { It "Nginx CLI" {
"nginx -v" | Should -ReturnZeroExitCode "nginx -v" | Should -ReturnZeroExitCode
} }

View File

@@ -18,7 +18,7 @@ BeforeAll {
} }
} }
Describe "Mono" -Skip:($os.IsVentura) { Describe "Mono" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
$MONO_VERSIONS | ForEach-Object { $MONO_VERSIONS | ForEach-Object {
Context "$_" { Context "$_" {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions" $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
@@ -82,7 +82,7 @@ Describe "Mono" -Skip:($os.IsVentura) {
} }
} }
Describe "Xamarin.iOS" -Skip:($os.IsVentura) { Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
$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"
@@ -115,7 +115,7 @@ Describe "Xamarin.iOS" -Skip:($os.IsVentura) {
} }
} }
Describe "Xamarin.Mac" -Skip:($os.IsVentura) { Describe "Xamarin.Mac" -Skip:($os.IsVentura-or $os.IsVenturaArm64) {
$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"
@@ -148,7 +148,7 @@ Describe "Xamarin.Mac" -Skip:($os.IsVentura) {
} }
} }
Describe "Xamarin.Android" -Skip:($os.IsVentura) { Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
$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"
@@ -188,7 +188,7 @@ Describe "Xamarin.Android" -Skip:($os.IsVentura) {
} }
} }
Describe "Xamarin Bundles" -Skip:($os.IsVentura) { Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
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"
@@ -293,7 +293,7 @@ Describe "Xamarin Bundles" -Skip:($os.IsVentura) {
} }
} }
Describe "Nuget" -Skip:($os.IsVentura) { Describe "Nuget" -Skip:($os.IsVentura -or $os.IsVenturaArm64) {
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"
} }

View File

@@ -1,11 +1,20 @@
{ {
"xcode": { "xcode": {
"default": "14.2", "default": "14.2",
"versions": [ "x64": {
{ "link": "14.3", "version": "14.3.0" }, "versions": [
{ "link": "14.2", "version": "14.2.0" }, { "link": "14.3", "version": "14.3.0" },
{ "link": "14.1", "version": "14.1.0" } { "link": "14.2", "version": "14.2.0" },
] { "link": "14.1", "version": "14.1.0" }
]
},
"arm64":{
"versions": [
{ "link": "14.3", "version": "14.3.0" },
{ "link": "14.2", "version": "14.2.0" },
{ "link": "14.1", "version": "14.1.0" }
]
}
}, },
"xamarin": { "xamarin": {
"vsmac": { "vsmac": {
@@ -80,9 +89,18 @@
] ]
}, },
"dotnet": { "dotnet": {
"versions": [ "arch":{
"7.0" "x64": {
] "versions": [
"7.0"
]
},
"arm64": {
"versions": [
"7.0"
]
}
}
}, },
"ruby": { "ruby": {
"default": "3.0", "default": "3.0",