diff --git a/.github/ISSUE_TEMPLATE/announcement.yml b/.github/ISSUE_TEMPLATE/announcement.yml index 4722c93a7..61294076f 100644 --- a/.github/ISSUE_TEMPLATE/announcement.yml +++ b/.github/ISSUE_TEMPLATE/announcement.yml @@ -43,6 +43,7 @@ body: - label: macOS 14 Arm64 - label: macOS 15 - label: macOS 15 Arm64 + - label: macOS 26 - label: macOS 26 Arm64 - label: Windows Server 2022 - label: Windows Server 2025 diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index e4b8c5d77..a044bc02a 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -26,6 +26,7 @@ body: - label: macOS 14 Arm64 - label: macOS 15 - label: macOS 15 Arm64 + - label: macOS 26 - label: macOS 26 Arm64 - label: Windows Server 2022 - label: Windows Server 2025 diff --git a/.github/ISSUE_TEMPLATE/tool-request.yml b/.github/ISSUE_TEMPLATE/tool-request.yml index e73752d3f..7c225194a 100644 --- a/.github/ISSUE_TEMPLATE/tool-request.yml +++ b/.github/ISSUE_TEMPLATE/tool-request.yml @@ -64,6 +64,7 @@ body: - label: macOS 14 Arm64 - label: macOS 15 - label: macOS 15 Arm64 + - label: macOS 26 - label: macOS 26 Arm64 - label: Windows Server 2022 - label: Windows Server 2025 diff --git a/README.md b/README.md index 09621635e..86cd6189c 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat | Ubuntu 22.04
![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fubuntu22.json) | x64 | `ubuntu-22.04` | [ubuntu-22.04] | | Ubuntu Slim ![preview](https://img.shields.io/badge/preview-0969DA?style=flat&logoColor=white) | x64 | `ubuntu-slim` | [ubuntu-slim] | | macOS 26 Arm64 ![beta](https://img.shields.io/badge/beta-yellow)
![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-26-arm64.json) | arm64 | `macos-26` or `macos-26-xlarge` | [macOS-26-arm64] | +| macOS 26 ![beta](https://img.shields.io/badge/beta-yellow) | x64 | `macos-26-large` | [macOS-26] | | macOS 15
![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-15.json) | x64 | `macos-latest-large`, `macos-15-large`, or `macos-15-intel` | [macOS-15] | | macOS 15 Arm64
![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-15-arm64.json) | arm64 | `macos-latest`, `macos-15`, or `macos-15-xlarge` | [macOS-15-arm64] | | macOS 14
![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-14.json) | x64 | `macos-14-large`| [macOS-14] | @@ -48,6 +49,7 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat [macOS-14-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md [macOS-15]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md [macOS-15-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md +[macOS-26]: https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md [macOS-26-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md [self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners diff --git a/images/macos/macos-13-Readme.md b/images/macos/macos-13-Readme.md deleted file mode 100644 index c88b46beb..000000000 --- a/images/macos/macos-13-Readme.md +++ /dev/null @@ -1,283 +0,0 @@ -| Announcements | -|-| -| [[macOS] Cmake will be updated to version 4.* on September 8th](https://github.com/actions/runner-images/issues/12934) | -| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) | -| [[macOS] macos-latest YAML-label will use macos-15 in August 2025](https://github.com/actions/runner-images/issues/12520) | -*** -# macOS 13 -- OS Version: macOS 13.7.6 (22H625) -- Kernel Version: Darwin 22.6.0 -- Image Version: 20250908.1476 - -## Installed Software - -### Language and Runtime -- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.413, 9.0.102, 9.0.203, 9.0.304 -- Bash 3.2.57(1)-release -- Clang/LLVM 14.0.0 -- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` -- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias -- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias -- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias -- GCC 15 (Homebrew GCC 15.1.0) - available by `gcc-15` alias -- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias -- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias -- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias -- GNU Fortran 15 (Homebrew GCC 15.1.0) - available by `gfortran-15` alias -- Kotlin 2.2.10-release-430 -- Mono 6.12.0.188 -- Node.js 20.19.5 -- Perl 5.40.2 -- PHP 8.4.12 -- Python3 3.13.7 -- Ruby 3.3.9 - -### Package Management -- Bundler 2.7.1 -- Carthage 0.40.0 -- CocoaPods 1.16.2 -- Composer 2.8.11 -- Homebrew 4.6.9 -- NPM 10.8.2 -- NuGet 6.3.1.1 -- Pip3 25.2 (python 3.13) -- Pipx 1.7.1 -- RubyGems 3.7.1 -- Vcpkg 2025 (build from commit 4a7ce81d91) -- Yarn 1.22.22 - -### Project Management -- Apache Ant 1.10.15 -- Apache Maven 3.9.11 -- Gradle 9.0.0 - -### Utilities -- 7-Zip 17.05 -- aria2 1.37.0 -- azcopy 10.30.0 -- bazel 8.4.0 -- bazelisk 1.27.0 -- bsdtar 3.5.3 - available by 'tar' alias -- Curl 8.15.0 -- Git 2.50.1 -- Git LFS 3.7.0 -- GitHub CLI 2.78.0 -- GNU Tar 1.35 - available by 'gtar' alias -- GNU Wget 1.25.0 -- gpg (GnuPG) 2.4.8 -- jq 1.8.1 -- OpenSSL 1.1.1w 11 Sep 2023 -- Packer 1.14.0 -- pkgconf 2.5.1 -- Unxip 3.1 -- yq 4.47.1 -- zstd 1.5.7 -- Ninja 1.13.1 - -### Tools -- AWS CLI 2.28.25 -- AWS SAM CLI 1.143.0 -- AWS Session Manager CLI 1.2.707.0 -- Azure CLI 2.77.0 -- Azure CLI (azure-devops) 1.0.2 -- Bicep CLI 0.37.4 -- Cmake 4.1.1 -- CodeQL Action Bundle 2.23.0 -- Fastlane 2.228.0 -- SwiftFormat 0.57.2 -- Xcbeautify 2.30.1 -- Xcode Command Line Tools 14.3.1.0.1.1683849156 -- Xcodes 1.6.2 - -### Linters -- SwiftLint 0.61.0 - -### Browsers -- Safari 18.5 (18621.2.5.18.1) -- SafariDriver 18.5 (18621.2.5.18.1) -- Google Chrome 140.0.7339.81 -- Google Chrome for Testing 140.0.7339.80 -- ChromeDriver 140.0.7339.80 -- Microsoft Edge 140.0.3485.54 -- Microsoft Edge WebDriver 140.0.3485.54 -- Mozilla Firefox 142.0.1 -- geckodriver 0.36.0 -- Selenium server 4.35.0 - -#### Environment variables -| Name | Value | -| --------------- | ------------------------------------- | -| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 | -| EDGEWEBDRIVER | /usr/local/share/edge_driver | -| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin | - -### Java -| Version | Environment Variable | -| ------------------- | -------------------- | -| 8.0.462+8 | JAVA_HOME_8_X64 | -| 11.0.28+6 | JAVA_HOME_11_X64 | -| 17.0.16+8 (default) | JAVA_HOME_17_X64 | -| 21.0.8+9.0 | JAVA_HOME_21_X64 | - -### Cached Tools - -#### PyPy -- 2.7.18 [PyPy 7.3.20] -- 3.7.13 [PyPy 7.3.9] -- 3.8.16 [PyPy 7.3.11] -- 3.9.19 [PyPy 7.3.16] -- 3.10.16 [PyPy 7.3.19] - -#### Ruby -- 3.1.7 -- 3.2.9 -- 3.3.9 -- 3.4.5 - -#### Python -- 3.8.18 -- 3.9.23 -- 3.10.18 -- 3.11.9 -- 3.12.10 -- 3.13.7 - -#### Node.js -- 18.20.8 -- 20.19.5 -- 22.19.0 - -#### Go -- 1.22.12 -- 1.23.12 -- 1.24.7 -- 1.25.1 - -### Rust Tools -- Cargo 1.89.0 -- Rust 1.89.0 -- Rustdoc 1.89.0 -- Rustup 1.28.2 - -#### Packages -- Clippy 0.1.89 -- Rustfmt 1.8.0-stable - -### PowerShell Tools -- PowerShell 7.4.11 - -#### PowerShell Modules -- Az: 12.5.0 -- Pester: 5.7.1 -- PSScriptAnalyzer: 1.24.0 - -### Xcode -| Version | Build | Path | Symlinks | -| -------------- | ------- | ------------------------------ | --------------------------------------------------------- | -| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app
/Applications/Xcode.app | -| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | -| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | -| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app | -| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app | -| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app | - -#### Installed SDKs -| SDK | SDK Name | Xcode Version | -| ------------------------------------------------------- | --------------------------------------------- | ------------- | -| macOS 13.0 | macosx13.0 | 14.1 | -| macOS 13.1 | macosx13.1 | 14.2 | -| macOS 13.3 | macosx13.3 | 14.3.1 | -| macOS 14.0 | macosx14.0 | 15.0.1 | -| macOS 14.2 | macosx14.2 | 15.1, 15.2 | -| iOS 16.1 | iphoneos16.1 | 14.1 | -| iOS 16.2 | iphoneos16.2 | 14.2 | -| iOS 16.4 | iphoneos16.4 | 14.3.1 | -| iOS 17.0 | iphoneos17.0 | 15.0.1 | -| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 | -| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 | -| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 | -| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 | -| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 | -| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 | -| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 | -| tvOS 16.4 | appletvos16.4 | 14.3.1 | -| tvOS 17.0 | appletvos17.0 | 15.0.1 | -| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 | -| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 | -| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 | -| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 | -| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 | -| watchOS 9.1 | watchos9.1 | 14.1, 14.2 | -| watchOS 9.4 | watchos9.4 | 14.3.1 | -| watchOS 10.0 | watchos10.0 | 15.0.1 | -| watchOS 10.2 | watchos10.2 | 15.1, 15.2 | -| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 | -| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 | -| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 | -| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 | -| visionOS 1.0 | xros1.0 | 15.2 | -| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 | -| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 | -| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 | -| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 | -| DriverKit 22.1 | driverkit22.1 | 14.1 | -| DriverKit 22.2 | driverkit22.2 | 14.2 | -| DriverKit 22.4 | driverkit22.4 | 14.3.1 | -| DriverKit 23.0 | driverkit23.0 | 15.0.1 | -| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | - -#### Installed Simulators -| OS | Simulators | -| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| iOS 16.1 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 16.2 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 16.4 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 17.0 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 17.2 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| tvOS 16.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 16.4 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 17.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 17.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) | -| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) | -| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra (49mm)
Apple Watch Ultra 2 (49mm) | -| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra (49mm)
Apple Watch Ultra 2 (49mm) | - -### Android -| Package Name | Version | -| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Android Command Line Tools | 11.0 | -| Android Emulator | 36.1.9 | -| Android SDK Build-tools | 36.0.0
35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 | -| Android SDK Platforms | android-36-ext19 (rev 1)
android-36-ext18 (rev 1)
android-36 (rev 2)
android-35-ext15 (rev 1)
android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) | -| Android SDK Platform-Tools | 36.0.0 | -| Android Support Repository | 47.0.0 | -| CMake | 3.31.5 | -| Google Play services | 49 | -| Google Repository | 58 | -| NDK | 26.3.11579264 (default)
27.3.13750724
28.2.13676358 | - -#### Environment variables -| Name | Value | -| ----------------------- | --------------------------------------------------- | -| ANDROID_HOME | /Users/runner/Library/Android/sdk | -| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 | -| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | - -### Miscellaneous -- Tcl/Tk 8.6.17 - -#### Environment variables -| Name | Value | -| ----------------- | ----------------------------------------------------------------------------------------- | -| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.0.1-57243/ParallelsDesktop-26.0.1-57243.dmg | - -##### Notes -``` -If you want to use Parallels Desktop you should download a package from URL stored in -PARALLELS_DMG_URL environment variable. A system extension is allowed for this version. -``` - diff --git a/images/macos/macos-13-arm64-Readme.md b/images/macos/macos-13-arm64-Readme.md deleted file mode 100644 index fe84bfd7e..000000000 --- a/images/macos/macos-13-arm64-Readme.md +++ /dev/null @@ -1,258 +0,0 @@ -| Announcements | -|-| -| [[macOS] Cmake will be updated to version 4.* on September 8th](https://github.com/actions/runner-images/issues/12934) | -| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) | -| [[macOS] macos-latest YAML-label will use macos-15 in August 2025](https://github.com/actions/runner-images/issues/12520) | -*** -# macOS 13 -- OS Version: macOS 13.7.6 (22H625) -- Kernel Version: Darwin 22.6.0 -- Image Version: 20250908.1545 - -## Installed Software - -### Language and Runtime -- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.413, 9.0.102, 9.0.203, 9.0.304 -- Bash 3.2.57(1)-release -- Clang/LLVM 14.0.0 -- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang` -- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias -- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias -- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias -- GCC 15 (Homebrew GCC 15.1.0) - available by `gcc-15` alias -- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias -- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias -- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias -- GNU Fortran 15 (Homebrew GCC 15.1.0) - available by `gfortran-15` alias -- Kotlin 2.2.10-release-430 -- Mono 6.12.0.188 -- Node.js 20.19.5 -- Perl 5.40.2 -- Python3 3.13.7 -- Ruby 3.3.9 - -### Package Management -- Bundler 2.7.1 -- Carthage 0.40.0 -- CocoaPods 1.16.2 -- Homebrew 4.6.9 -- NPM 10.8.2 -- NuGet 6.3.1.1 -- Pip3 25.2 (python 3.13) -- Pipx 1.7.1 -- RubyGems 3.7.1 -- Yarn 1.22.22 - -### Project Management -- Apache Ant 1.10.15 -- Apache Maven 3.9.11 -- Gradle 9.0.0 - -### Utilities -- 7-Zip 17.05 -- aria2 1.37.0 -- azcopy 10.30.0 -- bazel 8.4.0 -- bazelisk 1.27.0 -- bsdtar 3.5.3 - available by 'tar' alias -- Curl 8.7.1 -- Git 2.50.1 -- Git LFS 3.7.0 -- GitHub CLI 2.78.0 -- GNU Tar 1.35 - available by 'gtar' alias -- GNU Wget 1.25.0 -- gpg (GnuPG) 2.4.8 -- jq 1.8.1 -- OpenSSL 1.1.1w 11 Sep 2023 -- Packer 1.14.0 -- pkgconf 2.5.1 -- Unxip 3.1 -- yq 4.47.1 -- zstd 1.5.7 -- Ninja 1.13.1 - -### Tools -- AWS CLI 2.28.25 -- AWS SAM CLI 1.143.0 -- AWS Session Manager CLI 1.2.707.0 -- Azure CLI 2.77.0 -- Azure CLI (azure-devops) 1.0.2 -- Bicep CLI 0.37.4 -- Cmake 4.1.1 -- CodeQL Action Bundle 2.23.0 -- Fastlane 2.228.0 -- SwiftFormat 0.57.2 -- Xcbeautify 2.30.1 -- Xcode Command Line Tools 14.3.1.0.1.1683849156 -- Xcodes 1.6.2 - -### Linters - -### Browsers -- Safari 18.5 (18621.2.5.18.1) -- SafariDriver 18.5 (18621.2.5.18.1) -- Google Chrome 140.0.7339.81 -- Google Chrome for Testing 140.0.7339.80 -- ChromeDriver 140.0.7339.80 -- Microsoft Edge 140.0.3485.54 -- Microsoft Edge WebDriver 140.0.3485.54 -- Mozilla Firefox 142.0.1 -- geckodriver 0.36.0 -- Selenium server 4.35.0 - -#### Environment variables -| Name | Value | -| --------------- | --------------------------------------- | -| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 | -| EDGEWEBDRIVER | /usr/local/share/edge_driver | -| GECKOWEBDRIVER | /opt/homebrew/opt/geckodriver/bin | - -### Java -| Version | Environment Variable | -| ------------------- | -------------------- | -| 11.0.28+6 | JAVA_HOME_11_arm64 | -| 17.0.16+8 (default) | JAVA_HOME_17_arm64 | -| 21.0.8+9.0 | JAVA_HOME_21_arm64 | - -### Cached Tools - -#### Ruby -- 3.1.7 -- 3.2.9 -- 3.3.9 -- 3.4.5 - -#### Python -- 3.11.9 -- 3.12.10 -- 3.13.7 - -#### Node.js -- 18.20.8 -- 20.19.5 -- 22.19.0 - -#### Go -- 1.22.12 -- 1.23.12 -- 1.24.7 -- 1.25.1 - -### Rust Tools -- Cargo 1.89.0 -- Rust 1.89.0 -- Rustdoc 1.89.0 -- Rustup 1.28.2 - -#### Packages -- Clippy 0.1.89 -- Rustfmt 1.8.0-stable - -### PowerShell Tools -- PowerShell 7.4.11 - -#### PowerShell Modules -- Az: 12.5.0 -- Pester: 5.7.1 -- PSScriptAnalyzer: 1.24.0 - -### Xcode -| Version | Build | Path | Symlinks | -| -------------- | ------- | ------------------------------ | --------------------------------------------------------- | -| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app
/Applications/Xcode.app | -| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app | -| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app | -| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app | -| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app | -| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app | - -#### Installed SDKs -| SDK | SDK Name | Xcode Version | -| ------------------------------------------------------- | --------------------------------------------- | ------------- | -| macOS 13.0 | macosx13.0 | 14.1 | -| macOS 13.1 | macosx13.1 | 14.2 | -| macOS 13.3 | macosx13.3 | 14.3.1 | -| macOS 14.0 | macosx14.0 | 15.0.1 | -| macOS 14.2 | macosx14.2 | 15.1, 15.2 | -| iOS 16.1 | iphoneos16.1 | 14.1 | -| iOS 16.2 | iphoneos16.2 | 14.2 | -| iOS 16.4 | iphoneos16.4 | 14.3.1 | -| iOS 17.0 | iphoneos17.0 | 15.0.1 | -| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 | -| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 | -| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 | -| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 | -| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 | -| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 | -| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 | -| tvOS 16.4 | appletvos16.4 | 14.3.1 | -| tvOS 17.0 | appletvos17.0 | 15.0.1 | -| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 | -| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 | -| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 | -| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 | -| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 | -| watchOS 9.1 | watchos9.1 | 14.1, 14.2 | -| watchOS 9.4 | watchos9.4 | 14.3.1 | -| watchOS 10.0 | watchos10.0 | 15.0.1 | -| watchOS 10.2 | watchos10.2 | 15.1, 15.2 | -| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 | -| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 | -| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 | -| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 | -| visionOS 1.0 | xros1.0 | 15.2 | -| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 | -| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 | -| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 | -| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 | -| DriverKit 22.1 | driverkit22.1 | 14.1 | -| DriverKit 22.2 | driverkit22.2 | 14.2 | -| DriverKit 22.4 | driverkit22.4 | 14.3.1 | -| DriverKit 23.0 | driverkit23.0 | 15.0.1 | -| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 | - -#### Installed Simulators -| OS | Simulators | -| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| iOS 16.1 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 16.2 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 16.4 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 17.0 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| iOS 17.2 | iPhone 14
iPhone 14 Plus
iPhone 14 Pro
iPhone 14 Pro Max
iPhone 15
iPhone 15 Plus
iPhone 15 Pro
iPhone 15 Pro Max
iPhone SE (3rd generation)
iPad (10th generation)
iPad Air (5th generation)
iPad mini (6th generation)
iPad Pro (11-inch) (4th generation)
iPad Pro (12.9-inch) (6th generation) | -| tvOS 16.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 16.4 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 17.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| tvOS 17.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | -| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) | -| watchOS 9.4 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Ultra (49mm) | -| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra (49mm)
Apple Watch Ultra 2 (49mm) | -| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)
Apple Watch SE (44mm) (2nd generation)
Apple Watch Series 5 (40mm)
Apple Watch Series 5 (44mm)
Apple Watch Series 6 (40mm)
Apple Watch Series 6 (44mm)
Apple Watch Series 7 (41mm)
Apple Watch Series 7 (45mm)
Apple Watch Series 8 (41mm)
Apple Watch Series 8 (45mm)
Apple Watch Series 9 (41mm)
Apple Watch Series 9 (45mm)
Apple Watch Ultra (49mm)
Apple Watch Ultra 2 (49mm) | -| visionOS 1.0 | Apple Vision Pro | - -### Android -| Package Name | Version | -| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Android Command Line Tools | 11.0 | -| Android Emulator | 36.1.9 | -| Android SDK Build-tools | 36.0.0
35.0.0 35.0.1
34.0.0
33.0.2 33.0.3 | -| Android SDK Platforms | android-36-ext19 (rev 1)
android-36-ext18 (rev 1)
android-36 (rev 2)
android-35-ext15 (rev 1)
android-35-ext14 (rev 1)
android-35 (rev 2)
android-34-ext8 (rev 1)
android-34-ext12 (rev 1)
android-34-ext11 (rev 1)
android-34-ext10 (rev 1)
android-34 (rev 3)
android-33-ext5 (rev 1)
android-33-ext4 (rev 1)
android-33 (rev 3) | -| Android SDK Platform-Tools | 36.0.0 | -| Android Support Repository | 47.0.0 | -| CMake | 3.31.5 | -| Google Play services | 49 | -| Google Repository | 58 | -| NDK | 26.3.11579264 (default)
27.3.13750724
28.2.13676358 | - -#### Environment variables -| Name | Value | -| ----------------------- | --------------------------------------------------- | -| ANDROID_HOME | /Users/runner/Library/Android/sdk | -| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 | -| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 | -| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | - -### Miscellaneous -- Tcl/Tk 8.6.17 - diff --git a/images/macos/macos-26-Readme.md b/images/macos/macos-26-Readme.md new file mode 100644 index 000000000..91baa20c1 --- /dev/null +++ b/images/macos/macos-26-Readme.md @@ -0,0 +1,240 @@ +| Announcements | +|-| +| [[macOS] Deprecation of simulator runtimes for Xcode 26.0.1 on macOS 15 on January 26th](https://github.com/actions/runner-images/issues/13570) | +| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) | +| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) | +*** +# macOS 26 +- OS Version: macOS 26.2 (25C56) +- Kernel Version: Darwin 25.2.0 +- Image Version: 20260204.0048.1 + +## Installed Software + +### Language and Runtime +- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.417, 9.0.102, 9.0.203, 9.0.310, 10.0.102 +- Bash 3.2.57(1)-release +- Clang/LLVM 17.0.0 +- Clang/LLVM (Homebrew) 20.1.8 - available on `$(brew --prefix llvm@20)/bin/clang` +- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias +- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias +- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias +- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias +- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias +- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias +- Kotlin 2.3.0-release-356 +- Node.js 24.13.0 +- Perl 5.42.0 +- PHP 8.5.2 +- Python3 3.14.2 +- Ruby 3.4.8 + +### Package Management +- Bundler 4.0.5 +- Carthage 0.40.0 +- CocoaPods 1.16.2 +- Composer 2.9.5 +- Homebrew 5.0.13 +- NPM 11.6.2 +- Pip3 25.3 (python 3.14) +- Pipx 1.8.0 +- RubyGems 4.0.5 +- Vcpkg 2025 (build from commit a30ac1bd01) +- Yarn 1.22.22 + +### Project Management +- Apache Ant 1.10.15 +- Apache Maven 3.9.12 +- Gradle 9.3.1 + +### Utilities +- 7-Zip 17.05 +- aria2 1.37.0 +- azcopy 10.32.0 +- bazel 9.0.0 +- bazelisk 1.28.1 +- bsdtar 3.5.3 - available by 'tar' alias +- Curl 8.18.0 +- Git 2.52.0 +- Git LFS 3.7.1 +- GitHub CLI 2.86.0 +- GNU Tar 1.35 - available by 'gtar' alias +- GNU Wget 1.25.0 +- gpg (GnuPG) 2.4.9 +- jq 1.8.1 +- OpenSSL 3.6.1 27 Jan 2026 (Library: OpenSSL 3.6.1 27 Jan 2026) +- Packer 1.15.0 +- pkgconf 2.5.1 +- Unxip 3.3 +- yq 4.52.2 +- zstd 1.5.7 +- Ninja 1.13.2 + +### Tools +- AWS CLI 2.33.14 +- AWS SAM CLI 1.153.1 +- AWS Session Manager CLI 1.2.764.0 +- Azure CLI 2.83.0 +- Azure CLI (azure-devops) 1.0.2 +- Bicep CLI 0.40.2 +- Cmake 4.2.3 +- CodeQL Action Bundle 2.24.0 +- Fastlane 2.231.1 +- SwiftFormat 0.59.1 +- Xcbeautify 3.1.4 +- Xcode Command Line Tools 26.2.0.0.1.1764812424 +- Xcodes 1.6.2 + +### Linters +- SwiftLint 0.63.2 + +### Browsers +- Safari 26.2 (21623.1.14.11.9) +- SafariDriver 26.2 (21623.1.14.11.9) +- Google Chrome 144.0.7559.133 +- Google Chrome for Testing 144.0.7559.133 +- ChromeDriver 144.0.7559.133 +- Microsoft Edge 144.0.3719.104 +- Microsoft Edge WebDriver 144.0.3719.104 +- Mozilla Firefox 147.0.2 +- geckodriver 0.36.0 +- Selenium server 4.40.0 + +#### Environment variables +| Name | Value | +| --------------- | ------------------------------------- | +| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 | +| EDGEWEBDRIVER | /usr/local/share/edge_driver | +| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin | + +### Java +| Version | Environment Variable | +| --------------------- | -------------------- | +| 11.0.30+7 | JAVA_HOME_11_X64 | +| 17.0.18+8 | JAVA_HOME_17_X64 | +| 21.0.10+7.0 (default) | JAVA_HOME_21_X64 | +| 25.0.2+10.0 | JAVA_HOME_25_X64 | + +### Cached Tools + +#### Ruby +- 3.2.10 +- 3.3.10 +- 3.4.8 +- 4.0.1 + +#### Python +- 3.11.9 +- 3.12.10 +- 3.13.12 +- 3.14.3 + +#### Node.js +- 20.20.0 +- 22.22.0 +- 24.13.0 + +#### Go +- 1.23.12 +- 1.24.12 +- 1.25.6 + +### Rust Tools +- Cargo 1.93.0 +- Rust 1.93.0 +- Rustdoc 1.93.0 +- Rustup 1.28.2 + +#### Packages +- Clippy 0.1.93 +- Rustfmt 1.8.0-stable + +### PowerShell Tools +- PowerShell 7.4.13 + +#### PowerShell Modules +- Az: 14.6.0 +- Pester: 5.7.1 +- PSScriptAnalyzer: 1.24.0 + +### Xcode +| Version | Build | Path | Symlinks | +| -------------- | ------ | ---------------------------------------------- | -------------------------------------------------------------- | +| 26.3 | 17C519 | /Applications/Xcode_26.3_Release_Candidate.app | /Applications/Xcode_26.3.0.app
/Applications/Xcode_26.3.app | +| 26.2 (default) | 17C52 | /Applications/Xcode_26.2.app | /Applications/Xcode_26.2.0.app
/Applications/Xcode.app | +| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app | +| 26.0.1 | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app | + +#### Installed SDKs +| SDK | SDK Name | Xcode Version | +| ------------------------- | -------------------- | ------------- | +| macOS 26.0 | macosx26.0 | 26.0.1 | +| macOS 26.1 | macosx26.1 | 26.1.1 | +| macOS 26.2 | macosx26.2 | 26.2, 26.3 | +| iOS 26.0 | iphoneos26.0 | 26.0.1 | +| iOS 26.1 | iphoneos26.1 | 26.1.1 | +| iOS 26.2 | iphoneos26.2 | 26.2, 26.3 | +| Simulator - iOS 26.0 | iphonesimulator26.0 | 26.0.1 | +| Simulator - iOS 26.1 | iphonesimulator26.1 | 26.1.1 | +| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2, 26.3 | +| tvOS 26.0 | appletvos26.0 | 26.0.1 | +| tvOS 26.1 | appletvos26.1 | 26.1.1 | +| tvOS 26.2 | appletvos26.2 | 26.2, 26.3 | +| Simulator - tvOS 26.0 | appletvsimulator26.0 | 26.0.1 | +| Simulator - tvOS 26.1 | appletvsimulator26.1 | 26.1.1 | +| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2, 26.3 | +| watchOS 26.0 | watchos26.0 | 26.0.1 | +| watchOS 26.1 | watchos26.1 | 26.1.1 | +| watchOS 26.2 | watchos26.2 | 26.2, 26.3 | +| Simulator - watchOS 26.0 | watchsimulator26.0 | 26.0.1 | +| Simulator - watchOS 26.1 | watchsimulator26.1 | 26.1.1 | +| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2, 26.3 | +| visionOS 26.0 | xros26.0 | 26.0.1 | +| visionOS 26.1 | xros26.1 | 26.1.1 | +| visionOS 26.2 | xros26.2 | 26.2, 26.3 | +| Simulator - visionOS 26.0 | xrsimulator26.0 | 26.0.1 | +| Simulator - visionOS 26.1 | xrsimulator26.1 | 26.1.1 | +| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2, 26.3 | +| DriverKit 25.0 | driverkit25.0 | 26.0.1 | +| DriverKit 25.1 | driverkit25.1 | 26.1.1 | +| DriverKit 25.2 | driverkit25.2 | 26.2, 26.3 | + +#### Installed Simulators +| Name | OS | Simulators | +| ------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| iOS 26.0 | 26.0.1 | iPhone 16e
iPhone 17
iPhone 17 Pro
iPhone 17 Pro Max
iPhone Air
iPad (A16)
iPad Air 11-inch (M3)
iPad Air 13-inch (M3)
iPad mini (A17 Pro)
iPad Pro 11-inch (M4)
iPad Pro 11-inch (M5)
iPad Pro 13-inch (M4)
iPad Pro 13-inch (M5) | +| iOS 26.1 | 26.1 | iPhone 16e
iPhone 17
iPhone 17 Pro
iPhone 17 Pro Max
iPhone Air
iPad (A16)
iPad Air 11-inch (M3)
iPad Air 13-inch (M3)
iPad mini (A17 Pro)
iPad Pro 11-inch (M5)
iPad Pro 13-inch (M5) | +| iOS 26.2 | 26.2 | iPhone 16e
iPhone 17
iPhone 17 Pro
iPhone 17 Pro Max
iPhone Air
iPad (A16)
iPad Air 11-inch (M3)
iPad Air 13-inch (M3)
iPad mini (A17 Pro)
iPad Pro 11-inch (M5)
iPad Pro 13-inch (M5) | +| tvOS 26.0 | 26.0 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | +| tvOS 26.1 | 26.1 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | +| tvOS 26.2 | 26.2 | Apple TV
Apple TV 4K (3rd generation)
Apple TV 4K (3rd generation) (at 1080p) | +| watchOS 26.0 | 26.0 | Apple Watch SE 3 (40mm)
Apple Watch SE 3 (44mm)
Apple Watch Series 11 (42mm)
Apple Watch Series 11 (46mm)
Apple Watch Ultra 3 (49mm) | +| watchOS 26.1 | 26.1 | Apple Watch SE 3 (40mm)
Apple Watch SE 3 (44mm)
Apple Watch Series 11 (42mm)
Apple Watch Series 11 (46mm)
Apple Watch Ultra 3 (49mm) | +| watchOS 26.2 | 26.2 | Apple Watch SE 3 (40mm)
Apple Watch SE 3 (44mm)
Apple Watch Series 11 (42mm)
Apple Watch Series 11 (46mm)
Apple Watch Ultra 3 (49mm) | + +### Android +| Package Name | Version | +| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Android Command Line Tools | 16.0 | +| Android Emulator | 36.3.10 | +| Android SDK Build-tools | 36.0.0 36.1.0
35.0.0 35.0.1 | +| Android SDK Platforms | android-36.1 (rev 1)
android-36-ext19 (rev 1)
android-36-ext18 (rev 1)
android-36 (rev 2)
android-35-ext15 (rev 1)
android-35-ext14 (rev 1)
android-35 (rev 2) | +| Android SDK Platform-Tools | 36.0.2 | +| Android Support Repository | 47.0.0 | +| CMake | 3.31.5
4.1.2 | +| Google Play services | 49 | +| Google Repository | 58 | +| NDK | 27.3.13750724 (default)
28.2.13676358
29.0.14206865 | + +#### Environment variables +| Name | Value | +| ----------------------- | --------------------------------------------------- | +| ANDROID_HOME | /Users/runner/Library/Android/sdk | +| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 | +| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 | +| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/29.0.14206865 | +| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 | +| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk | + +### Miscellaneous +- Tcl/Tk 8.6.17 diff --git a/images/macos/scripts/build/Update-XcodeSimulators.ps1 b/images/macos/scripts/build/Update-XcodeSimulators.ps1 index 7cc42fb55..d9319770b 100644 --- a/images/macos/scripts/build/Update-XcodeSimulators.ps1 +++ b/images/macos/scripts/build/Update-XcodeSimulators.ps1 @@ -49,8 +49,3 @@ function Test-SimulatorInstalled { # First run doesn't provide full data about devices Get-XcodeInfoList | Out-Null - -Write-Host "Validating and fixing Xcode simulators..." -Get-BrokenXcodeSimulatorsList | ForEach-Object { - Test-SimulatorInstalled -RuntimeId $_.RuntimeId -DeviceId $_.DeviceId -SimulatorName $_.SimulatorName -XcodeVersion $_.XcodeVersion -} diff --git a/images/macos/scripts/build/configure-system.sh b/images/macos/scripts/build/configure-system.sh index f4a537a79..ec23fd79c 100644 --- a/images/macos/scripts/build/configure-system.sh +++ b/images/macos/scripts/build/configure-system.sh @@ -42,7 +42,7 @@ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.PerfPowerServic # Remove Parallels Desktop # https://github.com/actions/runner-images/issues/6105 # https://github.com/actions/runner-images/issues/10143 -if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then +if is_SonomaX64 || is_SequoiaX64; then brew uninstall parallels fi diff --git a/images/macos/scripts/build/configure-tccdb-macos.sh b/images/macos/scripts/build/configure-tccdb-macos.sh index 71dae6ef1..9ed83668e 100644 --- a/images/macos/scripts/build/configure-tccdb-macos.sh +++ b/images/macos/scripts/build/configure-tccdb-macos.sh @@ -48,12 +48,7 @@ systemValuesArray=( "'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068" ) for values in "${systemValuesArray[@]}"; do - if ! is_Ventura; then - # TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded - configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" - else - configure_system_tccdb "$values" - fi + configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" done # $HOME/Library/Application\ Support/com.apple.TCC/TCC.db @@ -100,10 +95,5 @@ userValuesArray=( "'kTCCServiceUbiquity','com.apple.mail',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1551941469" ) for values in "${userValuesArray[@]}"; do - if ! is_Ventura; then - # TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded - configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" - else - configure_user_tccdb "$values" - fi + configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}" done diff --git a/images/macos/scripts/build/configure-windows.sh b/images/macos/scripts/build/configure-windows.sh index 9a753a566..c6d3b1987 100644 --- a/images/macos/scripts/build/configure-windows.sh +++ b/images/macos/scripts/build/configure-windows.sh @@ -6,7 +6,7 @@ source ~/utils/utils.sh -# Close System Preferences window because in Ventura arm64 it is opened by default on Apperance tab +# Close System Preferences window because since Ventura arm64 it is opened by default on Apperance tab if is_Arm64; then echo "Close System Preferences window" osascript -e 'tell application "System Preferences" to quit' diff --git a/images/macos/scripts/build/install-common-utils.sh b/images/macos/scripts/build/install-common-utils.sh index 4514d276b..1bcb84458 100644 --- a/images/macos/scripts/build/install-common-utils.sh +++ b/images/macos/scripts/build/install-common-utils.sh @@ -17,7 +17,7 @@ for package in $common_packages; do tcl-tk@8) brew_smart_install "$package" - if is_VenturaX64 || is_SonomaX64 || is_SequoiaX64; then + if is_SonomaX64 || is_SequoiaX64 || is_TahoeX64; then # Fix for https://github.com/actions/runner-images/issues/11074 ln -sf "$(brew --prefix tcl-tk@8)/lib/libtcl8.6.dylib" /usr/local/lib/libtcl8.6.dylib ln -sf "$(brew --prefix tcl-tk@8)/lib/libtk8.6.dylib" /usr/local/lib/libtk8.6.dylib @@ -42,22 +42,19 @@ for package in $cask_packages; do done # Load "Parallels International GmbH" -if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then +if is_SonomaX64 || is_SequoiaX64; then sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true fi # Execute AppleScript to change security preferences for macOS12, macOS13, macOS14 and macOS15 # System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now -if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then +if is_SonomaX64 || is_SequoiaX64; then for retry in {4..0}; do echo "Executing AppleScript to change security preferences. Retries left: $retry" { set -e - osascript -e 'tell application "System Events" to get application processes where visible is true' - if is_VenturaX64; then - osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD - fi - + osascript -e 'tell application "System Events" to get application processes where visible is true' + if is_SonomaX64; then osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD fi @@ -65,6 +62,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then if is_SequoiaX64; then osascript $HOME/utils/confirm-identified-developers-macos15.scpt $USER_PASSWORD fi + } && break if [[ $retry -eq 0 ]]; then @@ -78,7 +76,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then fi # Validate "Parallels International GmbH" kext -if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then +if is_SonomaX64 || is_SequoiaX64; then echo "Closing System Settings window if it is still opened" killall "System Settings" || true diff --git a/images/macos/scripts/build/install-pypy.sh b/images/macos/scripts/build/install-pypy.sh deleted file mode 100644 index 08f4ca70d..000000000 --- a/images/macos/scripts/build/install-pypy.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash -e -o pipefail -################################################################################ -## File: install-pypy.sh -## Desc: Install PyPy -################################################################################ - -source ~/utils/utils.sh - -InstallPyPy() { - local package_url=$1 - - PACKAGE_TAR_NAME=$(basename $package_url) - echo "Downloading tar archive '$PACKAGE_TAR_NAME'" - archive_path=$(download_with_retry $package_url) - - echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder" - tar xf $archive_path -C /tmp - - # Get Python version - PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/} - MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1) - PYTHON_MAJOR="python$MAJOR_VERSION" - - if [[ $MAJOR_VERSION != 2 ]]; then - PYPY_MAJOR="pypy$MAJOR_VERSION" - else - PYPY_MAJOR="pypy" - fi - - PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME" - PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))") - PYPY_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))") - echo "Put '$PYPY_FULL_VERSION' to PYPY_VERSION file" - echo $PYPY_FULL_VERSION > "$PACKAGE_TEMP_FOLDER/PYPY_VERSION" - - # PyPy folder structure - PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy - PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION - PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64 - - echo "Check if PyPy hostedtoolcache folder exist..." - if [[ ! -d $PYPY_TOOLCACHE_PATH ]]; then - mkdir -p $PYPY_TOOLCACHE_PATH - fi - - echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder" - mkdir $PYPY_TOOLCACHE_VERSION_PATH - - echo "Move PyPy $PACKAGE_TEMP_FOLDER binaries to $PYPY_TOOLCACHE_VERSION_ARCH_PATH folder" - mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH - - echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)" - cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin - - PYPY_FULL_VERSION=$(./$PYPY_MAJOR -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))") - echo "PYPY_FULL_VERSION is $PYPY_FULL_VERSION" - echo $PYPY_FULL_VERSION > "PYPY_VERSION" - - # Starting from PyPy 7.3.4 these links are already included in the package - [[ -f ./$PYTHON_MAJOR ]] || ln -s $PYPY_MAJOR $PYTHON_MAJOR - [[ -f ./python ]] || ln -s $PYTHON_MAJOR python - - chmod +x ./python ./$PYTHON_MAJOR - - echo "Install latest Pip" - ./python -m ensurepip - ./python -m pip install --ignore-installed pip - - echo "Create complete file" - touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete -} - -arch=$(get_arch) -versions_json_path=$(download_with_retry "https://downloads.python.org/pypy/versions.json") -toolsetVersions=$(get_toolset_value '.toolcache[] | select(.name | contains("PyPy")) | .arch.'$arch'.versions[]') - -for toolsetVersion in $toolsetVersions; do - latestMajorPyPyVersion=$(cat $versions_json_path | - jq -r --arg toolsetVersion $toolsetVersion '.[] - | select((.python_version | startswith($toolsetVersion)) and .stable == true).files[] - | select(.platform == "darwin").download_url' | head -1) - if [[ -z $latestMajorPyPyVersion ]]; then - echo "Failed to get PyPy version $toolsetVersion" - exit 1 - fi - InstallPyPy $latestMajorPyPyVersion -done diff --git a/images/macos/scripts/docs-gen/Generate-SoftwareReport.ps1 b/images/macos/scripts/docs-gen/Generate-SoftwareReport.ps1 index ad2bce12b..dd36fec5c 100644 --- a/images/macos/scripts/docs-gen/Generate-SoftwareReport.ps1 +++ b/images/macos/scripts/docs-gen/Generate-SoftwareReport.ps1 @@ -37,7 +37,7 @@ $languageAndRuntime.AddNodes($(Get-ClangLLVMVersions)) $languageAndRuntime.AddNodes($(Get-GccVersions)) $languageAndRuntime.AddNodes($(Get-FortranVersions)) $languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion)) -if (($os.IsVentura -or $os.IsSonoma)) { +if (($os.IsSonoma)) { $languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion)) } $languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion)) @@ -58,15 +58,13 @@ if ((-not $os.IsArm64)) { } $packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion)) $packageManagement.AddToolVersion("NPM", $(Get-NPMVersion)) -if (($os.IsVentura -or $os.IsSonoma)) { +if (($os.IsSonoma)) { $packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion)) } $packageManagement.AddToolVersion("Pip3", $(Get-Pip3Version)) $packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion)) $packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion)) -if (-not $os.IsVenturaArm64) { - $packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion)) -} +$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion)) $packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion)) # Project Management @@ -174,12 +172,12 @@ $android.AddTable($androidTable) $androidEnv = $android.AddHeader("Environment variables") $androidEnv.AddTable($(Build-AndroidEnvironmentTable)) -if ($os.IsSonoma -or $os.IsVentura -or $os.IsSequoia) { +if (($os.IsSonoma -or $os.IsSequoia -or $os.IsTahoe)) { $miscellaneous = $installedSoftware.AddHeader("Miscellaneous") $miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion)) } -if ((-not $os.IsArm64)) { +if (($os.IsSonomaX64 -or $os.IsSequoiaX64)) { Write-Host "Adding environment variables for parallels" diff --git a/images/macos/scripts/docs-gen/SoftwareReport.Toolcache.psm1 b/images/macos/scripts/docs-gen/SoftwareReport.Toolcache.psm1 index 6eb2f3d4f..3f741ade7 100644 --- a/images/macos/scripts/docs-gen/SoftwareReport.Toolcache.psm1 +++ b/images/macos/scripts/docs-gen/SoftwareReport.Toolcache.psm1 @@ -1,7 +1,5 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" -$os = Get-OSVersion - function Get-ToolcacheRubyVersions { $toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Ruby" return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } @@ -12,17 +10,6 @@ function Get-ToolcachePythonVersions { return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } } -function Get-ToolcachePyPyVersions { - $toolcachePath = Join-Path $env:HOME "hostedtoolcache/PyPy/*/x64" - Get-ChildItem -Path $toolcachePath | Sort-Object { [Version] $_.Parent.Name } | ForEach-Object { - $foundVersionPath = $_.FullName - $foundVersionName = (Get-Item ($foundVersionPath -replace "x64") | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1).name - $arrPyPyVersion = ((& "$foundVersionPath/bin/python" -c "import sys;print(sys.version.split('\n')[1])") -split " ") - $pypyVersion = "$($arrPyPyVersion[0]) $($arrPyPyVersion[1])" - return "{0} {1}]" -f $foundVersionName, $pypyVersion - } -} - function Get-ToolcacheNodeVersions { $toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Node" return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ } @@ -36,13 +23,6 @@ function Get-ToolcacheGoVersions { function Build-ToolcacheSection { $nodes = @() - - if ($os.IsVenturaX64) { - $nodes += @( - [ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List") - ) - } - $nodes += @( [ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List") [ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"), diff --git a/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1 b/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1 index 054f1499c..949ebc46a 100644 --- a/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1 +++ b/images/macos/scripts/docs-gen/SoftwareReport.Xcode.psm1 @@ -1,8 +1,6 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1" Import-Module "$PSScriptRoot/../helpers/Xcode.Helpers.psm1" -$os = Get-OSVersion - function Get-XcodePaths { $xcodePaths = Get-ChildItem -Path "/Applications" -Filter "Xcode_*.app" | Where-Object { !$_.LinkType } return $xcodePaths | Select-Object -ExpandProperty Fullname diff --git a/images/macos/scripts/helpers/Common.Helpers.psm1 b/images/macos/scripts/helpers/Common.Helpers.psm1 index bf98adc44..0da9a9bb0 100644 --- a/images/macos/scripts/helpers/Common.Helpers.psm1 +++ b/images/macos/scripts/helpers/Common.Helpers.psm1 @@ -29,9 +29,6 @@ function Get-OSVersion { Version = $osVersion.Version Platform = $osVersion.Platform IsArm64 = $processorArchitecture -eq "arm64" - IsVentura = $($osVersion.Version.Major -eq "13") - IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64") - IsVenturaX64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64") IsSonoma = $($osVersion.Version.Major -eq "14") IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64") IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64") @@ -39,6 +36,8 @@ function Get-OSVersion { IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64") IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64") IsTahoe = $($osVersion.Version.Major -eq "26") + IsTahoeArm64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -eq "arm64") + IsTahoeX64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -ne "arm64") } } diff --git a/images/macos/scripts/helpers/Xcode.Helpers.psm1 b/images/macos/scripts/helpers/Xcode.Helpers.psm1 index a55d8de15..9aef6c41e 100644 --- a/images/macos/scripts/helpers/Xcode.Helpers.psm1 +++ b/images/macos/scripts/helpers/Xcode.Helpers.psm1 @@ -156,157 +156,3 @@ function Invoke-XCVersion { throw "Command [$Command] has finished with non-zero exit code." } } - -function Get-BrokenXcodeSimulatorsList { - return @( - # tvOS Simulators - @{ - SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-2"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-4"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-16-0"; - XcodeVersion = "14.2" - }, - # watchOS-8-0 Simulators - @{ - SimulatorName = "Apple Watch Series 5 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple Watch Series 5 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 41mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 45mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0"; - XcodeVersion = "13.1" - }, - # watchOS-8-3 Simulators - @{ - SimulatorName = "Apple Watch Series 5 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple Watch Series 5 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 41mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 45mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3"; - XcodeVersion = "13.2.1" - }, - # watchOS-8-5 Simulators - @{ - SimulatorName = "Apple Watch Series 5 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple Watch Series 5 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 40mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple Watch Series 6 - 44mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 41mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - @{ - SimulatorName = "Apple Watch Series 7 - 45mm" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5"; - XcodeVersion = "13.4.1" - }, - # watchOS-9-0 Simulators - @{ - SimulatorName = "Apple Watch SE (40mm) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-40mm-2nd-generation"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0"; - XcodeVersion = "14.2" - }, - @{ - SimulatorName = "Apple Watch SE (44mm) (2nd generation)" - DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-44mm-2nd-generation"; - RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0"; - XcodeVersion = "14.2" - } - ) -} diff --git a/images/macos/scripts/helpers/Xcode.Installer.psm1 b/images/macos/scripts/helpers/Xcode.Installer.psm1 index e02c1808d..4558cb5d1 100644 --- a/images/macos/scripts/helpers/Xcode.Installer.psm1 +++ b/images/macos/scripts/helpers/Xcode.Installer.psm1 @@ -98,7 +98,7 @@ function Approve-XcodeLicense { Write-Host "Approving Xcode license for '$XcodeRootPath'..." $xcodeBuildPath = Get-XcodeToolPath -XcodeRootPath $XcodeRootPath -ToolName "xcodebuild" - if ($os.IsVentura -or $os.IsSonoma) { + if ($os.IsSonoma) { Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" -Timeout 15 } else { Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" diff --git a/images/macos/scripts/helpers/confirm-identified-developers-macos13.scpt b/images/macos/scripts/helpers/confirm-identified-developers-macos13.scpt deleted file mode 100644 index 6ab835141..000000000 --- a/images/macos/scripts/helpers/confirm-identified-developers-macos13.scpt +++ /dev/null @@ -1,34 +0,0 @@ -# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH" -# Steps: -# - Open System Settings -> Privacy & Security -# - Click 'Allow' for 'System Software from developer "Parallels International GmbH' -# - Enter password for runner - -on run argv - set userpassword to item 1 of argv - - tell application "System Settings" - activate - delay 5 - end tell - - tell application "System Events" - tell process "System Settings" - set frontmost to true - repeat until exists window 1 - delay 2 - end repeat - - tell splitter group 1 of group 1 of window 1 - select row 20 of outline 1 of scroll area 1 of group 1 - delay 5 - click UI Element 2 of group 4 of scroll area 1 of group 1 of group 2 - delay 5 - keystroke userpassword - delay 5 - keystroke return - delay 5 - end tell - end tell - end tell -end run diff --git a/images/macos/scripts/helpers/utils.sh b/images/macos/scripts/helpers/utils.sh index 8849cbcdf..8920d49ab 100644 --- a/images/macos/scripts/helpers/utils.sh +++ b/images/macos/scripts/helpers/utils.sh @@ -49,6 +49,14 @@ is_Tahoe() { [ "$OSTYPE" = "darwin25" ] } +is_TahoeArm64() { + is_Tahoe && is_Arm64 +} + +is_TahoeX64() { + is_Tahoe && ! is_Arm64 +} + is_Sequoia() { [ "$OSTYPE" = "darwin24" ] } @@ -73,18 +81,6 @@ is_SonomaX64() { is_Sonoma && ! is_Arm64 } -is_Ventura() { - [ "$OSTYPE" = "darwin22" ] -} - -is_VenturaArm64() { - is_Ventura && is_Arm64 -} - -is_VenturaX64() { - is_Ventura && ! is_Arm64 -} - get_toolset_value() { local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json") local query=$1 diff --git a/images/macos/scripts/tests/BasicTools.Tests.ps1 b/images/macos/scripts/tests/BasicTools.Tests.ps1 index b6e882413..2162aff2d 100644 --- a/images/macos/scripts/tests/BasicTools.Tests.ps1 +++ b/images/macos/scripts/tests/BasicTools.Tests.ps1 @@ -56,7 +56,7 @@ Describe "Perl" { } } -Describe "Tcl/Tk" -Skip:(-not ($os.IsVenturaX64 -or $os.IsSonomaX64)) { +Describe "Tcl/Tk" -Skip:($os.IsArm64) { It "libtcl" { Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue diff --git a/images/macos/scripts/tests/Common.Tests.ps1 b/images/macos/scripts/tests/Common.Tests.ps1 index 0373cb166..c2fba48d0 100644 --- a/images/macos/scripts/tests/Common.Tests.ps1 +++ b/images/macos/scripts/tests/Common.Tests.ps1 @@ -33,7 +33,7 @@ Describe "GCC" { } } -Describe "vcpkg" -Skip:($os.IsVenturaArm64) { +Describe "vcpkg" { It "vcpkg" { "vcpkg version" | Should -ReturnZeroExitCode } diff --git a/images/macos/scripts/tests/Mono.Tests.ps1 b/images/macos/scripts/tests/Mono.Tests.ps1 index 9cfa326f4..476f0300f 100644 --- a/images/macos/scripts/tests/Mono.Tests.ps1 +++ b/images/macos/scripts/tests/Mono.Tests.ps1 @@ -14,7 +14,7 @@ BeforeAll { } } -if ($os.IsVentura -or $os.IsSonoma) { +if ($os.IsSonoma) { Describe "Mono" { $MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions" $monoToolsetVersion = @((Get-ToolsetContent).mono.framework.version) diff --git a/images/macos/scripts/tests/Toolcache.Tests.ps1 b/images/macos/scripts/tests/Toolcache.Tests.ps1 index 98f229ab4..5f1291cca 100644 --- a/images/macos/scripts/tests/Toolcache.Tests.ps1 +++ b/images/macos/scripts/tests/Toolcache.Tests.ps1 @@ -99,49 +99,6 @@ Describe "Toolcache" { } } } - Context "PyPy" -Skip:(-not $os.IsVenturaX64) { - $pypyDirectory = Join-Path $toolcacheDirectory "PyPy" - $pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1 - $testCase = @{ PypyDirectory = $pypyDirectory } - - It "Toolcache directory exists" -TestCases $testCase { - param ( [string] $PypyDirectory ) - - $PypyDirectory | Should -Exist - } - - It "Toolcache directory contains at least one version of PyPy" -TestCases $testCase { - param ( [string] $PypyDirectory ) - - (Get-ChildItem -Path $PypyDirectory -Directory).Count | Should -BeGreaterThan 0 - } - - $pypyPackage.Versions | Where-Object { $_ } | ForEach-Object { - Context "$_" { - $versionDirectory = Get-ChildItem -Path $pypyDirectory -Directory -Filter "$_*" | Select-Object -First 1 - $binFilename = If ($_.StartsWith("3")) { "pypy3" } else { "pypy" } - $pypyBinPath = Join-Path $versionDirectory.FullName $pypyPackage.Arch "bin" $binFilename - $testCase = @{ PypyVersion = $_; PypyBinPath = $pypyBinPath } - - It "Version" -TestCases $testCase { - param ( - [string] $PypyVersion, - [string] $PypyBinPath - ) - - $result = Get-CommandResult "$PypyBinPath --version" - $result.Output | Should -BeLike "*$PypyVersion*" - $result.ExitCode | Should -Be 0 - } - - It "Run test script" -TestCases $testCase { - param ( [string] $PypyBinPath ) - - "$PypyBinPath -c 'import sys;print(sys.version)'" | Should -ReturnZeroExitCode - } - } - } - } Context "Node" { $nodeDirectory = Join-Path $toolcacheDirectory "node" diff --git a/images/macos/templates/macOS-13.anka.pkr.hcl b/images/macos/templates/macOS-13.anka.pkr.hcl deleted file mode 100644 index f764115fd..000000000 --- a/images/macos/templates/macOS-13.anka.pkr.hcl +++ /dev/null @@ -1,300 +0,0 @@ -packer { - required_plugins { - veertu-anka = { - version = ">= v3.2.0" - source = "github.com/veertuinc/veertu-anka" - } - } -} - -locals { - image_folder = "/Users/${var.vm_username}/image-generation" -} - -variable "builder_type" { - type = string - default = "veertu-anka-vm-clone" - validation { - condition = contains(["veertu-anka-vm-clone", "null"], var.builder_type) - error_message = "The builder_type value must be one of [veertu-anka-vm-clone, null]." - } -} - -variable "source_vm_name" { - type = string -} - -variable "source_vm_port" { - type = number - default = 22 -} - -variable "source_vm_tag" { - type = string - default = "" -} - -variable "socks_proxy" { - type = string - default = "" -} - -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 - sensitive = true - default = "" -} - -variable "xcode_install_storage_url" { - type = string - sensitive = true -} - -variable "xcode_install_sas" { - type = string - sensitive = true -} - -variable "vcpu_count" { - type = string - default = "6" -} - -variable "ram_size" { - type = string - default = "24G" -} - -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" -} - -source "null" "template" { - ssh_host = "${var.source_vm_name}" - ssh_port = "${var.source_vm_port}" - ssh_username = "${var.vm_username}" - ssh_password = "${var.vm_password}" - ssh_proxy_host = "${var.socks_proxy}" -} - -build { - sources = ["source.${var.builder_type}.template"] - - provisioner "shell" { - inline = ["mkdir ${local.image_folder}"] - } - - provisioner "file" { - destination = "${local.image_folder}/" - sources = [ - "${path.root}/../scripts/tests", - "${path.root}/../scripts/docs-gen", - "${path.root}/../scripts/helpers" - ] - } - - provisioner "file" { - destination = "${local.image_folder}/docs-gen/" - source = "${path.root}/../../../helpers/software-report-base" - } - - provisioner "file" { - destination = "${local.image_folder}/add-certificate.swift" - source = "${path.root}/../assets/add-certificate.swift" - } - - provisioner "file" { - destination = ".bashrc" - source = "${path.root}/../assets/bashrc" - } - - provisioner "file" { - destination = ".bash_profile" - source = "${path.root}/../assets/bashprofile" - } - - provisioner "shell" { - inline = ["mkdir ~/bootstrap"] - } - - provisioner "file" { - destination = "bootstrap" - source = "${path.root}/../assets/bootstrap-provisioner/" - } - - provisioner "file" { - destination = "${local.image_folder}/toolset.json" - source = "${path.root}/../toolsets/toolset-13.json" - } - - provisioner "shell" { - execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'" - inline = [ - "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", - "mkdir ~/utils", - "mv ${local.image_folder}/helpers/confirm-identified-developers-macos13.scpt ~/utils", - "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", - "mv ${local.image_folder}/helpers/utils.sh ~/utils", - ] - } - - provisioner "shell" { - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/install-xcode-clt.sh", - "${path.root}/../scripts/build/install-homebrew.sh" - ] - } - - provisioner "shell" { - environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/configure-tccdb-macos.sh", - "${path.root}/../scripts/build/configure-autologin.sh", - "${path.root}/../scripts/build/configure-auto-updates.sh", - "${path.root}/../scripts/build/configure-ntpconf.sh", - "${path.root}/../scripts/build/configure-shell.sh" - ] - } - - provisioner "shell" { - environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/configure-preimagedata.sh", - "${path.root}/../scripts/build/configure-ssh.sh", - "${path.root}/../scripts/build/configure-machine.sh" - ] - } - - provisioner "shell" { - execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" - expect_disconnect = true - inline = ["echo 'Reboot VM'", "shutdown -r now"] - } - - provisioner "shell" { - environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - pause_before = "30s" - scripts = [ - "${path.root}/../scripts/build/configure-windows.sh", - "${path.root}/../scripts/build/install-powershell.sh", - "${path.root}/../scripts/build/install-mono.sh", - "${path.root}/../scripts/build/install-dotnet.sh", - "${path.root}/../scripts/build/install-python.sh", - "${path.root}/../scripts/build/install-azcopy.sh", - "${path.root}/../scripts/build/install-openssl.sh", - "${path.root}/../scripts/build/install-ruby.sh", - "${path.root}/../scripts/build/install-rubygems.sh", - "${path.root}/../scripts/build/install-git.sh", - "${path.root}/../scripts/build/install-node.sh", - "${path.root}/../scripts/build/install-common-utils.sh", - "${path.root}/../scripts/build/install-unxip.sh" - ] - } - - provisioner "shell" { - environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" - script = "${path.root}/../scripts/build/Install-Xcode.ps1" - } - - provisioner "shell" { - execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}" - expect_disconnect = true - inline = ["echo 'Reboot VM'", "shutdown -r now"] - } - - provisioner "shell" { - environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/install-actions-cache.sh", - "${path.root}/../scripts/build/install-llvm.sh", - "${path.root}/../scripts/build/install-swiftlint.sh", - "${path.root}/../scripts/build/install-openjdk.sh", - "${path.root}/../scripts/build/install-php.sh", - "${path.root}/../scripts/build/install-aws-tools.sh", - "${path.root}/../scripts/build/install-rust.sh", - "${path.root}/../scripts/build/install-gcc.sh", - "${path.root}/../scripts/build/install-cocoapods.sh", - "${path.root}/../scripts/build/install-android-sdk.sh", - "${path.root}/../scripts/build/install-vcpkg.sh", - "${path.root}/../scripts/build/install-safari.sh", - "${path.root}/../scripts/build/install-chrome.sh", - "${path.root}/../scripts/build/install-edge.sh", - "${path.root}/../scripts/build/install-firefox.sh", - "${path.root}/../scripts/build/install-pypy.sh", - "${path.root}/../scripts/build/install-bicep.sh", - "${path.root}/../scripts/build/install-codeql-bundle.sh" - ] - } - - provisioner "shell" { - environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/Install-Toolset.ps1", - "${path.root}/../scripts/build/Configure-Toolset.ps1" - ] - } - - provisioner "shell" { - environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}" - script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1" - } - - provisioner "shell" { - environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] - execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - inline = [ - "pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}", - "pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\"" - ] - } - - provisioner "file" { - destination = "${path.root}/../../image-output/" - direction = "download" - source = "${local.image_folder}/output/" - } - - provisioner "shell" { - inline = ["rm -rf \"$(brew --cache)\""] - } - - provisioner "shell" { - execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" - scripts = [ - "${path.root}/../scripts/build/configure-hostname.sh", - "${path.root}/../scripts/build/configure-system.sh" - ] - } -} diff --git a/images/macos/templates/macOS-13.arm64.anka.pkr.hcl b/images/macos/templates/macOS-26.anka.pkr.hcl similarity index 91% rename from images/macos/templates/macOS-13.arm64.anka.pkr.hcl rename to images/macos/templates/macOS-26.anka.pkr.hcl index 55137b0eb..357eb0d28 100644 --- a/images/macos/templates/macOS-13.arm64.anka.pkr.hcl +++ b/images/macos/templates/macOS-26.anka.pkr.hcl @@ -81,7 +81,7 @@ variable "ram_size" { variable "image_os" { type = string - default = "macos13" + default = "macos26" } source "veertu-anka-vm-clone" "template" { @@ -149,7 +149,7 @@ build { provisioner "file" { destination = "${local.image_folder}/toolset.json" - source = "${path.root}/../toolsets/toolset-13.json" + source = "${path.root}/../toolsets/toolset-26.json" } provisioner "shell" { @@ -158,7 +158,7 @@ build { "mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report", "mkdir ~/utils", "mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils", - "mv ${local.image_folder}/helpers/utils.sh ~/utils", + "mv ${local.image_folder}/helpers/utils.sh ~/utils" ] } @@ -203,20 +203,16 @@ build { execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" pause_before = "30s" scripts = [ - "${path.root}/../scripts/build/install-rosetta.sh", "${path.root}/../scripts/build/configure-windows.sh", "${path.root}/../scripts/build/install-powershell.sh", - "${path.root}/../scripts/build/install-mono.sh", "${path.root}/../scripts/build/install-dotnet.sh", "${path.root}/../scripts/build/install-python.sh", "${path.root}/../scripts/build/install-azcopy.sh", - "${path.root}/../scripts/build/install-openssl.sh", "${path.root}/../scripts/build/install-ruby.sh", "${path.root}/../scripts/build/install-rubygems.sh", "${path.root}/../scripts/build/install-git.sh", "${path.root}/../scripts/build/install-node.sh", - "${path.root}/../scripts/build/install-common-utils.sh", - "${path.root}/../scripts/build/install-unxip.sh" + "${path.root}/../scripts/build/install-common-utils.sh" ] } @@ -238,12 +234,15 @@ build { scripts = [ "${path.root}/../scripts/build/install-actions-cache.sh", "${path.root}/../scripts/build/install-llvm.sh", + "${path.root}/../scripts/build/install-swiftlint.sh", "${path.root}/../scripts/build/install-openjdk.sh", + "${path.root}/../scripts/build/install-php.sh", "${path.root}/../scripts/build/install-aws-tools.sh", "${path.root}/../scripts/build/install-rust.sh", "${path.root}/../scripts/build/install-gcc.sh", "${path.root}/../scripts/build/install-cocoapods.sh", "${path.root}/../scripts/build/install-android-sdk.sh", + "${path.root}/../scripts/build/install-vcpkg.sh", "${path.root}/../scripts/build/install-safari.sh", "${path.root}/../scripts/build/install-chrome.sh", "${path.root}/../scripts/build/install-firefox.sh", @@ -272,15 +271,21 @@ build { environment_vars = ["IMAGE_FOLDER=${local.image_folder}"] execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}" inline = [ - "pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}", + "pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output\" -ImageName ${var.build_id}", "pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\"" ] } provisioner "file" { - destination = "${path.root}/../../image-output/" + destination = "${path.root}/../../image-output/macos-26-Readme.md" direction = "download" - source = "${local.image_folder}/output/" + source = "${local.image_folder}/output/software-report.md" + } + + provisioner "file" { + destination = "${path.root}/../../image-output/software-report.json" + direction = "download" + source = "${local.image_folder}/output/software-report.json" } provisioner "shell" { diff --git a/images/macos/toolsets/toolset-13.json b/images/macos/toolsets/toolset-13.json deleted file mode 100644 index 1ce3e72d0..000000000 --- a/images/macos/toolsets/toolset-13.json +++ /dev/null @@ -1,258 +0,0 @@ -{ - "xcode": { - "default": "15.2", - "x64": { - "versions": [ - { "link": "15.2", "filename": "Xcode_15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"}, - { "link": "15.1", "filename": "Xcode_15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"}, - { "link": "15.0.1", "filename": "Xcode_15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"}, - { "link": "14.3.1", "filename": "Xcode_14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"}, - { "link": "14.2", "filename": "Xcode_14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"}, - { "link": "14.1", "filename": "Xcode_14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"} - ] - }, - "arm64":{ - "versions": [ - { "link": "15.2", "filename": "Xcode_15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"}, - { "link": "15.1", "filename": "Xcode_15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"}, - { "link": "15.0.1", "filename": "Xcode_15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"}, - { "link": "14.3.1", "filename": "Xcode_14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"}, - { "link": "14.2", "filename": "Xcode_14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"}, - { "link": "14.1", "filename": "Xcode_14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"} - ] - } - }, - "java": { - "x64": { - "default": "17", - "versions": [ "8", "11", "17", "21"] - }, - "arm64": { - "default": "17", - "versions": [ "11", "17", "21"] - } - }, - "android": { - "cmdline-tools": "commandlinetools-mac-10406996_latest.zip", - "sdk-tools": "sdk-tools-darwin-4333796.zip", - "platform_min_version": "33", - "build_tools_min_version": "33.0.2", - "extras": [ - "android;m2repository", "google;m2repository", "google;google_play_services" - ], - "addons": [], - "additional_tools": [ - "cmake;3.31.5" - ], - "ndk": { - "default": "26", - "versions": [ - "26", "27", "28" - ] - } - }, - "powershellModules": [ - { - "name": "Az", - "versions": [ - "14.6.0" - ] - }, - { "name": "Pester" }, - { "name": "PSScriptAnalyzer" } - ], - "brew": { - "common_packages": [ - "ant", - "aria2", - "azure-cli", - "bazelisk", - "carthage", - "cmake", - "gh", - "gnupg", - "gnu-tar", - "kotlin", - "libpq", - "p7zip", - "packer", - "perl", - "pkgconf", - "swiftformat", - "tcl-tk@8", - "zstd", - "ninja", - "gmp", - "yq", - "xcbeautify", - "xcodes" - ], - "cask_packages": [ - "parallels" - ] - }, - "gcc": { - "versions": [ - "12", - "13", - "14", - "15" - ] - }, - "dotnet": { - "arch":{ - "x64": { - "versions": [ - "8.0", - "9.0" - ] - }, - "arm64": { - "versions": [ - "8.0", - "9.0" - ] - } - } - }, - "ruby": { - "default": "3.3", - "rubygems": [ - "cocoapods", - "bundler", - "fastlane" - ] - }, - "toolcache": [ - { - "name": "Python", - "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", - "platform" : "darwin", - "arch": { - "x64": { - "versions": [ - "3.8.*", - "3.9.*", - "3.10.*", - "3.11.*", - "3.12.*", - "3.13.*", - "3.14.*" - ] - }, - "arm64": { - "versions": [ - "3.11.*", - "3.12.*", - "3.13.*", - "3.14.*" - ] - } - } - }, - { - "name": "PyPy", - "platform" : "darwin", - "arch": { - "x64": { - "versions": [ - "2.7", - "3.7", - "3.8", - "3.9", - "3.10" - ] - } - } - }, - { - "name": "Node", - "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", - "platform" : "darwin", - "arch": { - "x64": { - "versions": [ - "18.*", - "20.*", - "22.*" - ] - }, - "arm64": { - "versions": [ - "18.*", - "20.*", - "22.*" - ] - } - } - }, - { - "name": "Go", - "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", - "platform" : "darwin", - "arch": { - "x64": { - "variable_template" : "GOROOT_{0}_{1}_X64", - "versions": [ - "1.22.*", - "1.23.*", - "1.24.*", - "1.25.*" - ] - }, - "arm64": { - "variable_template" : "GOROOT_{0}_{1}_ARM64", - "versions": [ - "1.22.*", - "1.23.*", - "1.24.*", - "1.25.*" - ] - } - } - }, - { - "name": "Ruby", - "arch": { - "x64": { - "versions": [ - "3.1.*", - "3.2.*", - "3.3.*", - "3.4.*" - ] - }, - "arm64": { - "versions": [ - "3.1.*", - "3.2.*", - "3.3.*", - "3.4.*" - ] - } - } - } - ], - "node": { - "default": "20" - }, - "llvm": { - "version": "15" - }, - "php": { - "version": "8.4" - }, - "mono": { - "framework":{ - "version": "6.12.0.188", - "sha256": "07cdd4e5e72b562892960b7fc73af470db7a4ffc2f68bb834eb3d0a874bbd12c" - }, - "nunit": { - "version": "3.15.4", - "sha256": "356dab61433b5be76b76fd0e2e979bda56d164f6d85a900e55c3a4a5fffa28de" - } - }, - "pwsh": { - "version": "7.4" - } -} diff --git a/images/macos/toolsets/toolset-26.json b/images/macos/toolsets/toolset-26.json index 31181b9f3..437c1e8ac 100644 --- a/images/macos/toolsets/toolset-26.json +++ b/images/macos/toolsets/toolset-26.json @@ -1,7 +1,42 @@ { "xcode": { "default": "26.2", - "arm64":{ + "x64": { + "versions": [ + { + "link": "26.3_Release_Candidate", + "filename": "Xcode_26.3_Release_Candidate_Universal", + "version": "26.3+17C519", + "symlinks": ["26.3"], + "sha256": "4a33bf2cc3dbb1aaa9796f8f659b8a55798e27f0eea8e1b60484264f6d6a93a1", + "install_runtimes": "none" + }, + { + "link": "26.2", + "filename": "Xcode_26.2_Universal", + "version": "26.2+17C52", + "sha256": "8f29ab6a9ac6670d3cf53545ffdb1c317d11607fa8db38fc56d3391df7783fbd", + "install_runtimes": "default" + }, + { + "link": "26.1.1", + "filename": "Xcode_26.1.1_Universal", + "version": "26.1.1+17B100", + "symlinks": ["26.1"], + "sha256": "ed55d55fa28455c11a65e0809ba8fdf7d83fdeb268aabf9af7fcc1ee911543eb", + "install_runtimes": "default" + }, + { + "link": "26.0.1", + "filename": "Xcode_26.0.1_Universal", + "version": "26.0.1+17A400", + "symlinks": ["26.0"], + "sha256": "9881c457068c86ac91e94cca2d7116dfd01cb7179c22b0863b63c7f3bb7e7695", + "install_runtimes": "default" + } + ] + }, + "arm64": { "versions": [ { "link": "26.3_Release_Candidate", @@ -97,6 +132,7 @@ "perl", "pkgconf", "swiftformat", + "tcl-tk@8", "zstd", "ninja", "gmp", @@ -105,9 +141,7 @@ "xcbeautify", "xcodes" ], - "cask_packages": [ - "parallels" - ] + "cask_packages": [] }, "gcc": { "versions": [ @@ -118,6 +152,13 @@ }, "dotnet": { "arch":{ + "x64": { + "versions": [ + "8.0", + "9.0", + "10.0" + ] + }, "arm64": { "versions": [ "8.0", @@ -141,6 +182,14 @@ "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { + "x64": { + "versions": [ + "3.11.*", + "3.12.*", + "3.13.*", + "3.14.*" + ] + }, "arm64": { "versions": [ "3.11.*", @@ -156,6 +205,13 @@ "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { + "x64": { + "versions": [ + "20.*", + "22.*", + "24.*" + ] + }, "arm64": { "versions": [ "20.*", @@ -170,6 +226,14 @@ "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { + "x64": { + "variable_template" : "GOROOT_{0}_{1}_X64", + "versions": [ + "1.23.*", + "1.24.*", + "1.25.*" + ] + }, "arm64": { "variable_template" : "GOROOT_{0}_{1}_ARM64", "versions": [ @@ -183,6 +247,14 @@ { "name": "Ruby", "arch": { + "x64": { + "versions": [ + "3.2.*", + "3.3.*", + "3.4.*", + "4.0.*" + ] + }, "arm64": { "versions": [ "3.2.*", @@ -200,6 +272,9 @@ "llvm": { "version": "20" }, + "php": { + "version": "8.5" + }, "pwsh": { "version": "7.4" }