From 8767a6eb4e9011d9b1716c4f02aaba2e70e12af1 Mon Sep 17 00:00:00 2001 From: sergei-pyshnoi <121864472+sergei-pyshnoi@users.noreply.github.com> Date: Mon, 13 Feb 2023 16:40:48 +0100 Subject: [PATCH] Remove all macOS-10.15 related code (#7078) --- images.CI/macos/azure-pipelines/macos1015.yml | 23 -- images/macos/helpers/Common.Helpers.psm1 | 3 - .../configuration/configure-machine.sh | 12 +- .../provision/configuration/finalize-vm.sh | 8 - .../provision/configuration/preimagedata.sh | 7 +- .../macos/provision/core/android-toolsets.sh | 4 - images/macos/provision/core/audiodevice.sh | 18 +- images/macos/provision/core/graalvm.sh | 6 - images/macos/provision/core/openjdk.sh | 8 - images/macos/provision/core/powershell.sh | 5 +- images/macos/provision/core/swiftlint.sh | 2 +- images/macos/provision/core/xamarin.sh | 5 - images/macos/provision/utils/utils.sh | 20 +- .../SoftwareReport.Common.psm1 | 6 +- .../SoftwareReport.Generator.ps1 | 30 +- .../software-report/SoftwareReport.Xcode.psm1 | 2 +- images/macos/templates/macOS-10.15.json | 254 ------------- images/macos/tests/Android.Tests.ps1 | 4 - images/macos/tests/Common.Tests.ps1 | 4 +- images/macos/tests/System.Tests.ps1 | 6 +- images/macos/toolsets/toolset-10.15.json | 354 ------------------ 21 files changed, 29 insertions(+), 752 deletions(-) delete mode 100644 images.CI/macos/azure-pipelines/macos1015.yml delete mode 100644 images/macos/templates/macOS-10.15.json delete mode 100644 images/macos/toolsets/toolset-10.15.json diff --git a/images.CI/macos/azure-pipelines/macos1015.yml b/images.CI/macos/azure-pipelines/macos1015.yml deleted file mode 100644 index f42980cc4..000000000 --- a/images.CI/macos/azure-pipelines/macos1015.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: macOS-10.15_$(date:yyyyMMdd)$(rev:.r)_unstable -schedules: -- cron: "0 0 * * *" - displayName: Daily - branches: - include: - - main - always: true - -trigger: none -pr: - autoCancel: true - branches: - include: - - main - -jobs: -- template: image-generation.yml - parameters: - image_label: 'macOS Catalina' - base_image_name: 'clean-macOS-10.15-380Gb-runner' - template_path: 'templates/macOS-10.15.json' - target_datastore: 'ds-image' diff --git a/images/macos/helpers/Common.Helpers.psm1 b/images/macos/helpers/Common.Helpers.psm1 index 3fa9d56fc..8d1dd4241 100644 --- a/images/macos/helpers/Common.Helpers.psm1 +++ b/images/macos/helpers/Common.Helpers.psm1 @@ -31,12 +31,9 @@ function Get-OSVersion { return [PSCustomObject]@{ Version = $osVersion.Version Platform = $osVersion.Platform - IsCatalina = $osVersionMajorMinor -eq "10.15" IsBigSur = $osVersion.Version.Major -eq "11" IsMonterey = $osVersion.Version.Major -eq "12" IsVentura = $osVersion.Version.Major -eq "13" - IsLessThanMonterey = $osVersion.Version.Major -lt "12" - IsHigherThanCatalina = $osVersion.Version.Major -ge "11" } } diff --git a/images/macos/provision/configuration/configure-machine.sh b/images/macos/provision/configuration/configure-machine.sh index 3eadcc523..99b158265 100644 --- a/images/macos/provision/configuration/configure-machine.sh +++ b/images/macos/provision/configuration/configure-machine.sh @@ -36,9 +36,9 @@ defaults write com.apple.VoiceOver4/default SCREnableAppleScript -bool YES # Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030. # sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain # Big Sur requires user interaction to add a cert https://developer.apple.com/forums/thread/671582, we need to use a workaround with SecItemAdd swift method -if ! is_Catalina; then - swiftc "${HOME}/image-generation/add-certificate.swift" -fi + +swiftc "${HOME}/image-generation/add-certificate.swift" + certs=( AppleWWDRCAG3.cer @@ -49,11 +49,7 @@ for cert in ${certs[@]}; do cert_path="${HOME}/${cert}" curl "https://www.apple.com/certificateauthority/${cert}" --output ${cert_path} --silent - if is_Catalina; then - sudo security add-trusted-cert -d -r unspecified -k /Library/Keychains/System.keychain ${cert_path} - else - sudo ./add-certificate ${cert_path} - fi + sudo ./add-certificate ${cert_path} rm ${cert_path} done diff --git a/images/macos/provision/configuration/finalize-vm.sh b/images/macos/provision/configuration/finalize-vm.sh index af3b4b6fd..548e8b3bc 100644 --- a/images/macos/provision/configuration/finalize-vm.sh +++ b/images/macos/provision/configuration/finalize-vm.sh @@ -5,14 +5,6 @@ source ~/utils/utils.sh # Close all finder windows because they can interfere with UI tests close_finder_window -if is_Catalina; then - # Ignore available updates to prevent system pop-ups - updateName=$(softwareupdate -l | grep "Title: " | awk -F[:,] '{print $2}' | awk '{$1=$1};1') || true - if [ ! -z "$updateName" ]; then - sudo softwareupdate --ignore "$updateName" - fi -fi - # Remove Parallels Desktop # https://github.com/actions/runner-images/issues/6105 if is_Monterey; then diff --git a/images/macos/provision/configuration/preimagedata.sh b/images/macos/provision/configuration/preimagedata.sh index 6ce160f99..58891f233 100644 --- a/images/macos/provision/configuration/preimagedata.sh +++ b/images/macos/provision/configuration/preimagedata.sh @@ -8,11 +8,8 @@ os_name=$(sw_vers -productName) os_version=$(sw_vers -productVersion) os_build=$(sw_vers -buildVersion) label_version=$(echo $os_version | cut -d. -f1,2) -if is_Catalina; then - label_version=$(echo $os_version | cut -d. -f1,2) -else - label_version=$(echo $os_version | cut -d. -f1) -fi +label_version=$(echo $os_version | cut -d. -f1) + image_label="macos-${label_version}" release_label="macOS-${label_version}" software_url="https://github.com/actions/runner-images/blob/${release_label}/${image_version}/images/macos/${image_label}-Readme.md" diff --git a/images/macos/provision/core/android-toolsets.sh b/images/macos/provision/core/android-toolsets.sh index 9e23e0c61..36373be61 100755 --- a/images/macos/provision/core/android-toolsets.sh +++ b/images/macos/provision/core/android-toolsets.sh @@ -97,10 +97,6 @@ done # The Android Emulator uses the built-in Hypervisor.Framework by default, and falls back to using Intel HAXM if Hypervisor.Framework fails to initialize # https://developer.android.com/studio/run/emulator-acceleration#vm-mac # The installation doesn't work properly on macOS Big Sur, /dev/HAX is not created -if is_Catalina; then - chmod +x $ANDROID_HOME/extras/intel/Hardware_Accelerated_Execution_Manager/silent_install.sh - sudo $ANDROID_HOME/extras/intel/Hardware_Accelerated_Execution_Manager/silent_install.sh -fi for addon_name in "${ANDROID_ADDON_LIST[@]}" do diff --git a/images/macos/provision/core/audiodevice.sh b/images/macos/provision/core/audiodevice.sh index a94de8100..d021dbb96 100644 --- a/images/macos/provision/core/audiodevice.sh +++ b/images/macos/provision/core/audiodevice.sh @@ -9,20 +9,12 @@ brew_smart_install "sox" # Big Sur doesn't support soundflower installation without user interaction https://github.com/mattingalls/Soundflower/releases/tag/2.0b2 # Install blackhole-2ch for Big Sur instead -if is_Catalina; then - echo "install soundflower" - brew install --cask soundflower - echo "set Soundflower (2ch) as input/output device" - SwitchAudioSource -s "Soundflower (2ch)" -t input - SwitchAudioSource -s "Soundflower (2ch)" -t output -else - echo "install blackhole-2ch" - brew_smart_install "blackhole-2ch" +echo "install blackhole-2ch" +brew_smart_install "blackhole-2ch" - echo "set BlackHole 2ch as input/output device" - SwitchAudioSource -s "BlackHole 2ch" -t input - SwitchAudioSource -s "BlackHole 2ch" -t output -fi +echo "set BlackHole 2ch as input/output device" +SwitchAudioSource -s "BlackHole 2ch" -t input +SwitchAudioSource -s "BlackHole 2ch" -t output invoke_tests "System" "Audio Device" diff --git a/images/macos/provision/core/graalvm.sh b/images/macos/provision/core/graalvm.sh index 62c8b2aba..05eb24356 100644 --- a/images/macos/provision/core/graalvm.sh +++ b/images/macos/provision/core/graalvm.sh @@ -8,12 +8,6 @@ exportPath=$(echo /Library/Java/JavaVirtualMachines/graalvm-ce-java*/Contents/Ho echo "Setting up GRAALVM_11_ROOT variable to ${exportPath}" echo "export GRAALVM_11_ROOT=${exportPath}" >> "${HOME}/.bashrc" -# GraalVM not being signed and notarized yet on macOS Catalina -if is_Catalina; then - quarantinePath=$(echo /Library/Java/JavaVirtualMachines/graalvm-ce-java*) - sudo xattr -rd com.apple.quarantine $quarantinePath -fi - # Install Native Image $exportPath/gu install native-image diff --git a/images/macos/provision/core/openjdk.sh b/images/macos/provision/core/openjdk.sh index 90a91695e..831115436 100755 --- a/images/macos/provision/core/openjdk.sh +++ b/images/macos/provision/core/openjdk.sh @@ -77,14 +77,6 @@ for jdkVendor in ${jdkVendors[@]}; do done done -# Big Sur or newer does not have these versions of Adopt. -# Also hardcode these versions as they only exist for Adopt -if is_Catalina; then - for adoptVersionToInstall in 12 13 14; do - createEnvironmentVariable ${adoptVersionToInstall} "Adopt" - done -fi - echo Installing Maven... brew_smart_install "maven" diff --git a/images/macos/provision/core/powershell.sh b/images/macos/provision/core/powershell.sh index 611dbbdff..85c836cd9 100644 --- a/images/macos/provision/core/powershell.sh +++ b/images/macos/provision/core/powershell.sh @@ -8,9 +8,8 @@ psDownloadUrl=$(get_github_package_download_url "PowerShell/PowerShell" "contain 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 -if ! is_Catalina; then - sudo xattr -rd com.apple.quarantine /tmp/powershell.pkg -fi +sudo xattr -rd com.apple.quarantine /tmp/powershell.pkg + sudo installer -pkg /tmp/powershell.pkg -target / diff --git a/images/macos/provision/core/swiftlint.sh b/images/macos/provision/core/swiftlint.sh index 47259f3c6..5be1b0377 100644 --- a/images/macos/provision/core/swiftlint.sh +++ b/images/macos/provision/core/swiftlint.sh @@ -3,7 +3,7 @@ source ~/utils/utils.sh echo "Install SwiftLint" # SwiftLint now requires Swift 5.6 or higher to build, and macOS 12 or higher to run https://github.com/realm/SwiftLint/releases/tag/0.49.0 -if is_Less_Monterey; then +if is_BigSur; then version="0.48.0" else version="latest" diff --git a/images/macos/provision/core/xamarin.sh b/images/macos/provision/core/xamarin.sh index a8e2692d9..febdf5fdb 100755 --- a/images/macos/provision/core/xamarin.sh +++ b/images/macos/provision/core/xamarin.sh @@ -64,11 +64,6 @@ createBundleLink $CURRENT_SDK_SYMLINK "Current" # Fix nuget in some mono versions because of known bugs # -if is_Catalina; then - # Fix Mono issue with default nuget: https://github.com/mono/mono/issues/17637 - installNuget "6.4.0" "5.3.1" -fi - # Creating UWP Shim to hack UWP build failure createUWPShim diff --git a/images/macos/provision/utils/utils.sh b/images/macos/provision/utils/utils.sh index b499b22fd..8214c3036 100755 --- a/images/macos/provision/utils/utils.sh +++ b/images/macos/provision/utils/utils.sh @@ -63,22 +63,6 @@ is_BigSur() { fi } -is_Catalina() { - if [ "$OSTYPE" = "darwin19" ]; then - true - else - false - fi -} - -is_Less_Monterey() { - if is_Catalina || is_BigSur; then - true - else - false - fi -} - is_Veertu() { if [ -d "/Library/Application Support/Veertu" ]; then true @@ -116,9 +100,7 @@ brew_cask_install_ignoring_sha256() { } get_brew_os_keyword() { - if is_Catalina; then - echo "catalina" - elif is_BigSur; then + if is_BigSur; then echo "big_sur" elif is_Monterey; then echo "monterey" diff --git a/images/macos/software-report/SoftwareReport.Common.psm1 b/images/macos/software-report/SoftwareReport.Common.psm1 index 71568b5ee..c8ce4bf8f 100644 --- a/images/macos/software-report/SoftwareReport.Common.psm1 +++ b/images/macos/software-report/SoftwareReport.Common.psm1 @@ -158,11 +158,7 @@ function Build-OSInfoSection { $fieldsToInclude = @("System Version:", "Kernel Version:") $rawSystemInfo = Invoke-Expression "system_profiler SPSoftwareDataType" $parsedSystemInfo = $rawSystemInfo | Where-Object { -not ($_ | Select-String -NotMatch $fieldsToInclude) } | ForEach-Object { $_.Trim() } - if ($os.IsCatalina) { - $parsedSystemInfo[0] -match "System Version: macOS (?\d+\.\d+)" | Out-Null - } else { - $parsedSystemInfo[0] -match "System Version: macOS (?\d+)" | Out-Null - } + $parsedSystemInfo[0] -match "System Version: macOS (?\d+)" | Out-Null $version = $Matches.Version $systemVersion = $parsedSystemInfo[0].Replace($fieldsToInclude[0],"").Trim() $kernelVersion = $parsedSystemInfo[1].Replace($fieldsToInclude[1],"").Trim() diff --git a/images/macos/software-report/SoftwareReport.Generator.ps1 b/images/macos/software-report/SoftwareReport.Generator.ps1 index 23e456a4a..2db63d181 100644 --- a/images/macos/software-report/SoftwareReport.Generator.ps1 +++ b/images/macos/software-report/SoftwareReport.Generator.ps1 @@ -91,13 +91,10 @@ $utilities.AddToolVersion("Curl", $(Get-CurlVersion)) $utilities.AddToolVersion("Git", $(Get-GitVersion)) $utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion)) $utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion)) -if ($os.IsCatalina) { - $utilities.AddToolVersion("GNU parallel", $(Get-ParallelVersion)) -} $utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion)) $utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion)) $utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion)) -if ($os.IsLessThanMonterey) { +if ($os.IsBigSur) { $utilities.AddToolVersion("helm", $(Get-HelmVersion)) } $utilities.AddToolVersion("Hub CLI", $(Get-HubVersion)) @@ -105,7 +102,7 @@ $utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion)) $utilities.AddToolVersion("jq", $(Get-JqVersion)) $utilities.AddToolVersion("mongo", $(Get-MongoVersion)) $utilities.AddToolVersion("mongod", $(Get-MongodVersion)) -if ($os.IsLessThanMonterey) { +if ($os.IsBigSur) { $utilities.AddToolVersion("Newman", $(Get-NewmanVersion)) } $utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion)) @@ -124,7 +121,7 @@ $utilities.AddToolVersion("zstd", $(Get-ZstdVersion)) # Tools $tools = $installedSoftware.AddHeader("Tools") -if ($os.IsLessThanMonterey) { +if ($os.IsBigSur) { $tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion)) } $tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion)) @@ -136,12 +133,8 @@ $tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion)) $tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion)) $tools.AddToolVersion("Cabal", $(Get-CabalVersion)) $tools.AddToolVersion("Cmake", $(Get-CmakeVersion)) -if (-not $os.IsCatalina) { - $tools.AddToolVersion("CodeQL Action Bundles", $(Get-CodeQLBundleVersions)) -} -if (-not $os.IsCatalina) { - $tools.AddToolVersion("Colima", $(Get-ColimaVersion)) -} +$tools.AddToolVersion("CodeQL Action Bundles", $(Get-CodeQLBundleVersions)) +$tools.AddToolVersion("Colima", $(Get-ColimaVersion)) $tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion)) $tools.AddToolVersion("GHC", $(Get-GHCVersion)) $tools.AddToolVersion("GHCup", $(Get-GHCupVersion)) @@ -203,17 +196,15 @@ $webServers.AddTable($(Build-WebServersSection)) $xamarin = $installedSoftware.AddHeader("Xamarin") $vsForMac = $xamarin.AddHeader("Visual Studio for Mac") $vsForMac.AddTable($(Build-VSMacTable)) - -if (-not $os.IsCatalina) { - $note = +$note = @' To use Visual Studio 2019 by default rename the app: mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app" mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app" '@ - $vsForMacNotes = $vsForMac.AddHeader("Notes") - $vsForMacNotes.AddNote($note) -} +$vsForMacNotes = $vsForMac.AddHeader("Notes") +$vsForMacNotes.AddNote($note) + $xamarinBundles = $xamarin.AddHeader("Xamarin bundles") $xamarinBundles.AddTable($(Build-XamarinTable)) @@ -241,9 +232,6 @@ $installedSimulators.AddTable($(Build-XcodeSimulatorsTable $xcodeInfo)) # Android section $android = $installedSoftware.AddHeader("Android") $androidTable = Build-AndroidTable -if ($os.IsCatalina) { - $androidTable += Get-IntelHaxmVersion -} $android.AddTable($androidTable) $androidEnv = $android.AddHeader("Environment variables") diff --git a/images/macos/software-report/SoftwareReport.Xcode.psm1 b/images/macos/software-report/SoftwareReport.Xcode.psm1 index 68e61caae..f1ae3e74c 100644 --- a/images/macos/software-report/SoftwareReport.Xcode.psm1 +++ b/images/macos/software-report/SoftwareReport.Xcode.psm1 @@ -245,7 +245,7 @@ function Build-XcodeSupportToolsSection { $nomadShenzhenOutput = Run-Command "ipa -version" $nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value - if ($os.IsLessThanMonterey) { + if ($os.IsBigSur) { $toolNodes += [ToolVersionNode]::new("Nomad CLI", $nomadCLI) $toolNodes += [ToolVersionNode]::new("Nomad shenzhen CLI", $nomadShenzhen) } diff --git a/images/macos/templates/macOS-10.15.json b/images/macos/templates/macOS-10.15.json deleted file mode 100644 index e912ade37..000000000 --- a/images/macos/templates/macOS-10.15.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "variables": { - "vcenter_server": null, - "vcenter_username": null, - "vcenter_password": null, - "vcenter_datacenter": null, - "cluster_or_esxi_host": null, - "esxi_datastore": null, - "build_id": null, - "baseimage_name": null, - "output_folder": null, - "vm_username": null, - "vm_password": null, - "github_api_pat": null, - "xcode_install_user": null, - "xcode_install_password": null, - "image_os": "macos1015" - }, - "builders": [ - { - "type": "vsphere-clone", - "vcenter_server": "{{user `vcenter_server`}}", - "username": "{{user `vcenter_username`}}", - "password": "{{user `vcenter_password`}}", - "insecure_connection": true, - "datacenter": "{{ user `vcenter_datacenter` }}", - "template": "{{ user `baseimage_name` }}", - "folder": "{{user `output_folder` }}", - "host": "{{user `cluster_or_esxi_host`}}", - "datastore": "{{user `esxi_datastore`}}", - "vm_name": "{{user `build_id`}}", - "ssh_username": "{{user `vm_username`}}", - "ssh_password": "{{user `vm_password`}}", - "CPUs": "5", - "cpu_cores": "5", - "RAM": "24576", - "NestedHV": "true", - "shutdown_timeout": "15m" - } - ], - "provisioners": [ - { - "type": "shell", - "inline": "mkdir ~/image-generation" - }, - { - "type": "file", - "source": "./provision/assets", - "destination": "~/image-generation/" - }, - { - "type": "file", - "source": "./tests", - "destination": "~/image-generation/" - }, - { - "type": "file", - "source": "./software-report", - "destination": "~/image-generation/" - }, - { - "type": "file", - "source": "../../helpers/software-report-base", - "destination": "~/image-generation/software-report/" - }, - { - "type": "file", - "source": "./helpers", - "destination": "~/image-generation/" - }, - { - "type": "file", - "source": "./provision/configuration/environment/bashrc", - "destination": "~/.bashrc" - }, - { - "type": "file", - "source": "./provision/configuration/environment/bashprofile", - "destination": "~/.bash_profile" - }, - { - "type": "file", - "source": "./provision/utils", - "destination": "~/" - }, - { - "type": "file", - "source": "./provision/bootstrap-provisioner", - "destination": "~/bootstrap" - }, - { - "type": "file", - "source": "./toolsets/toolset-10.15.json", - "destination": "~/image-generation/toolset.json" - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", - "pause_before": "30s", - "scripts": [ - "./provision/core/xcode-clt.sh", - "./provision/core/homebrew.sh" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}", - "scripts": [ - "./provision/configuration/add-network-interface-detection.sh", - "./provision/configuration/autologin.sh", - "./provision/configuration/disable-auto-updates.sh", - "./provision/configuration/screensaver-off.sh", - "./provision/configuration/ntpconf.sh", - "./provision/configuration/max-files.sh", - "./provision/configuration/shell-change.sh" - ], - "environment_vars": [ - "PASSWORD={{user `vm_password`}}", - "USERNAME={{user `vm_username`}}" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", - "scripts": [ - "./provision/configuration/preimagedata.sh", - "./provision/configuration/configure-ssh.sh", - "./provision/configuration/configure-machine.sh" - ], - "environment_vars": [ - "IMAGE_VERSION={{user `build_id`}}", - "IMAGE_OS={{user `image_os`}}" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}", - "script": "./provision/core/reboot.sh", - "expect_disconnect": true - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", - "pause_before": "30s", - "scripts": [ - "./provision/core/open_windows_check.sh", - "./provision/core/powershell.sh", - "./provision/core/dotnet.sh", - "./provision/core/python.sh", - "./provision/core/azcopy.sh", - "./provision/core/openssl.sh", - "./provision/core/ruby.sh", - "./provision/core/rubygem.sh", - "./provision/core/git.sh", - "./provision/core/node.sh" - ], - "environment_vars": [ - "API_PAT={{user `github_api_pat`}}" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}", - "script": "./provision/core/xcode.ps1", - "environment_vars": [ - "XCODE_INSTALL_USER={{user `xcode_install_user`}}", - "XCODE_INSTALL_PASSWORD={{user `xcode_install_password`}}" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}", - "script": "./provision/core/reboot.sh", - "expect_disconnect": true - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", - "scripts": [ - "./provision/core/commonutils.sh", - "./provision/core/llvm.sh", - "./provision/core/golang.sh", - "./provision/core/swiftlint.sh", - "./provision/core/openjdk.sh", - "./provision/core/php.sh", - "./provision/core/aws.sh", - "./provision/core/rust.sh", - "./provision/core/gcc.sh", - "./provision/core/haskell.sh", - "./provision/core/stack.sh", - "./provision/core/cocoapods.sh", - "./provision/core/android-toolsets.sh", - "./provision/core/xamarin.sh", - "./provision/core/vsmac.sh", - "./provision/core/nvm.sh", - "./provision/core/apache.sh", - "./provision/core/nginx.sh", - "./provision/core/postgresql.sh", - "./provision/core/mongodb.sh", - "./provision/core/audiodevice.sh", - "./provision/core/vcpkg.sh", - "./provision/core/miniconda.sh", - "./provision/core/safari.sh", - "./provision/core/chrome.sh", - "./provision/core/edge.sh", - "./provision/core/firefox.sh", - "./provision/core/xcode-postbuild.sh", - "./provision/core/pypy.sh", - "./provision/core/pipx-packages.sh", - "./provision/core/bicep.sh", - "./provision/core/graalvm.sh" - ], - "environment_vars": [ - "API_PAT={{user `github_api_pat`}}" - ] - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}", - "scripts": [ - "./provision/core/toolset.ps1", - "./provision/core/configure-toolset.ps1" - ] - }, - { - "type": "shell", - "execute_command": "ruby {{ .Path }}", - "scripts": [ - "./provision/core/delete-duplicate-sims.rb" - ] - }, - { - "type": "shell", - "inline": [ - "pwsh -File \"$HOME/image-generation/software-report/SoftwareReport.Generator.ps1\" -OutputDirectory \"$HOME/image-generation/output/software-report\" -ImageName {{user `build_id`}}", - "pwsh -File \"$HOME/image-generation/tests/RunAll-Tests.ps1\"" - ] - }, - { - "type": "file", - "direction": "download", - "source": "~/image-generation/output/*", - "destination": "../image-output/" - }, - { - "type": "shell", - "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}", - "scripts": [ - "./provision/configuration/configure-hostname.sh", - "./provision/configuration/finalize-vm.sh" - ] - } - ] -} diff --git a/images/macos/tests/Android.Tests.ps1 b/images/macos/tests/Android.Tests.ps1 index df1484e4c..a1d18ef41 100644 --- a/images/macos/tests/Android.Tests.ps1 +++ b/images/macos/tests/Android.Tests.ps1 @@ -75,8 +75,4 @@ Describe "Android" { Validate-AndroidPackage $PackageName } } - - It "HAXM is installed" -Skip:($os.IsHigherThanCatalina) { - "kextstat | grep 'com.intel.kext.intelhaxm'" | Should -ReturnZeroExitCode - } } \ No newline at end of file diff --git a/images/macos/tests/Common.Tests.ps1 b/images/macos/tests/Common.Tests.ps1 index eb17db53a..f2c02c5db 100644 --- a/images/macos/tests/Common.Tests.ps1 +++ b/images/macos/tests/Common.Tests.ps1 @@ -139,7 +139,7 @@ Describe "VirtualBox" -Skip:($os.IsBigSur) { } } -Describe "CodeQLBundles" -Skip:($os.IsCatalina) { +Describe "CodeQLBundles" { It "Latest CodeQL Bundle" { $CodeQLVersionWildcards = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*" $LatestCodeQLVersionPath = Get-ChildItem $CodeQLVersionWildcards | Sort-Object -Property { [SemVer]$_.name } -Descending | Select-Object -First 1 -Expand FullName @@ -175,7 +175,7 @@ Describe "CodeQLBundles" -Skip:($os.IsCatalina) { } } -Describe "Colima" -Skip:($os.IsCatalina) { +Describe "Colima" { It "Colima" { "colima version" | Should -ReturnZeroExitCode } diff --git a/images/macos/tests/System.Tests.ps1 b/images/macos/tests/System.Tests.ps1 index 8d08627bf..8dd6bdf51 100644 --- a/images/macos/tests/System.Tests.ps1 +++ b/images/macos/tests/System.Tests.ps1 @@ -32,11 +32,7 @@ Describe "Audio device" { "SwitchAudioSource -c" | Should -ReturnZeroExitCode } - It "Audio channel Soundflower (2ch)" -Skip:($os.IsHigherThanCatalina) { - SwitchAudioSource -c | Should -BeLikeExactly "Soundflower (2ch)" - } - - It "Audio channel BlackHole 2ch" -Skip:($os.IsCatalina) { + It "Audio channel BlackHole 2ch" { SwitchAudioSource -c | Should -BeLikeExactly "BlackHole 2ch" } } diff --git a/images/macos/toolsets/toolset-10.15.json b/images/macos/toolsets/toolset-10.15.json deleted file mode 100644 index 528ea4402..000000000 --- a/images/macos/toolsets/toolset-10.15.json +++ /dev/null @@ -1,354 +0,0 @@ -{ - "xcode": { - "default": "12.4", - "versions": [ - { "link": "12.4", "version": "12.4.0"}, - { "link": "12.3", "version": "12.3.0"}, - { "link": "12.2", "version": "12.2.0" }, - { "link": "12.1.1", "version": "12.1.1" }, - { "link": "12.1", "version": "12.1.0" }, - { "link": "12", "version": "12.0.1", "symlinks": ["12_beta"] }, - { "link": "11.7", "version": "11.7.0", "symlinks": ["11.7_beta"] }, - { "link": "11.6", "version": "11.6.0", "symlinks": ["11.6_beta"] }, - { "link": "11.5", "version": "11.5.0", "symlinks": ["11.5_beta"] }, - { "link": "11.4.1", "version": "11.4.1", "symlinks": ["11.4", "11.4.1_beta"] }, - { "link": "11.3.1", "version": "11.3.1", "symlinks": ["11.3", "11.3.1_beta"] }, - { "link": "11.2.1", "version": "11.2.1", "symlinks": ["11.2", "11.2.1_beta"] }, - { "link": "10.3", "version": "10.3", "symlinks": ["10.3_beta"] } - ] - }, - "xamarin": { - "vsmac": { - "default": "2019", - "versions": [ "2019" ] - }, - "mono-versions": [ - "6.12.0.188", "6.10.0.106", "6.8.0.123", "6.6.0.166", "6.4.0.208" - ], - "ios-versions": [ - "14.14.2.5", "14.10.0.4", "14.8.0.3", "14.6.0.15", "14.4.1.3", "14.2.0.12", "14.0.0.0", "13.20.2.2", "13.18.2.1", "13.16.0.13", "13.14.1.39", "13.10.0.21", "13.8.3.0", "13.6.0.12", "13.4.0.2", "13.2.0.47" - ], - "mac-versions": [ - "7.8.2.5", "7.4.0.10", "7.2.0.3", "7.0.0.15", "6.22.1.26", "6.20.2.2", "6.18.3.2", "6.16.0.13", "6.14.1.39", "6.10.0.21", "6.8.3.0", "6.6.0.12", "6.4.0.2", "6.2.0.47" - ], - "android-versions": [ - "11.2.2.1", "11.1.0.26", "11.0.2.0", "10.3.1.4", "10.2.0.100", "10.1.3.7", "10.0.6.2" - ], - "bundle-default": "6_12_7", - "bundles": [ - { - "symlink": "6_12_7", - "mono":"6.12", - "ios": "14.14", - "mac": "7.8", - "android": "11.2" - }, - { - "symlink": "6_12_6", - "mono":"6.12", - "ios": "14.10", - "mac": "7.4", - "android": "11.1" - }, - { - "symlink": "6_12_5", - "mono":"6.12", - "ios": "14.8", - "mac": "7.2", - "android": "11.1" - }, - { - "symlink": "6_12_4", - "mono":"6.12", - "ios": "14.6", - "mac": "7.0", - "android": "11.1" - }, - { - "symlink": "6_12_3", - "mono":"6.12", - "ios": "14.4", - "mac": "6.22", - "android": "11.1" - }, - { - "symlink": "6_12_2", - "mono":"6.12", - "ios": "14.2", - "mac": "6.20", - "android": "11.0" - }, - { - "symlink": "6_12_1", - "mono":"6.12", - "ios": "14.0", - "mac": "6.20", - "android": "11.0" - }, - { - "symlink": "6_12_0", - "mono":"6.12", - "ios": "13.20", - "mac": "6.20", - "android": "11.0" - }, - { - "symlink": "6_10_0", - "mono":"6.10", - "ios": "13.18", - "mac": "6.18", - "android": "10.3" - }, - { - "symlink": "6_8_1", - "mono":"6.8", - "ios": "13.16", - "mac": "6.16", - "android": "10.2" - }, - { - "symlink": "6_8_0", - "mono": "6.8", - "ios": "13.14", - "mac": "6.14", - "android": "10.2" - }, - { - "symlink": "6_6_1", - "mono": "6.6", - "ios": "13.10", - "mac": "6.10", - "android": "10.1" - }, - { - "symlink": "6_6_0", - "mono": "6.6", - "ios": "13.8", - "mac": "6.8", - "android": "10.1" - }, - { - "symlink": "6_4_2", - "mono": "6.4", - "ios": "13.6", - "mac": "6.6", - "android": "10.0" - }, - { - "symlink": "6_4_1", - "mono": "6.4", - "ios": "13.4", - "mac": "6.4", - "android": "10.0" - }, - { - "symlink": "6_4_0", - "mono": "6.4", - "ios": "13.2", - "mac": "6.2", - "android": "10.0" - } - ] - }, - "java": { - "default": "8", - "default_vendor": "Temurin-Hotspot", - "vendors": [ - { - "name": "Temurin-Hotspot", - "versions": [ "8", "11", "17" ] - }, - { - "name": "Adopt", - "versions": [ "8", "11", "12", "13", "14" ] - } - ] - }, - "android": { - "platform_min_version": "24", - "build_tools_min_version": "24.0.0", - "extra-list": [ - "android;m2repository", "google;m2repository", "google;google_play_services", "intel;Hardware_Accelerated_Execution_Manager", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1", "m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4", "m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5", "m2repository;com;android;support;constraint;constraint-layout;1.0.0", "m2repository;com;android;support;constraint;constraint-layout;1.0.1", "m2repository;com;android;support;constraint;constraint-layout;1.0.2" - ], - "addon-list": [ - "addon-google_apis-google-24", "addon-google_apis-google-23", "addon-google_apis-google-22", "addon-google_apis-google-21" - ], - "additional-tools": [ - "cmake;3.10.2.4988404", - "cmake;3.18.1" - ], - "ndk": { - "default": "25", - "versions": [ - "23", "24", "25" - ] - } - }, - "powershellModules": [ - {"name": "Az"}, - {"name": "MarkdownPS"}, - {"name": "Pester"}, - {"name": "PSScriptAnalyzer"} - ], - "npm": { - "global_packages": [ - { "name": "appcenter-cli", "test": "appcenter --version" }, - { "name": "newman", "test": "newman --version" }, - { "name": "node-gyp" } - ] - }, - "brew": { - "common_packages": [ - "aliyun-cli", - "ant", - "aria2", - "azure-cli", - "bazelisk", - "carthage", - "cmake", - "gh", - "gnupg", - "gnu-tar", - "helm", - "kotlin", - "libpq", - "p7zip", - "packer", - "parallel", - "perl", - "sbt", - "subversion", - "swiftformat", - "swig", - "zstd", - "zlib", - "libxext", - "libxft", - "tcl-tk", - "yq", - "imagemagick" - ], - "cask_packages": [ - "julia", - "r", - "vagrant", - "virtualbox" - ] - }, - "gcc": { - "versions": [ - "9", - "10", - "11" - ] - }, - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "darwin", - "versions": [ - "2.7.*", - "3.6.*", - "3.7.*", - "3.8.*", - "3.9.*", - "3.10.*", - "3.11.*" - ] - }, - { - "name": "PyPy", - "arch": "x64", - "platform" : "darwin", - "versions": [ - "2.7", - "3.6", - "3.7", - "3.8", - "3.9" - ] - }, - { - "name": "Node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", - "platform" : "darwin", - "arch": "x64", - "versions": [ - "14.*", - "16.*", - "18.*" - ] - }, - { - "name": "Go", - "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", - "arch": "x64", - "platform" : "darwin", - "variable_template" : "GOROOT_{0}_{1}_X64", - "versions": [ - "1.16.*", - "1.17.*", - "1.18.*" - ] - }, - { - "name": "Ruby", - "arch": "x64", - "versions": [ - "2.4.*", - "2.5.*", - "2.6.*", - "2.7.*", - "3.0.*" - ] - } - ], - "pipx": [ - { - "package": "yamllint", - "cmd": "yamllint --version" - } - ], - "dotnet": { - "versions": [ - "3.1" - ] - }, - "ruby": { - "default": "2.7", - "rubygems": [ - "xcode-install", - "cocoapods", - "nomad-cli", - "xcpretty", - "bundler", - "fastlane", - "jazzy" - ] - }, - "go": { - "default": "1.17" - }, - "node": { - "default": "16", - "nvm_versions": [ - "14", - "16", - "18" - ] - }, - "llvm": { - "version": "15" - }, - "php": { - "version": "8.2" - }, - "mongodb": { - "version": "5.0" - }, - "postgresql": { - "version": "14" - } -}