Compare commits

..
Author SHA1 Message Date
Image generation service account. 436b2dfac9 Updating readme file for macos-14-arm64 version 20250527.1547 2025-05-27 20:41:54 +00:00
akilesh-amaran ab80dde746 [Windows] Update AzureCosmosDbEmulator signature and Removing VSredist 17 installation in Postgresql (#12247)
* [Windows] Update AzureCosmosDbEmulator signature

* [Windows] Removing VC reddist installation in Postgress
2025-05-27 13:52:34 -06:00
Lawrence Gripper 95dda62db1 Merge pull request #12240 from actions/lg/fwupd2
Fix fwupd intergration test on Ubuntu 22.04
2025-05-27 11:50:02 +01:00
lawrencegripper fb7e986316 Fix up by using list-unit
This avoids the output containing
the preset vendor value.
2025-05-27 09:33:33 +01:00
773f13be9d [macOS] Add Mozilla Firefox details to software report file for arm64 images. (#12249)
Co-authored-by: Suresh kumar <[email protected]>
Co-authored-by: Erik Bershel <[email protected]>
2025-05-26 17:48:23 +02:00
lawrencegripper 6fcdd215dc Make test robust 2025-05-23 17:08:28 +01:00
sureshe456andSuresh kumar a1be1e2884 [macOS]Add Mozila Firfox to macOS 13,14 and 15 arm64 images. (#12226)
* Add Mozila Firfox to macOS 13,14 and 15 arm64 images.

* move the firefox script next to google chrome installer

---------

Co-authored-by: Suresh kumar <[email protected]>
2025-05-23 19:22:38 +05:30
Lawrence GripperandCopilot a1cf69345e Update images/ubuntu/scripts/tests/System.Tests.ps1
Co-authored-by: Copilot <[email protected]>
2025-05-23 14:23:44 +01:00
lawrencegripper 52019144a8 Fix fwupd intergration test on Ubuntu 22.04
See:

- https://github.com/actions/runner-images/pull/12225#issuecomment-2904383955
2025-05-23 14:18:25 +01:00
Alexey-Ayupov 2eee00587f Variabilize several elements in Packer templates (#12231) 2025-05-23 15:08:47 +02:00
Lawrence Gripper ff069dce92 Bug: Mask fwupd timer on ubuntu images (#12225)
* Bug: Fully remove `fwupd` from ubuntu images

We're running on VMs in Azure and the fwupd package is not needed.

Leaving it enable means periodic refreshes show in network traffic and firewall logs.

* Update check method

* Simplify test
2025-05-22 13:59:38 -06:00
kishorekumar-anchala ac5bfa5ec6 [Ubuntu 24] Update compose plugin version (#12228) 2025-05-22 13:57:49 -06:00
akilesh-amaran 65a78b8934 [Windows] Update AzureCli and AzureCosmosDbEmulator signature and hash (#12222) 2025-05-21 10:45:22 +02:00
Alexey-Ayupov be36d1d065 Update packer templates with new features (#12208) 2025-05-20 14:56:30 +02:00
699ade486f Updating readme file for macos-14 version 20250513.1230 (#12197)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-15 15:47:22 +00:00
8717d5e69c Updating readme file for macos-13 version 20250512.1078 (#12196)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-15 15:22:33 +00:00
7c9abd2c32 Updating readme file for macos-13-arm64 version 20250512.1166 (#12189)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-14 22:03:49 +00:00
73698bb91d Updating readme file for win22 version 20250511.1.1 (#12184)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-14 13:31:51 +00:00
c4d1068d22 Updating readme file for ubuntu24 version 20250511.1.1 (#12182)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-14 13:03:08 +00:00
938ff24988 Updating readme file for win25 version 20250511.1.1 (#12187)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-14 12:58:18 +00:00
fb338fd690 Updating readme file for ubuntu22 version 20250511.1.1 (#12183)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-14 12:27:06 +00:00
github-actions[bot]andImage generation service account. 8170cce307 Updating readme file for win19 version 20250511.1.1 (#12186)
Co-authored-by: Image generation service account. <[email protected]>
2025-05-14 12:11:27 +00:00
Alex Harden 25b33392ea Update Install-AzureCosmosDbEmulator.ps1 SHA256Sum (#12164)
Corresponds to azure-cosmosdb-emulator-2.14.22-5aad492b.msi downloaded today.
2025-05-09 09:03:03 -06:00
susmitamaneandSusmita Mane 7b4cd1f24c [macOS] Remove Go 1.21.*. (#12170)
Co-authored-by: Susmita Mane <[email protected]>
2025-05-09 09:12:51 -05:00
15fd833774 Updating readme file for macos-15-arm64 version 20250506.1412 (#12148)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-09 01:39:15 +00:00
f8851a91bc Updating readme file for macos-15 version 20250506.1260 (#12149)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-09 01:13:05 +00:00
da5333e1de Updating readme file for macos-14 version 20250507.1186 (#12157)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-09 00:00:59 +00:00
6baff0ff35 Updating readme file for macos-13 version 20250507.1052 (#12159)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-08 23:11:44 +00:00
a05d070c4e Updating readme file for macos-14-arm64 version 20250505.1431 (#12146)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-08 13:09:48 +00:00
735016f42d Updating readme file for macos-13-arm64 version 20250505.1136 (#12136)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-08 00:26:29 +00:00
62bab7692f Updating readme file for win22 version 20250504.1.1 (#12142)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-07 14:09:50 +00:00
ce61c11aac Updating readme file for ubuntu24 version 20250504.1.1 (#12137)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-07 13:22:30 +00:00
0c9385c89b Updating readme file for win25 version 20250504.1.1 (#12140)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-07 12:38:07 +00:00
a57cbedce5 Updating readme file for ubuntu22 version 20250504.1.1 (#12138)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-07 12:02:35 +00:00
be10e82fed Updating readme file for win19 version 20250504.1.1 (#12139)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-07 11:59:31 +00:00
RaviAkshintala be938cd870 [Ubuntu-20] ubuntu 20 readme file removed (#12094) 2025-05-06 08:07:43 -06:00
Bram 3576382c79 Fix: Typo in instructions (#12120) 2025-05-06 08:03:17 -06:00
hemanthmanga 5676b8b825 [Windows 19 & Windows 22] Removing Node.js version 16* (#12122) 2025-05-02 11:12:55 -06:00
RaviAkshintala f86900e673 [Windows]Go 1.20&1.21 deprecated and updated the latest version to 1.24 as default (#12121) 2025-05-02 10:07:34 -06:00
vidya sagar a69bce6e8e [Ubuntu] updating Docker version to 28* (#12124) 2025-05-02 10:05:40 -06:00
310e8e9637 Updating readme file for macos-14-arm64 version 20250428.1410 (#12114)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-01 17:18:09 +00:00
acb08bf729 Updating readme file for macos-15-arm64 version 20250428.1341 (#12102)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-01 16:10:38 +00:00
Pavel Iakovenko 39482c9ce8 Merge pull request #11946 from angelapwen/macos-codeql-action-refactor
[macOS] Always use the latest major version of CodeQL Action
2025-05-01 14:56:01 +00:00
9c57f5c945 Updating readme file for macos-14 version 20250428.1135 (#12107)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-01 11:08:02 +00:00
6bfa13df8d Updating readme file for win19 version 20250427.1.1 (#12115)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-05-01 10:38:55 +00:00
5a88360f2a Updating readme file for macos-13 version 20250428.984 (#12104)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 20:16:36 +00:00
26c327e0dd Updating readme file for macos-15 version 20250428.1214 (#12111)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 16:31:57 +00:00
51a3a67dd6 Updating readme file for macos-13-arm64 version 20250428.1114 (#12103)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 15:13:34 +00:00
0f959473a4 Updating readme file for ubuntu24 version 20250427.1.1 (#12109)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 14:08:50 +00:00
60a4fcd73f Updating readme file for win22 version 20250427.1.1 (#12110)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 12:36:32 +00:00
84a341f322 Updating readme file for ubuntu22 version 20250427.1.1 (#12108)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 12:30:01 +00:00
910eac4212 Updating readme file for win25 version 20250427.1.1 (#12106)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-30 12:12:10 +00:00
Prabhatkumar59 43bbe70193 Fix formatting in README after Ubuntu 20 deprecation merge (#11748) (#12113) 2025-04-29 11:47:23 +02:00
Angela P Wen 22826037a5 Use PAT for API call to prevent throttling 2025-04-25 11:43:01 -07:00
Erik Bershel 0e37973a01 [macOS] Remove stale VCPKG workaround (#12092) 2025-04-25 13:32:50 +02:00
Josh Soref 8d31ac4988 Fix mirror+file: for ubuntu.sources (#12053) 2025-04-24 17:37:31 -06:00
240ca4c532 Updating readme file for macos-13 version 20250421.964 (#12068)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-24 14:51:18 +00:00
3459dbd16b Updating readme file for win22 version 20250420.1.1 (#12075)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-24 04:52:08 +00:00
bda6c60c04 Updating readme file for macos-14-arm64 version 20250421.1374 (#12074)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-24 01:13:50 +00:00
0107ce3f47 Updating readme file for macos-15-arm64 version 20250421.1300 (#12069)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-24 01:05:35 +00:00
Angela P Wen ded86ef875 [Windows] Always use the latest major version of CodeQL Action (#11947)
* [Windows] Always use the latest major version of CodeQL Action

* Add missing `v` to CodeQL bundle URL
2025-04-23 17:46:58 -06:00
Angela P Wen f346a37e5c [Ubuntu] Always use the latest major version of CodeQL Action (#11931)
* [Ubuntu] Update default CodeQL major version to v3

* [Ubuntu] use the latest CodeQL Action major version

Instead of hardcoding it!

* Add missing `v` to CodeQL bundle URL
2025-04-23 17:40:39 -06:00
d453d1099a Updating readme file for ubuntu22 version 20250421.2.1 (#12082)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 22:25:35 +00:00
27806e0f06 Updating readme file for win19 version 20250420.1.1 (#12078)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 22:19:08 +00:00
11d845cc88 Updating readme file for macos-13-arm64 version 20250421.1088 (#12067)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 21:15:43 +00:00
Prabhatkumar59andPrabhat kumar 80a1ca9abe Ubuntu 20 Deprecation changes (#11748)
* Ubuntu 20 Deprecation updates

* Updating .md files

* Update announcement.yml

* Update bug-report.yml

* Update tool-request.yml

* Updating merge conflicts

* Updating .md files

* Updating merge conflicts

* Resolved merge conflicts

---------

Co-authored-by: Prabhat kumar <[email protected]>
2025-04-23 12:46:13 -06:00
e06dd2543b Updating readme file for macos-14 version 20250421.1108 (#12073)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 18:28:20 +00:00
36c165ebb5 Updating readme file for macos-15 version 20250421.1179 (#12070)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 18:16:28 +00:00
4f5eeefce1 Updating readme file for ubuntu24 version 20250420.1.1 (#12065)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-23 14:09:43 +00:00
vidya sagar fbc3fb1d0f [Windows] update AzureCosmoDB checksum (#12080) 2025-04-22 08:47:08 -06:00
Angela P Wen b945f6e061 Add missing v to CodeQL bundle URL 2025-04-21 15:16:01 -07:00
RaviAkshintala 38a05d5bbc [Ubuntu-22] intsllaing containernetwork plugins (#12072) 2025-04-21 11:22:14 -06:00
github-actions[bot]andImage generation service account. 737f4ccb76 Updating readme file for win25 version 20250420.1.1 (#12071)
Co-authored-by: Image generation service account. <[email protected]>
2025-04-21 11:13:30 -06:00
8986c1bb8f Updating readme file for macos-15-arm64 version 20250416.1273 (#12057)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-18 14:51:46 +00:00
03a88de6f8 Updating readme file for macos-13-arm64 version 20250416.1065 (#12058)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-18 14:13:14 +00:00
973f879bdd Updating readme file for macos-15 version 20250415.1161 (#12046)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-18 01:43:16 +00:00
kishorekumar-anchala c3ca840280 [windows] Update DacFx package Path & Mysql cli signature thumbprint (#12051)
* [windows] Update DacFx package Path

* [Windows] Update mysql-cli signature for windows 22 and 25

* [Windows] Update software report script by changing the path
2025-04-17 08:07:45 -06:00
f2d79a400e Updating readme file for ubuntu22 version 20250415.1.1 (#12048)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-17 13:25:34 +00:00
e771db9646 Updating readme file for macos-13 version 20250414.948 (#12042)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-17 13:00:16 +00:00
b8359f0d47 Updating readme file for win25 version 20250413.1.1 (#12036)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-16 15:54:25 +00:00
ac73baedca Updating readme file for ubuntu24 version 20250413.1.1 (#12028)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-16 15:51:09 +00:00
d3ec622058 Updating readme file for macos-15-arm64 version 20250408.1231 (#11970)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-14 17:12:32 +00:00
00a31e485a Updating readme file for macos-15 version 20250408.1132 (#11973)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-14 15:37:25 +00:00
kishorekumar-anchala 31d8e4e4d8 Testing Az new module installation script (#11972) 2025-04-14 08:03:26 -06:00
Subir Ghosh fd1af56b4f Change URL for packages (#11997)
* fix:URL for packages

* chore Add co-author
>
> Co-authored-by: greg dryke <[email protected]>

* chore: Incorporate Review comments

* fix: remove redundant initialization
2025-04-11 11:53:08 -06:00
Erik Bershel 0b85dff969 [macOS] Fix indexing timeout on macOS-14; make script verbose (#11982) 2025-04-11 15:01:36 +02:00
archita105 cf96585d26 [macOS] VCpkg update for macOS-14 and macOS-15 images (#11738)
* Vcpkg Update

* vcpkg update

* VCPKG update

* Updated permission issue

* Updated path for arm

* Installation path change

* Installation path update

* Installation Path change

* VCpkg update in software report

* permission changed

* permission updated

* permission

* Added sudo in chmod

* Added sudo for Symlink

* Removed sudo for Symlink
2025-04-11 16:40:06 +05:30
945f3da217 Updating readme file for ubuntu22 version 20250406.1.1 (#11955)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-11 03:17:03 +00:00
e82adb8a25 Updating readme file for ubuntu20 version 20250406.1.1 (#11957)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-11 02:34:59 +00:00
cff3ab9779 Updating readme file for ubuntu24 version 20250406.1.1 (#11956)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-11 02:34:35 +00:00
susmitamaneandSusmita Mane f53d7aa4e4 [macOS] Change macOS-15 & macOS-15-arm64 status: beta -> GA (#11986)
Co-authored-by: Susmita Mane <[email protected]>
2025-04-10 10:08:53 -05:00
03fa330fd0 Updating readme file for win25 version 20250406.1.1 (#11964)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-09 19:16:38 +00:00
558cef0112 Updating readme file for macos-13-arm64 version 20250407.1029 (#11960)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-09 17:08:36 +00:00
51dab16757 Updating readme file for macos-13 version 20250407.927 (#11962)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-09 16:04:38 +00:00
722aa5e356 Updating readme file for win22 version 20250406.1.1 (#11958)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-09 15:02:48 +00:00
vidya sagar 501d7145fd [Windows] Update Visual Studio Signature Thumbprint for 2019 (#11974) 2025-04-09 08:03:17 -06:00
2c7cc97462 Updating readme file for win19 version 20250406.1.1 (#11963)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-09 13:17:07 +00:00
vidya sagar 881c1a557b [doc] Change Windows-2025 status: beta -> GA (#11954) 2025-04-07 15:09:44 -06:00
eeb5662623 Updating readme file for macos-15-arm64 version 20250331.1175 (#11913)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-07 16:07:37 +00:00
287e434b25 Updating readme file for macos-15 version 20250331.1080 (#11909)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-07 14:51:46 +00:00
Erik Bershel 2742bacfad [macOS] Enable indexing for macOS-14 and macOS-15 (#11930) 2025-04-07 13:32:11 +02:00
kishorekumar-anchala 68d05af296 [windows] Pin the cmake version to 3.31.6 (#11936)
* [windows] Pin the cmake version to 3.31.6

* [windows] adjust  choco script

* Fix choco build failure

* Add version parameter to choco script
2025-04-05 23:37:45 -06:00
hemanthmanga 5efa00f978 [Windows 19 & Windows 22] Fix Rust issue. (#11949) 2025-04-04 15:50:45 -06:00
hemanthmanga 10987cebf7 [Ubuntu] Fix rust issue for ubuntu-20 and ubuntu-22 (#11948) 2025-04-04 14:56:31 -06:00
RaviAkshintalaandRavi Akshintala 499ad89feb [Ubuntu] pinning the cmake older version 3.31.6 (#11933)
Co-authored-by: Ravi Akshintala <[email protected]>
2025-04-04 08:36:04 -06:00
github-actions[bot]andImage generation service account. 9bbb228348 Updating readme file for ubuntu24 version 20250323.1.1 (#11865)
Co-authored-by: Image generation service account. <[email protected]>
2025-04-04 08:17:31 -06:00
github-actions[bot]andImage generation service account. 246db5f901 Updating readme file for ubuntu22 version 20250323.1.1 (#11861)
Co-authored-by: Image generation service account. <[email protected]>
2025-04-04 08:16:33 -06:00
Angela P Wen 5726c3a45f Refactoring: Properly double-quote variables 2025-04-04 14:30:44 +02:00
Angela P Wen ffd40b4a96 Always use the latest major version of CodeQL Action 2025-04-04 14:29:50 +02:00
sureshe456 79ad381add [macOS] Update Xcode 16.3 to 16.3 Release to macOS15 images. (#11945) 2025-04-04 13:43:47 +02:00
Erik Bershel a73845001e [macOS] Pin Cmake to 3.31.6 due to a backward compatibility issue in 4.0 (#11940) 2025-04-04 13:43:10 +02:00
Angela P Wen 9b3dea1ae8 [Ubuntu] Update default CodeQL major version to v3 (#11929) 2025-04-03 10:43:41 -06:00
Angela P Wen a4f250d205 [Windows] Update default CodeQL major version to v3 (#11927) 2025-04-03 10:43:08 -06:00
6675dd9c7c Updating readme file for macos-14-arm64 version 20250331.1204 (#11908)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 22:45:31 +00:00
ce3d589924 Updating readme file for macos-14 version 20250331.1019 (#11907)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 19:09:20 +00:00
fa28165509 Updating readme file for macos-13-arm64 version 20250331.995 (#11912)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 18:16:30 +00:00
2724e90679 Updating readme file for macos-13 version 20250331.901 (#11911)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 17:26:53 +00:00
008c834ff0 Updating readme file for win22 version 20250330.1.1 (#11906)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 16:53:47 +00:00
5826942237 Updating readme file for win19 version 20250330.1.1 (#11914)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-04-02 16:16:55 +00:00
Angela P Wen c53f6bfeb1 [macOS] Update default CodeQL major version to v3 (#11928) 2025-04-01 17:42:48 -05:00
Prasanjit Sahoo 767f70f17c [macOS] Update Xcode 16.3 RC to 16.3 RC2 on macOS 15. (#11896) 2025-03-30 19:38:42 +02:00
900f307ee0 Updating readme file for macos-14-arm64 version 20250324.1158 (#11862)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-28 15:05:10 +00:00
f59df2512b Updating readme file for macos-14 version 20250324.987 (#11887)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-28 08:58:48 +00:00
Prabhatkumar59 f9b7da63c6 Updating signature thumbprint for mongodb (#11892) 2025-03-27 13:03:23 -06:00
vidya sagar cee0ff744a [Ubuntu] Remving mongo db from toolset in Ubuntu 22.04 and 24.04 (#11890) 2025-03-27 11:45:36 -06:00
cfb86936f8 Updating readme file for macos-13-arm64 version 20250324.952 (#11863)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-26 21:08:03 +00:00
vidya sagar b31827dae5 [Windows] Updating Windows-Service-Fabric Runtime and SDK version to latest (#11743) 2025-03-26 13:42:47 -06:00
Prabhatkumar59 81d70d6c80 Updating wsl2 checksum (#11885) 2025-03-26 13:37:28 -06:00
cebe6ffc9e Updating readme file for macos-13 version 20250324.860 (#11867)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-26 14:04:51 +00:00
ijunaidm1 ef3313ccde [macOS] Update Xcode 16.3 to 16.3 RC on macOS 15. (#11871) 2025-03-26 12:22:17 +01:00
Erik Bershel a2547b9820 [macOS] Disable rarely used services, use optimised configs (#11877) 2025-03-26 12:20:27 +01:00
sangeeths03 a6af560024 [macOS] Ndk cmake versionupgrade (#11882)
* Upgrade android ndk to r28 & its bundled cmake to 3.31.5 in macOS

* Upgrade android ndk to r28 & its bundled cmake to 3.31.5 in macOS2

* cmake macos14 and macos13 updated

* default setted as 27

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade

* cmake version upgrade
2025-03-26 16:23:11 +05:30
Erik Bershel ea4a8cd0e9 [macOS] Remove sudo from sims installer script (#11880) 2025-03-26 11:28:16 +01:00
Erik Bershel 86ef9be874 Revert "Updating readme file for macos-15-arm64 version 20250312.1001 (#11787)" (#11830)
This reverts commit f940dcf263.
2025-03-25 01:03:45 -05:00
hemanthmanga 004b9b79e8 [Windows] Fix SBT version issue and Pinning Kotlin version (#11866)
* [Windows] Fix SBT version issue and Pinning Kotlin version

* [Windows]Removing try catch block and adding script version
2025-03-24 14:24:15 -06:00
Subir Ghosh fe5a6ae53b [Windows] Change file encoding to utf8 with no BOM (#11853)
* feat:Change utf8 with no bom

* chore: replace WriteAllLines with WriteAllText
2025-03-24 08:12:09 -06:00
Erik Bershel fced4a529c [macOS] Update Xcode runtimes installer helper and toolset format (#11763) 2025-03-23 12:40:15 +01:00
db5e0167f4 Updating readme file for macos-14-arm64 version 20250317.1117 (#11825)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-21 18:18:40 +00:00
Erik Bershel f494ea3538 [macOS] Deprecate brew/bundle tap, pin Kotlin to 2.1.10 (#11850)
* [macOS] Remove deprecated bundle tap

* Pin Kotlin to 2.1.10

* Update logic for tcl-tk
2025-03-21 13:11:29 -05:00
sangeeths03 fbae48148a [macOS] Updated xcode to 16.3 beta 3 for macOS15 macOS15arm (#11839)
* added xcode 16.3 beta 3

* added xcode 16.3 beta 3

* added xcode 16.3 beta 3

* added xcode 16.3 beta 3
2025-03-21 09:44:40 -05:00
hemanthmanga 96b18578a0 [Ubuntu] Pinning Kotlin previous version 2.1.10 (#11846) 2025-03-21 08:33:57 -06:00
abf37e2844 Updating readme file for macos-14 version 20250317.946 (#11826)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-20 14:48:13 +00:00
4be947a938 Updating readme file for macos-13 version 20250317.820 (#11811)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-19 23:44:59 +00:00
hemanthmanga d8205bb47d [Ubuntu] Updating SBT version regex pattern (#11835) 2025-03-19 12:33:56 -06:00
fa021fd172 Updating readme file for macos-13-arm64 version 20250317.910 (#11810)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-19 17:39:32 +00:00
kishorekumar-anchala 55bacf67db [Windows] Update WSL2 signature, Sbt version check and Regex Handling for Major Versions (#11833)
* [Windows] Fix Dotnet, sbt, wsl2 errors on windows

* [Windows] rollback scripts changes
2025-03-19 11:04:20 -06:00
88c7661ae2 Updating readme file for ubuntu24 version 20250316.1.1 (#11807)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-19 13:18:06 +00:00
a46c6aa28f Updating readme file for ubuntu20 version 20250316.1.1 (#11806)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-19 11:38:13 +00:00
63d860d2b9 Updating readme file for ubuntu22 version 20250316.1.1 (#11809)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-19 10:12:08 +00:00
Erik Bershel d7a88d213a Revert "Updating readme file for macos-15 version 20250312.936 (#11788)" (#11829)
This reverts commit 0c58ec9cca.
2025-03-18 13:17:32 -05:00
Pavel IakovenkoandErik Bershel 2f09773451 [actions] Force push release docs branch on Create PR workflow (#11819)
Co-authored-by: Erik Bershel <[email protected]>
2025-03-18 16:27:09 +01:00
Erik Bershel 17f8e51b5d Revert "Updating create_pull_request file (#11817)" (#11824)
This reverts commit 9311d5e54f.
2025-03-18 12:21:33 +01:00
Erik Bershel f7a56e0640 [macOS] Remove unused NVM installer script (#11803) 2025-03-18 11:06:15 +01:00
ijunaidm1 9311d5e54f Updating create_pull_request file (#11817)
* Updating create PR file

* Updating create PR file
2025-03-17 17:11:15 -05:00
f940dcf263 Updating readme file for macos-15-arm64 version 20250312.1001 (#11787)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-17 20:54:32 +00:00
0c58ec9cca Updating readme file for macos-15 version 20250312.936 (#11788)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-17 19:56:45 +00:00
kishorekumar-anchala 59bfca318a Fix Ubuntu 20 failure by pinning supported gems (#11793) 2025-03-14 13:49:55 -06:00
9214fd680e Updating readme file for macos-13-arm64 version 20250311.898 (#11778)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-14 11:24:13 +00:00
e3e23e2383 Updating readme file for macos-13 version 20250311.806 (#11780)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-14 10:13:50 +00:00
2c323d2f04 [macOS] Xcode 16.3 beta 2 - WatchOS tvOS version update (#11783)
* iOS 22E5216h

* Use build number for the beta VisionOS simulator

* watchOS tvOS update

---------

Co-authored-by: Pavel Iakovenko <[email protected]>
Co-authored-by: ijunaidm1 <[email protected]>
2025-03-12 12:36:37 -05:00
3c3efb2c8f Updating readme file for win25 version 20250309.1.1 (#11765)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 12:46:06 +00:00
3f8a20c34f Updating readme file for win22 version 20250309.1.1 (#11768)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 12:30:54 +00:00
ca9d39c650 Updating readme file for win19 version 20250309.1.1 (#11769)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 12:15:23 +00:00
3c122d2e15 Updating readme file for ubuntu24 version 20250309.1.1 (#11761)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 11:58:01 +00:00
297d15071e Updating readme file for ubuntu20 version 20250309.1.1 (#11762)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 11:54:57 +00:00
25bced643e Updating readme file for ubuntu22 version 20250309.1.1 (#11770)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-12 11:54:28 +00:00
5f43149423 Updating readme file for macos-14-arm64 version 20250304.1018 (#11726)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-11 19:01:04 +00:00
6f0d16bb03 Updating readme file for macos-14 version 20250304.890 (#11725)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-11 18:04:03 +00:00
archita105andPavel Iakovenko 7ca9ebb498 [macOS] Xcode 16.3 beta 2 version update (#11771)
* iOS 22E5216h

* Use build number for the beta VisionOS simulator

---------

Co-authored-by: Pavel Iakovenko <[email protected]>
2025-03-11 11:29:05 -05:00
ab54edda7e [macOS] Add parallels to macOS 15 images. (#11749)
---------

Co-authored-by: sureshe456 <[email protected]>
Co-authored-by: Erik Bershel <[email protected]>
2025-03-11 16:26:27 +01:00
Erik Bershel ea2cbb444d [macOS] Update Runner installer script to use API PAT (#11774) 2025-03-11 15:49:34 +01:00
Alexey-Ayupov 71845af4a0 [Windows] Add Ninja (#11737) 2025-03-10 18:45:03 +01:00
Shamil Mubarakshin 7809601472 Remove deprecated parameters from GenerateResourcesAndImage helper (#11690) 2025-03-10 13:27:39 +01:00
susmitamaneandSusmita Mane 1489b3b53c [macOS] Add Go 1.24 to macOS images. (#11745)
Co-authored-by: Susmita Mane <[email protected]>
2025-03-07 08:01:05 -06:00
kishorekumar-anchala 1b5eca2f7d [Ubuntu] Add Installation of google-cloud-errors Gem for Ubuntu 20 (#11732)
* Pin the google cloud error version

* [Ubuntu] Add Installation of google-cloud-errors Gem for Ubuntu 20

* verify the commit
2025-03-06 07:51:07 -07:00
dc02e08c4e Updating readme file for win25 version 20250303.1.1 (#11720)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 12:31:03 +00:00
bf87643c5a Updating readme file for win22 version 20250303.1.1 (#11719)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 12:11:10 +00:00
9f247d4780 Updating readme file for win19 version 20250303.1.1 (#11718)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 11:17:06 +00:00
25d40db3ed Updating readme file for ubuntu20 version 20250302.1.1 (#11705)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 07:09:53 +00:00
acd42a3d51 Updating readme file for ubuntu22 version 20250302.1.1 (#11708)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 07:09:49 +00:00
61e9d92e19 Updating readme file for macos-13-arm64 version 20250303.855 (#11716)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-06 00:37:45 +00:00
331b0774b4 Updating readme file for macos-13 version 20250303.763 (#11715)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-05 23:34:55 +00:00
95dbc57b74 Updating readme file for ubuntu24 version 20250302.1.1 (#11704)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-05 16:57:33 +00:00
Erik Bershel bb7932d627 [macOS] Add actions/runner cache (#11713) 2025-03-04 17:02:40 +01:00
Alexey-Ayupov 0f4b96df94 [Ubuntu] Add Ninja (#11706) 2025-03-04 15:57:10 +01:00
Alexey-Ayupov 9e8d521bef [macOS] Add Ninja (#11707) 2025-03-04 15:56:00 +01:00
Pavel Iakovenko ff2db66e2d Merge pull request #11717 from github-maccloud/macos-workaround-xcode-16-2-runtimes-bug
[macOS] Force Xcode 16.2 to install correct runtimes for iOS/visionOS
2025-03-04 00:42:43 +00:00
Erik Bershel 9782878208 [macOS] Enable NOPASSWD sudo for @admin group (#11703) 2025-03-03 23:57:21 +01:00
Erik Bershel b984947b8f [macOS] Force Xcode 16.2 to install correct runtimes for visionOS and iOS 2025-03-03 22:53:07 +01:00
kishorekumar-anchala f0e516bc43 [Windows 19 & 22] Remove AzureRM and Azure powershell modules from windows images (#11548)
* remove azure poswershell modules

* Update helper scripts
2025-03-03 00:29:18 -07:00
Erik Bershel a88fc4db06 Revert "Updating readme file for macos-15-arm64 version 20250226.766 (#11681)" (#11699)
Cause of the event: #11683
2025-03-02 01:16:37 +01:00
Erik Bershel 0f23c02540 Revert "Updating readme file for macos-14-arm64 version 20250225.952 (#11671)" (#11700)
Cause of the event: #11683
2025-03-02 01:12:41 +01:00
Erik Bershel 23e31c9330 Revert "Updating readme file for macos-14 version 20250224.833 (#11661)" (#11701)
Cause of the event: https://github.com/actions/runner-images/issues/11683
2025-03-02 00:35:56 +01:00
Erik Bershel 8394289b46 Revert "Updating readme file for macos-15 version 20250226.755 (#11682)" (#11698)
Cause of the event: https://github.com/actions/runner-images/issues/11683
2025-03-02 00:35:32 +01:00
cc7ea58394 Updating readme file for macos-13 version 20250224.726 (#11660)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-03-01 18:51:07 +00:00
0f9d80da56 Updating readme file for macos-15-arm64 version 20250226.766 (#11681)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-28 19:59:41 +00:00
kishorekumar-anchala b5421c9536 [windows 22 & 25 ] Upgrade visual studio to postGRO channel (#11595)
* [windows 22 and 25 Upgrade visual studio to postGRO

* Add condition for windows 19 to skip

* [Windows] Update Vs installation script

* Refactor the visual studio installation script

* Fix windows 19  faliure

* Fix windows 19 visual studio failure

* [windows] Fix Windows 19 failure

* Add condition for windows 19

* [windows] Fix windows 19 failure

* [windows] update script by changing the condition syntax

* Make installchannel as optioanl parametr

* Update Installer script

* [ windows ] Update the installation script with conditional statement

* Update the installation script

* Update toolsets

* Update the channel ID

* Update channel ID

* Resolve conflicts

* Resolve conflicts
2025-02-28 11:25:17 -07:00
9b2b536f10 Updating readme file for macos-15 version 20250226.755 (#11682)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-28 17:25:13 +00:00
e8fc6d05ae Updating readme file for macos-14-arm64 version 20250225.952 (#11671)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-28 16:54:11 +00:00
cddc266cdc Updating readme file for macos-13-arm64 version 20250224.812 (#11659)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-28 16:48:19 +00:00
6622d0ef41 Updating readme file for macos-14 version 20250224.833 (#11661)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-28 16:15:41 +00:00
vidya sagar ae16afb6f2 [Windows] Updating Docker-Engine version to 27 (#11664) 2025-02-27 10:40:17 -07:00
kishorekumar-anchala 468df829b9 [windows[22 & 25] Update VisualStudio signature Thumbprint on windows images (#11680) 2025-02-27 14:49:44 +01:00
f1147e37b3 Updating readme file for win19 version 20250224.3.1 (#11669)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-27 12:04:27 +00:00
07e271d774 Updating readme file for win22 version 20250224.5.1 (#11670)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-27 09:58:24 +00:00
6c2adf32c4 Updating readme file for win25 version 20250224.3.1 (#11667)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-27 09:31:48 +00:00
Erik Bershel 081ea809ef [macOS] Remove Xcode 16.3 Beta 1 due to compatibility issues (#11677) 2025-02-26 23:29:25 +01:00
vidya sagar 4a2801f20b [Windows] Updating gecko-driver-signature (#11665) 2025-02-26 07:35:13 -07:00
8e271d615b Updating readme file for ubuntu20 version 20250223.1.1 (#11653)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-26 11:30:07 +00:00
5370e2ae75 Updating readme file for ubuntu24 version 20250223.1.1 (#11655)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-26 10:31:22 +00:00
78d63875da Updating readme file for ubuntu22 version 20250223.1.1 (#11654)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-26 10:29:59 +00:00
ijunaidm1 0ef66befe1 [macOS] Add more permission for Bash to TCC (#11657) 2025-02-25 09:41:09 -06:00
hemanthmanga 6334e65abb Revert [Windows] Pin the git version to 2.47.1 (#11652) 2025-02-25 00:36:50 -07:00
ijunaidm1 3b1b75bc6a [macOS] Adding xcode 16.3 beta (#11656) 2025-02-24 16:25:04 -06:00
Alexey-Ayupov f8ba10395e Remove obsolete ADO pipelines and scripts (#11640) 2025-02-24 19:53:50 +01:00
sureshe456 cec14e5822 [macOS] update git version to 2.48.1 (#11648) 2025-02-24 20:36:16 +05:30
kishorekumar-anchala 1322a78c66 Convert signatureThumbprint variable into an array (#11647) 2025-02-24 07:41:15 -07:00
hemanthmanga 434680b383 [Windows] pin the git version to 2.47.1 (#11642) 2025-02-22 18:59:21 -07:00
ijunaidm1 436cefb96a Merge pull request #11638 from github-maccloud/macOS-remove-.NET-7
[macOS] Remove .NET 7 from macOS-13 and macOS-14 images.
2025-02-21 11:03:30 -06:00
susmitamane dc15d74126 Merge branch 'actions:main' into macOS-remove-.NET-7 2025-02-21 20:36:28 +05:30
kishorekumar-anchala a4b00d89b9 [Windows 22 & 25] Update Visual studio signature and Az Powershell module version (#11636)
* Update Vs signature and Az version

* Pin the Zstd version

* Update VS signature for windows 25

* Update Install-Zstd.ps1
2025-02-21 07:38:42 -07:00
Shamil Mubarakshin 7a15e7194e [docs] Mark ubuntu-20.04 as deprecated (#11641) 2025-02-21 15:14:48 +01:00
Alexey-Ayupov d7dfc73ec2 [Ubuntu, Windows] Add new android NDK and CMake (#11628) 2025-02-20 16:13:38 +01:00
Alexey-Ayupov c40b72458d Update Azure tags handler (#11629) 2025-02-20 08:09:34 -07:00
Alexey-Ayupov bca30bf45f Remove authentication method from script (#11616) 2025-02-18 13:28:37 +01:00
Prabhatkumar59andPrabhat kumar 14b6c3879f [Windows] Updating Edgedriver signature and Wsl2 checksum (#11612)
Co-authored-by: Prabhat kumar <[email protected]>
2025-02-17 10:05:54 -07:00
Susmita Mane e045a1667b [macOS] Remove .NET 7 from macOS-13 and macOS-14 images. 2025-02-17 19:47:36 +05:30
ijunaidm1 3287f208a5 Merge pull request #11599 from github-maccloud/macos-ruby-changes
[macOS] Removing Ruby 3.0 and making 3.3 as a default version.
2025-02-14 12:17:08 -06:00
ijunaidm1 c84c47cd1d Merge pull request #11603 from github-maccloud/git-pin-version2.47.1
[macOS] pinned git version to 2.47.1
2025-02-14 11:36:13 -06:00
Mohammed Junaid c41f24847d [macOS] pinned git version to 2.47.1 2025-02-14 07:46:10 -06:00
aartis17 30c1bfee2d Merge branch 'actions:main' into macos-ruby-changes 2025-02-14 13:58:21 +05:30
Alexey-Ayupov b28a1045e6 Add the ability to specify Packer Azure plugin version (#11587) 2025-02-13 16:46:42 +01:00
a4026a1e8b Updating readme file for win22 version 20250209.1.1 (#11572)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-13 12:55:02 +00:00
0014997d9e Updating readme file for win25 version 20250209.1.1 (#11573)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-13 12:36:25 +00:00
09075d8538 Updating readme file for win19 version 20250209.1.1 (#11571)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-13 12:02:12 +00:00
vidyasagarnimmagaddi a9402f40d1 [Windows] Updated the EdgeDriver, vcRedis signature and Openssl version to 3.4.1 in Windows 25 (#11584)
* [Windows] Updated the EdgeDriver signature  thumbprint

* [Windows] Updated Edge-drvier , vcRedis Signature and Updated Openssl version to 3.4.1
2025-02-12 11:10:45 -07:00
013612c558 Updating readme file for ubuntu24 version 20250209.1.1 (#11565)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-12 12:46:05 +00:00
8573f609cb Updating readme file for ubuntu22 version 20250209.1.1 (#11566)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-12 12:39:15 +00:00
44e386c7ad Updating readme file for ubuntu20 version 20250209.1.1 (#11568)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-12 12:38:32 +00:00
ijunaidm1 cb8e8e7b5d Merge pull request #11580 from actions/revert-11575-releases/macos-15-arm64/20250210-docs
Revert "macOS 15 arm64 (20250210) Image Update"
2025-02-11 14:51:24 -06:00
ijunaidm1 5f2526f91f Revert "macOS 15 arm64 (20250210) Image Update" 2025-02-11 14:28:50 -06:00
ijunaidm1 8135f30cef Merge pull request #11575 from actions/releases/macos-15-arm64/20250210-docs
macOS 15 arm64 (20250210) Image Update
2025-02-11 13:46:40 -06:00
Image generation service account. 811af59311 Updating readme file for macos-15-arm64 version 20250210.664 2025-02-11 08:59:21 +00:00
Shamil Mubarakshin 3b91a7827b [windows-2025] Fix .Net 8 SDK installation (#11564) 2025-02-10 16:32:32 +01:00
hemanthmanga 13666fe265 [Windows]Update signature for AWScli SessionManagerPluginSetup.exe (#11559) 2025-02-08 12:10:39 -07:00
Shamil Mubarakshin 7d57cd009f [windows] Fix .Net 8 SDK installation (#11555) 2025-02-07 11:09:06 +01:00
hemanthmanga 650fb260cb Updating latest WSL2 checksum (#11550) 2025-02-06 09:24:52 -07:00
Fahrzin Hemmati 2578e48fe6 [ubuntu] Don't install documentation for ruby gems (#11413) 2025-02-06 09:21:43 -07:00
Prabhatkumar59andPrabhat kumar 7454a5b88a [Ubuntu24] adding libicu package version 70 (#11547)
Co-authored-by: Prabhat kumar <[email protected]>
2025-02-06 08:47:02 -07:00
b55bfdd989 Updating readme file for win22 version 20250203.1.1 (#11536)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-06 13:37:48 +00:00
d632cabc19 Updating readme file for win25 version 20250203.1.1 (#11538)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-06 10:50:58 +00:00
8aef0e3a45 Updating readme file for win19 version 20250203.1.1 (#11537)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-06 10:40:34 +00:00
aartis17 78fbd72a49 [macOS]Removing 3.0 & making 3.3 as default for ruby 2025-02-06 13:20:33 +05:30
43d2c65c7b Updating readme file for ubuntu22 version 20250202.1.1 (#11527)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-06 05:25:06 +00:00
36052802e5 Updating readme file for ubuntu20 version 20250202.1.1 (#11532)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-06 04:28:21 +00:00
Lukas Bühler bd86538e4e hkps over port 443 instead of 11371 to resolve issue https://github.com/actions/runner-images/discussions/9963 (#10007)
* Change to use port 80 instead of 11371

Change to use port 80 instead of 11371

* Update install-swift.sh

Changed to hkps and port 443 for added security

* Fix merge conflicts
2025-02-05 08:37:37 -07:00
93cafaffc5 Updating readme file for ubuntu24 version 20250202.1.1 (#11526)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-05 10:29:21 +00:00
Alexey-Ayupov d77157a972 [Ubuntu] add Android SDK Platform-Tools (#11539) 2025-02-05 11:05:22 +01:00
c4ed0a5c10 Updating readme file for macos-13 version 20250129.634 (#11503)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-02-03 14:39:41 +00:00
RaviAkshintalaandRavi Akshintala 27c8809a05 [Windows] Updated the mongodb signature thumbprint (#11507)
Co-authored-by: Ravi Akshintala <[email protected]>
2025-02-03 07:38:45 -07:00
sarathrajsrinivasan 002f86637a [macOS] Update condition for mono test case (#11515) 2025-01-31 11:45:21 -06:00
Lawrence Gripper 8273c96ed0 Merge pull request #11518 from lawrencegripper/lg/require-pinned
Add workflows to require `pinnedDetails` when minor version of a tool is pinned in a toolset file
2025-01-31 13:40:37 +00:00
Lawrence Gripper 4c5acc8cde Update .github/workflows/validate-json-schema.yml 2025-01-31 13:03:06 +00:00
Lawrence Gripper ed70f8ac46 Update .github/workflows/check-pinned-versions.yml 2025-01-31 13:02:49 +00:00
b0de0a7049 Updating readme file for win25 version 20250127.1.1 (#11502)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-31 11:50:11 +00:00
Lawrence Gripper 06fe929343 Update .gitignore 2025-01-31 11:03:31 +00:00
Erik Bershel 94f8e7af81 Revert "Updating readme file for macos-15-arm64 version 20250127.616 (#11481)" (#11514)
This reverts commit 0a2348df06.
2025-01-31 12:03:27 +01:00
lawrencegripper 5385f70026 Fix double run 2025-01-31 10:57:29 +00:00
lawrencegripper 645b62769b Add pinnedDetails to mingw 2025-01-31 10:55:38 +00:00
lawrencegripper b14b8bf08f Merge branch 'main' into lg/require-pinned 2025-01-31 10:52:14 +00:00
lawrencegripper 1ace44b407 Update cron 2025-01-31 10:51:21 +00:00
lawrencegripper 613e24f3cd update 2025-01-31 10:46:52 +00:00
lawrencegripper 50e09973d0 Fix gh cli piping 2025-01-31 10:43:40 +00:00
lawrencegripper 901125ceec Check outdated pins 2025-01-31 10:39:03 +00:00
lawrencegripper 3bc475f72e try 2025-01-31 10:04:51 +00:00
lawrencegripper 78d2d49784 Update checker 2025-01-31 09:53:36 +00:00
c8b6f67c08 Updating readme file for win22 version 20250127.1.1 (#11492)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-30 11:30:32 +00:00
a9c4aff756 Updating readme file for win19 version 20250127.1.1 (#11497)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-30 10:17:47 +00:00
0a2348df06 Updating readme file for macos-15-arm64 version 20250127.616 (#11481)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-30 06:19:19 +00:00
680aca18e3 Updating readme file for macos-13-arm64 version 20250127.672 (#11480)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-29 15:06:03 +00:00
d97acc5bf3 Updating readme file for macos-14 version 20250127.727 (#11485)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-29 13:47:04 +00:00
3ea8ee216f Updating readme file for ubuntu24 version 20250126.1.1 (#11479)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-29 13:21:28 +00:00
964d0b05f4 Updating readme file for ubuntu22 version 20250126.1.1 (#11478)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-29 11:51:32 +00:00
5a534e1f86 Updating readme file for ubuntu20 version 20250126.1.1 (#11477)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-29 11:48:07 +00:00
Erik Bershel 620ebdf37b [macOS] Deprecate stale code, update structure accordingly (#11473) 2025-01-27 14:09:51 +01:00
Erik Bershel 19c847488e [Actions] Remove Ruby check for CodeQL test as not used (#11474) 2025-01-27 09:57:24 +01:00
RaviAkshintala 7a1a792a74 [Windows] Update the edge driver thumbprint (#11475) 2025-01-27 09:44:30 +01:00
4aaad333a6 [Windows]Updated the php 8.4 version (#11461)
Co-authored-by: Shivam Mathur <[email protected]>

Co-authored-by: Ravi Akshintala <[email protected]>
2025-01-24 09:18:44 -07:00
Erik Bershel b7a804a460 [macOS] Update Xcode installer script - type optimization (#11459) 2025-01-24 10:57:28 +01:00
9af4ac0a68 Updating readme file for macos-15-arm64 version 20250120.596 (#11425)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-24 00:45:44 +00:00
65a1ae058f Updating readme file for macos-15-arm64 version 20250113.563 (#11371)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 19:56:16 +00:00
vidyasagarnimmagaddiandPat Myron d12bc7894b [Ubuntu] adding ruby version 3.3.* (#11452)
Co-authored-by: Pat Myron <[email protected]>
2025-01-23 08:08:29 -07:00
vidyasagarnimmagaddiandPat Myron f7fee117e8 [Windows] Adding Ruby version 3.3 (#11454)
Co-authored-by: Pat Myron <[email protected]>
2025-01-23 08:03:27 -07:00
hemanthmanga 02b8cbc5ce Adding latest Dotnet version 9 (#11457) 2025-01-23 08:01:43 -07:00
bdbe93c15a Updating readme file for win19 version 20250120.1.1 (#11449)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 13:55:17 +00:00
6e729ed9de Updating readme file for win22 version 20250120.2.1 (#11443)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 13:02:22 +00:00
Shamil Mubarakshin e149fc6a0e Update Tags handling in build-image.ps1 (#11458) 2025-01-23 13:57:09 +01:00
4e7613245f Updating readme file for win25 version 20250120.2.1 (#11440)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 12:26:39 +00:00
7f05bc5cf5 Updating readme file for ubuntu24 version 20250120.5.1 (#11442)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 12:05:59 +00:00
abc3bfa23d Updating readme file for ubuntu20 version 20250120.2.1 (#11439)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 12:05:38 +00:00
9303ddeb0c Updating readme file for ubuntu22 version 20250120.2.1 (#11441)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-23 11:43:45 +00:00
f12b993a3a Updating readme file for macos-14-arm64 version 20250120.774 (#11430)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-22 17:57:32 +00:00
Ikko Eltociear Ashimine c9859b2db3 [ubuntu] Update etc-environment.sh (#10344)
containg -> containing
2025-01-22 10:20:34 -07:00
vidyasagarnimmagaddiandJames Knight 37aecb0028 [Ubuntu & Windows] Adding Python 3.13 version (#11438)
Co-authored-by: James Knight <[email protected]>
2025-01-22 08:57:31 -07:00
cd2ebf2962 Updating readme file for macos-13 version 20250120.597 (#11428)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-22 14:38:28 +00:00
ee9c567442 Updating readme file for macos-13-arm64 version 20250120.653 (#11427)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-22 13:27:05 +00:00
727faa300e Updating readme file for macos-15 version 20250120.591 (#11426)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-22 12:26:19 +00:00
sureshe456 085d14e7de [macOS] Fix iOS18.2 for Xcode 16.2 on macOS 14 (#11447) 2025-01-21 16:38:03 +01:00
Lawrence Gripper 6020692ce2 Merge pull request #11047 from lawrencegripper/lg/postgres-win-update
[Windows] Unpin Postgres allowing latest v14 version
2025-01-21 12:30:37 +00:00
kishorekumar-anchala c21e3961c5 [Ubuntu] Fix minikube failure on ubuntu images (#11429)
* Fix minqube installation

* Fix minqube installation
2025-01-20 08:50:33 -07:00
Shamil Mubarakshin ee530b00e3 [windows] Update Get-WindowsUpdateStates function (#11397) 2025-01-20 11:12:30 +01:00
aartis17 af0df29967 [macOS] Updating TCC DB by adding microphone permissions for provisioner (#11412) 2025-01-17 14:57:32 +01:00
Lawrence Gripper ddaec57d3e Merge branch 'actions:main' into lg/postgres-win-update 2025-01-17 09:03:36 +00:00
kishorekumar-anchala 021b320d3b [Windows] Azurerm module version 2.1.0 deprecated (#11398)
* remove 2.1.0 deprecated

* remove 2.1.0 deprecated

* Removed cache versions and EOL versions
2025-01-16 14:48:51 -07:00
Shamil Mubarakshin f27bce4030 Add Windows2025 to GenerateResourcesAndImage.ps1 (#11404) 2025-01-16 18:43:53 +01:00
pravinade d0ef4c965f [macOS] Update activesupport gem to 7.1.5.1 to unlock cocoapods (#11406) 2025-01-16 18:12:17 +01:00
ffc156c381 Updating readme file for win25 version 20250113.1.1 (#11385)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 17:07:27 +00:00
7ac5d59cf5 Updating readme file for macos-13-arm64 version 20250113.628 (#11373)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 16:43:41 +00:00
1bb89cd279 Updating readme file for macos-14-arm64 version 20250113.751 (#11375)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 16:21:36 +00:00
9f1c73e473 Updating readme file for win22 version 20250113.1.1 (#11379)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 15:26:19 +00:00
620d17380f Updating readme file for macos-15 version 20250113.570 (#11374)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 12:57:12 +00:00
4a67880dbe Updating readme file for macos-13 version 20250113.572 (#11372)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 12:48:36 +00:00
lawrencegripper 39bd8d49c7 Merge branch 'main' into lg/postgres-win-update 2025-01-16 10:51:38 +00:00
250b209850 Updating readme file for macos-13-arm64 version 20250106.592 (#11305)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-16 00:18:51 +00:00
Subir Ghosh 8b7d5f6fee Revert "Implemented az-cli warmup (#11173)" (#11400)
This reverts commit ffe7e6a514.
2025-01-15 11:30:27 -07:00
kishorekumar-anchala f92a9551a8 [Windows] Update visual studio signature for windows 2019 (#11392)
* vs sign update for win-19

* update VS Signature
2025-01-15 08:35:47 -07:00
97c57828ed Updating readme file for win19 version 20250113.1.1 (#11380)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-15 14:10:16 +00:00
blu3 47ef77b32b Update license to 2025 (#11326) 2025-01-14 08:51:41 -07:00
lawrencegripper 043bfb130f Put in right place 2025-01-14 12:29:48 +00:00
lawrencegripper c15fb5f6b2 Add example detection script 2025-01-14 12:13:15 +00:00
lawrencegripper b887892285 Merge remote-tracking branch 'upstream/main' into lg/postgres-win-update 2025-01-14 09:30:03 +00:00
Alexey-Ayupov 8184167b25 Add tags support to image generation script (#11367) 2025-01-13 18:38:10 +01:00
lawrencegripper 7a88cb1d8b quiet output 2025-01-13 17:20:14 +00:00
lawrencegripper 62335a3830 Fix validation 2025-01-13 17:15:29 +00:00
lawrencegripper 9faa1553c1 Do some validation 2025-01-13 16:55:50 +00:00
lawrencegripper 40f0a79050 PoC: Require details tracked when patch version pinned 2025-01-13 16:44:41 +00:00
vidyasagarnimmagaddiandTim Jacomb d1852f561f [Ubuntu] Updated maven version 9.0 (#11337)
Co-authored-by: Tim Jacomb <[email protected]>
2025-01-13 07:41:39 -07:00
vidyasagarnimmagaddiandTim Jacomb 131105315a [Windows] Update maven version to 3.9 (#11321)
* [Windows] update maven version 3.9

Co-authored-by: Tim Jacomb <[email protected]>

* [Windows] Updated maven version 9.0
Co-authored-by: Tim Jacomb <[email protected]>

---------

Co-authored-by: Tim Jacomb <[email protected]>
2025-01-13 07:40:42 -07:00
vidyasagarnimmagaddi b127d3a973 [Windows] Update EdgeDriver signature (#11361) 2025-01-13 07:36:06 -07:00
Lawrence Gripper 0b3c476cb6 Merge pull request #11098 from lawrencegripper/lg/dotnet-docs
[ubuntu] Add documentation on .NET core changes for 2404
2025-01-13 13:48:44 +00:00
Lawrence Gripper 619f425184 Update toolset-2019.json 2025-01-13 12:52:03 +00:00
susmitamaneandSusmita Mane 8085da95cb [macOS] Add ruby 3.4 to macos images. (#11346)
Co-authored-by: Susmita Mane <[email protected]>
2025-01-10 16:33:35 +05:30
Seth Landry 976232da21 Update ubuntu-latest to Ubuntu 24.04 (#11332)
Fixes #10636

Update the `README.md` to reflect the change in the `ubuntu-latest` label to Ubuntu 24.04.

* Change the `ubuntu-latest` label to point to Ubuntu 24.04.
* Remove the beta tag from the Ubuntu 24.04 image.
* Update the rollout status of the Ubuntu 24.04 image to reflect the latest changes.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/actions/runner-images/issues/10636?shareId=XXXX-XXXX-XXXX-XXXX).
2025-01-09 09:46:46 -07:00
Erik Bershel 237fc1c4e2 [macOS] Add .NET 9.0 environment to all images (#11325) 2025-01-09 15:04:56 +01:00
Lawrence Gripper 1d54963a0a Temp DO NOT MERGE: remove azcopy to test postgres 2025-01-09 11:41:29 +00:00
c2491bb469 Updating readme file for macos-14 version 20250106.587 (#11315)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-09 10:38:06 +00:00
981fb1eb13 Updating readme file for macos-13 version 20250106.546 (#11304)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-09 06:05:24 +00:00
05c04b5275 Updating readme file for macos-14-arm64 version 20250106.725 (#11306)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 23:14:25 +00:00
2d35c44cec Updating readme file for win19 version 20250105.1.1 (#11312)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 18:08:04 +00:00
186e26bc97 Updating readme file for win22 version 20250105.1.1 (#11310)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 17:17:07 +00:00
5d3ec3ef99 Updating readme file for macos-15-arm64 version 20250106.544 (#11308)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 17:06:18 +00:00
402d029f44 Updating readme file for ubuntu20 version 20250105.1.1 (#11302)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 14:40:43 +00:00
f7416ed524 Updating readme file for win25 version 20250105.1.1 (#11313)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 14:27:13 +00:00
989ed18117 Updating readme file for macos-15 version 20250106.547 (#11307)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 13:31:07 +00:00
6d67eed162 Updating readme file for ubuntu22 version 20250105.1.1 (#11299)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 12:36:16 +00:00
bb3043b2c5 Updating readme file for ubuntu24 version 20250105.1.1 (#11298)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2025-01-08 11:48:29 +00:00
കുട്ടൂസ് 4ac5909191 Use GitHub markdown alert for note (#11288) 2025-01-07 12:41:49 -07:00
Subir Ghosh bc116668f0 Revert "[Windows] Update Service Fabric Versions (#11048)" (#11318)
This reverts commit 19e81a096c.
2025-01-07 10:16:50 -07:00
Alexey-Ayupov e51332054c [Windows-2025] Remove VS components related to 4.7.SDK (#11248) 2025-01-07 09:05:00 -07:00
kishorekumar-anchala 3d5f09a90f Add libsql3 to ubuntu-24 (#11300) 2025-01-06 14:21:15 -07:00
Lars Nielsen ffe7e6a514 Implemented az-cli warmup (#11173) 2025-01-06 14:09:27 -07:00
Lawrence Gripper 19e81a096c [Windows] Update Service Fabric Versions (#11048)
* [WIP] Update Service Fabric Versions on Windows runners

* Accidental postgres change

This was from another PR by mistake
2025-01-06 13:38:36 -07:00
Fahrzin Hemmati c2becfafdd Use all processors when installing zstd (#11067)
Speeds up my builds from 93s to 37s (four core) for the install-zstd.sh step
2025-01-06 13:34:42 -07:00
hemanthmanga c4f58658b6 Removing Dotnet version 7.0 from Ubuntu (#11277) 2025-01-06 07:36:59 -07:00
hemanthmanga aff0eea2a1 Removing Dotnet version 7.0 from windows (#11278) 2025-01-06 07:35:23 -07:00
vidyasagarnimmagaddi 6cc2576b1b [Ubuntu] remvoving Python Version:3.7.* (#11275) 2025-01-03 11:18:46 -07:00
vidyasagarnimmagaddi 92c3eccf8d [Windows] removing Pthyon version:3.7.* (#11276) 2025-01-03 11:17:07 -07:00
sureshe456andSuresh kumar b8e122b1b1 [macOS] Add Xcode 16.2 Release to macOS14 (#11272)
Co-authored-by: Suresh kumar <[email protected]>
2025-01-03 19:38:06 +05:30
Shamil Mubarakshin 03a8b0fd82 [windows] Fix WSL pester test (#11255) 2025-01-02 07:43:53 -07:00
Shamil Mubarakshin 5a7153bb52 [windows] Add Android SDK 34 to windows-2025 (#11249) 2024-12-30 19:11:22 +01:00
Alexey-Ayupov 5e69d9c205 [Windows] Add WSL2 to Windows-2025 image (#11242) 2024-12-30 11:11:22 +01:00
Alexey-Ayupov 0a970d8e11 [Windows] Update EdgeDriver signature (#11237) 2024-12-24 10:48:45 +01:00
Tachibana waita 9bdf288d3e Fix: erlang install failure on gpg key 2024-12-23 08:59:05 -07:00
lawrencegripper 39055770c9 Merge branch 'main' into lg/postgres-win-update 2024-12-20 14:55:28 +00:00
45226c1116 Updating readme file for macos-15-arm64 version 20241217.490 (#11213)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-19 16:13:23 +00:00
2d6d4f7714 Updating readme file for macos-15 version 20241217.493 (#11214)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-19 14:32:24 +00:00
Shamil Mubarakshin 3373b502f7 [Windows] Introduce Windows Server 2025 beta image (#11227) 2024-12-19 15:04:27 +01:00
Shamil Mubarakshin c9d728fd25 [windows-2025] Install mongosh for ALLUSERS and enable test (#11224) 2024-12-19 11:16:24 +01:00
bcf2ea82ad Updating readme file for macos-14-arm64 version 20241216.651 (#11210)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-19 00:11:37 +00:00
9dbed1b18a Updating readme file for macos-14 version 20241216.504 (#11209)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 22:59:28 +00:00
70cee3d2bd Updating readme file for win19 version 20241215.1.1 (#11201)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 22:15:37 +00:00
f55af58f30 Updating readme file for win22 version 20241215.1.1 (#11202)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 22:01:34 +00:00
f983f3da95 Updating readme file for macos-13-arm64 version 20241216.537 (#11206)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 21:39:31 +00:00
832c038b81 Updating readme file for macos-13 version 20241216.479 (#11207)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 20:31:03 +00:00
39222c24c4 Updating readme file for ubuntu20 version 20241215.1.1 (#11205)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 17:10:33 +00:00
7c2da160a2 Updating readme file for ubuntu24 version 20241215.1.1 (#11197)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 12:26:37 +00:00
ee68afd89e Updating readme file for ubuntu22 version 20241215.1.1 (#11198)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-18 11:51:24 +00:00
Lawrence Gripper ee59bae245 Update docs/dotnet-ubuntu.md 2024-12-17 13:15:53 +00:00
sureshe456 2899593d7a [macOS] Add Xcode 16.2 Release to macOS15 (#11179) 2024-12-16 09:52:11 -06:00
ad23bf9f93 Updating readme file for ubuntu24 version 20241208.1.1 (#11139)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-16 07:39:37 -07:00
600fb502b3 Updating readme file for ubuntu22 version 20241211.1.1 (#11166)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-16 07:38:38 -07:00
sarathrajsrinivasan 5c8a14c94c [macOS] Add Symlink for tcl-tk8 (#11128)
* [macOS] Add Symlink for tcl-tk8

* [macOS] Add condition for tcl tk only for macOS13 and macOS14 Intel machines

* [macOS] Update test case for tcl/tk

* [macOS] Update test cases for tcl/tk for macOS15

* [macOS] Update tcl/tk test cases
2024-12-16 15:52:29 +05:30
Alexey-Ayupov 0e631a89e8 [Windows] Remove Windows\Installer\* folder cleanup for windows 2025 image (#11193) 2024-12-15 12:44:49 +01:00
Alexey-Ayupov cee689db9f [Windows] Update EdgeDriver signature (#11192) 2024-12-15 12:44:26 +01:00
591df9aa44 Updating readme file for macos-15-arm64 version 20241211.459 (#11151)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-14 19:36:19 -06:00
225dce0cbd Updating readme file for macos-15 version 20241211.462 (#11150)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-14 19:35:45 -06:00
b14867a5eb Updating readme file for macos-13-arm64 version 20241211.503 (#11153)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 23:56:52 +00:00
4ef6e91929 Updating readme file for macos-14-arm64 version 20241211.616 (#11160)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 23:46:11 +00:00
6b5e85899d Updating readme file for macos-14 version 20241211.477 (#11154)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 22:53:14 +00:00
d0a65206e5 Updating readme file for macos-13 version 20241211.456 (#11155)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 22:46:09 +00:00
Joost Voskuil 7cd7c6a18a Add Microsoft.Net.Component.4.7.2.SDK to Windows toolset 2022 (#11118) 2024-12-13 20:19:19 +01:00
019a2c6edc Updating readme file for win22 version 20241211.1.1 (#11165)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 16:50:08 +00:00
cb92b7c5b2 Updating readme file for ubuntu20 version 20241209.1.1 (#11141)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 09:16:02 -07:00
9e06b648c0 Updating readme file for win19 version 20241211.1.1 (#11175)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-13 14:32:17 +00:00
Shamil Mubarakshin 625a3cb7eb [windows] Update Visual Studio Software Report (#11171) 2024-12-13 11:54:30 +01:00
Shamil Mubarakshin 9a4df3f591 [windows] Update mongosh signature (#11181) 2024-12-13 11:54:00 +01:00
Alexey-Ayupov 87aba9f412 [Windows] Install "strawberryperl" right after "cmake" (#11158) 2024-12-12 12:06:41 +01:00
Shamil Mubarakshin 6bbddd20d7 [windows] Remove Windows\Installer\* folder cleanup (#11144) 2024-12-10 17:11:16 +01:00
Alexey-Ayupov ddfcef3f6a [Windows] Accept by default "Send Diagnostic data to Microsoft" consent (#11121) 2024-12-09 19:49:19 +01:00
Alexey-Ayupov 3dca722ddb [Ubuntu] Add systemd-coredump (#11120) 2024-12-09 19:47:06 +01:00
susmitamane cb088fbe48 [macOS] Add Xcode 16.2 Release Candidate to macOS15 (#11134) 2024-12-09 10:54:20 +01:00
Erik Bershel c2c0261ea4 [macOS] Add Android SDK 34 to macOS-15 images (#11103) 2024-12-06 11:25:23 +01:00
b74c33ad6e Updating readme file for macos-14-arm64 version 20241202.580 (#11083)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 16:35:55 +00:00
de16eefce8 Updating readme file for macos-15-arm64 version 20241202.430 (#11086)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 13:24:19 +00:00
1346c98b00 Updating readme file for macos-13-arm64 version 20241202.469 (#11081)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 11:44:33 +00:00
26a47c5357 Updating readme file for macos-14 version 20241202.444 (#11082)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 11:17:09 +00:00
Lawrence Gripper d7a4f1a864 Update docs/dotnet-ubuntu.md 2024-12-05 11:05:46 +00:00
5ae5d85800 Updating readme file for macos-13 version 20241202.423 (#11084)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 10:32:22 +00:00
f839529975 Updating readme file for macos-15 version 20241202.430 (#11085)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-05 10:28:59 +00:00
d7901f6e93 Updating readme file for win19 version 20241201.2.1 (#11080)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-04 23:35:37 +00:00
d868709391 Updating readme file for win22 version 20241201.2.1 (#11078)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-04 21:00:26 +00:00
lawrencegripper 3362e8dadf [ubuntu] Add documentation on .NET core changes for 2404
This adds a short document detailing the changes .NET Core team have made related to Ubuntu.

It provides a brief overview of the implications and how to resolve issues caused by this change.
2024-12-04 17:17:20 +00:00
lawrencegripper 9f195304f1 Put the installer back to original order 2024-12-04 16:35:34 +00:00
Alexey-Ayupov e6d18766e6 [Windows] Refactor Install-NodeJS script (#11088) 2024-12-04 15:01:55 +01:00
07869434fe Updating readme file for ubuntu20 version 20241201.1.1 (#11072)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-04 12:00:37 +00:00
lawrencegripper 0fae0a3b0b Fix getting output 2024-12-04 11:55:32 +00:00
2d0360379c Updating readme file for ubuntu24 version 20241201.1.1 (#11073)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-04 11:46:11 +00:00
cc762854bd Updating readme file for ubuntu22 version 20241201.1.1 (#11076)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-12-04 11:28:11 +00:00
lawrencegripper 18efc23fe3 Quicker loop again 2024-12-04 11:07:49 +00:00
lawrencegripper 66ee991884 Missing recurse 2024-12-04 11:06:53 +00:00
Lawrence Gripper 1aad2d246d Update images/windows/scripts/build/Install-PostgreSQL.ps1 2024-12-03 20:33:13 +00:00
lawrencegripper 9d551e43bc Missing backtick 🤦‍♂️ 2024-12-03 13:48:31 +00:00
Alexey-Ayupov 4730894910 [Windows] Fix the value of the variable "image_os" for Windows 2025 (#11090) 2024-12-03 14:02:45 +01:00
Lawrence Gripper 692b6af2e9 Update images/windows/scripts/helpers/InstallHelpers.ps1 2024-12-03 09:45:08 +00:00
lawrencegripper 4e756696cb Hack: temp fix to improve debugging loop 2024-12-02 14:37:55 +00:00
lawrencegripper 0d3756a2ec Handle looking for installer log before exit 2024-12-02 14:36:15 +00:00
lawrencegripper a0fc3d11c5 debugging 2024-12-02 10:14:52 +00:00
sureshe456 c8985638bc fix to kotlinc-js instead of fix-kotlin-dce-js as deprecated (#11075) 2024-12-02 10:53:40 +01:00
Alexey-Ayupov 49a87ab9a3 [Windows] Exclude "installer" directory from deletion (#11068) 2024-12-01 22:22:13 +01:00
lawrencegripper 3f89591af5 Make install optional as probably not needed for next windows 2025 build 2024-11-29 11:01:49 +00:00
lawrencegripper 1acb48ed45 Directly install vs redist before installing postgres 2024-11-29 10:23:46 +00:00
Erik Bershel a0b19fa01b [Windows] Update Get-GithubReleasesByVersion function sorting (#11064) 2024-11-29 11:09:38 +01:00
Alexey-Ayupov e3ba729b37 [Windows] Add Windows 2025 code (#11037) 2024-11-29 11:08:29 +01:00
Alexey-Ayupov 6c768837be Add trigger to run Windows 2025 CI (#11063) 2024-11-28 20:09:12 +01:00
Lawrence Gripper ba0b242503 Update images/windows/scripts/helpers/InstallHelpers.ps1 2024-11-28 15:42:57 +00:00
lawrencegripper d3779e8ed4 Merge branch 'main' into lg/postgres-win-update 2024-11-28 15:41:57 +00:00
RaviAkshintalaandRavi Akshintala 004bb48b9e [Ubuntu] Updated the Kotlin pester test and Power shell version for Ubuntu24.04. (#11062)
* [Ubuntu] Uodated the script to install the powershell

* [Ubuntu] Fixing the powershell and kotlin

---------

Co-authored-by: Ravi Akshintala <[email protected]>
2024-11-28 08:11:49 -07:00
Alexey-Ayupov 5a263020f5 [Windows] Reorganize temporary file storage and separate cleanup activities (#11054) 2024-11-28 13:30:26 +01:00
Alexey-Ayupov 9b0a6c08c9 [Windows] Update Kotlin Pester test (#11056) 2024-11-28 11:04:06 +01:00
lawrencegripper 157d0dd46b Allow postgres to install necessary MSVC redistributables
Newer postgres installes require MSVC 17 which isn't
on the box by default.

Previously this worked as they required MSVC 16
which was installed by Visual Studio

https://github.com/actions/runner-images/pull/11047#issuecomment-2504219995
2024-11-27 16:03:13 +00:00
kishorekumar-anchala 20d0451bdd Update visualstduio signature for windows 2022 (#11052) 2024-11-27 13:31:30 +01:00
lawrencegripper 181b98660d hack: get stdout and stderr for failing install 2024-11-27 10:57:26 +00:00
6eccdcc56f Updating readme file for macos-14-arm64 version 20241125.556 (#11031)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 14:43:12 +00:00
6d5e92cd22 Updating readme file for macos-15-arm64 version 20241125.405 (#11033)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 14:29:13 +00:00
50bb5e8967 Updating readme file for macos-13-arm64 version 20241125.445 (#11032)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 14:28:39 +00:00
lawrencegripper 95b0a5551b re-add signitures
removed these by accident, postgres releases are
signed with same key so keeping this allows us
to validate it
2024-11-26 13:33:25 +00:00
a63a87f6a0 Updating readme file for macos-14 version 20241125.421 (#11043)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 13:30:50 +00:00
ced65c7a3c Updating readme file for macos-15 version 20241125.404 (#11042)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 13:12:54 +00:00
153e15c52e Updating readme file for macos-13 version 20241125.399 (#11044)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 13:09:17 +00:00
a03f6d0ec3 Updating readme file for win22 version 20241125.1.1 (#11045)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 11:27:25 +00:00
f391328279 Updating readme file for win19 version 20241125.1.1 (#11046)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 11:20:28 +00:00
lawrencegripper d195f34aa8 [WIP] Unpin Postgres on Windows images allowing latest v14 version. 2024-11-26 10:29:31 +00:00
00f102b4cc Updating readme file for ubuntu24 version 20241124.1.1 (#11038)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 04:03:16 +00:00
1e3d72af6d Updating readme file for ubuntu20 version 20241124.1.1 (#11040)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-26 04:02:31 +00:00
github-actions[bot]andImage generation service account. aba30c31f0 Updating readme file for ubuntu22 version 20241124.1.1 (#11039)
Co-authored-by: Image generation service account. <[email protected]>
2024-11-26 04:01:34 +00:00
Subir Ghosh b3342fe129 -S (#10979)
chore: Update gist url for release basdges
2024-11-25 12:34:53 -07:00
Erik Bershel fc643c2fc8 [macOS] Add Xcode 15.4 to macOS-15; update disk space test (#11023) 2024-11-25 14:59:18 +01:00
Prasanjit Sahoo a9d89fa563 [MacOS]Update php-8.3 to php-8.4 (#11035) 2024-11-25 19:07:58 +05:30
RaviAkshintala 75e2e796b8 [Windows] Updated the DACF thumprint signature (#11030) 2024-11-25 12:08:46 +01:00
Alexey-Ayupov ffd458e263 [Windows] Update Visual Studio signature (#11026) 2024-11-23 14:15:56 +01:00
166ca4e9c2 Updating readme file for macos-14-arm64 version 20241119.509 (#11011)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-22 15:26:36 +00:00
susmitamaneandErik Bershel 6e8ddff8ff [macOS] Add Ruby toolcache on arm64 images. (#10768)
Co-authored-by: Erik Bershel <[email protected]>
2024-11-22 15:35:31 +01:00
sarathrajsrinivasan 26b592de2b [macOS] Replace pkg-config with pkgconf in all macOS images (#11015) 2024-11-22 15:23:29 +01:00
aartis17 d22a5ec4c1 [macos] Removing python 3.9 and 3.10 from macos-14-arm64 (#11018) 2024-11-21 19:35:54 +05:30
Prasanjit SahooandErik Bershel e6fd81684d [macOS] Update Xcode 16.2 Beta on macOS15 (#11019)
* [macOS] Add Xcode 16.2 Beta 3 to macOS14 and macOS15

* Remove Xcode 16 beta from macos-14

---------

Co-authored-by: Erik Bershel <[email protected]>
2024-11-21 19:04:46 +05:30
183bef9022 Updating readme file for ubuntu20 version 20241117.1.1 (#10999)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-21 11:41:37 +00:00
53c3ba89fe Updating readme file for ubuntu22 version 20241117.1.1 (#10997)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-21 10:48:28 +00:00
6c6545011c Updating readme file for ubuntu24 version 20241117.1.1 (#10998)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-21 10:21:18 +00:00
2c013247b1 Updating readme file for macos-15-arm64 version 20241118.362 (#10991)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-21 03:33:00 +00:00
7a40bc62eb Updating readme file for macos-14 version 20241118.366 (#10993)
Co-authored-by: Image generation service account. <[email protected]>
Co-authored-by: Actions service account <[email protected]>
2024-11-20 23:51:46 +00:00
kishorekumar-anchala cb9e36698d [Windows] Fix AzCli Signature and Install Azure CosmosDb Emulator thumbprint (#11004)
* Fix azcli,cosmosdb and remove vscomponent

* Update visual studio signature

* revert toolset-2022.json changes
2024-11-20 07:53:46 -07:00
sarathrajsrinivasan b20550951d [macOS] Pin version for Az powershell module (#11006) 2024-11-19 13:30:00 -06:00
Prabhatkumar59andPrabhat kumar c0b1588684 adding latest 3.2 version (#10988)
Co-authored-by: Prabhat kumar <[email protected]>
2024-11-19 08:03:49 -07:00
sarathrajsrinivasan fd9befaf96 [macOS] Reverting changes to python 3.9 and 3.10 for macOS14 (#10996) 2024-11-18 22:25:26 +01:00
221 changed files with 5341 additions and 8368 deletions
+1 -2
View File
@@ -36,10 +36,8 @@ body:
attributes:
label: Runner images affected
options:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
@@ -48,6 +46,7 @@ body:
- label: macOS 15 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- type: textarea
attributes:
label: Mitigation ways
+1 -2
View File
@@ -19,10 +19,8 @@ body:
attributes:
label: Runner images affected
options:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
@@ -31,6 +29,7 @@ body:
- label: macOS 15 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- type: textarea
attributes:
label: Image version and build link
+1 -2
View File
@@ -57,10 +57,8 @@ body:
attributes:
label: Runner images where you need the tool
options:
- label: Ubuntu 20.04
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: macOS 12
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
@@ -69,6 +67,7 @@ body:
- label: macOS 15 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- type: textarea
attributes:
label: Can this tool be installed during the build?
@@ -0,0 +1,22 @@
name: Check Outdated Version Pinning
on:
schedule:
- cron: '0 12 * * 1' # Run at 12:00 UTC every Monday
permissions:
issues: write
contents: read
jobs:
check-pinning-dates:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Validate JSON Schema
shell: pwsh
run: ./helpers/CheckOutdatedVersionPinning.ps1
env:
GH_TOKEN: ${{ github.token }}
+1 -1
View File
@@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'python', 'ruby' ]
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
run: |
git checkout ${{ github.event.client_payload.ReleaseBranchName }}
git branch ${{ github.event.client_payload.ReleaseBranchName }}-docs
git push origin ${{ github.event.client_payload.ReleaseBranchName }}-docs
git push origin ${{ github.event.client_payload.ReleaseBranchName }}-docs --force
- name: Create pull request for ${{ github.event.client_payload.ReleaseBranchName }}
id: create-pr
-20
View File
@@ -1,20 +0,0 @@
name: Trigger Ubuntu20.04 CI
run-name: Ubuntu20.04 - ${{ github.event.pull_request.title }}
on:
pull_request_target:
types: labeled
paths:
- 'images/ubuntu/**'
defaults:
run:
shell: pwsh
jobs:
Ubuntu_2004:
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2004'
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with:
image_type: 'ubuntu2004'
secrets: inherit
@@ -0,0 +1,20 @@
name: Validate JSON Schema
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
validate-json-schema:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Validate JSON Schema
shell: pwsh
run: ./helpers/CheckJsonSchema.ps1
+20
View File
@@ -0,0 +1,20 @@
name: Trigger Windows25 CI
run-name: Windows2025 - ${{ github.event.pull_request.title }}
on:
pull_request_target:
types: labeled
paths:
- 'images/windows/**'
defaults:
run:
shell: pwsh
jobs:
Windows_2022:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2025'
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with:
image_type: 'windows2025'
secrets: inherit
+10 -1
View File
@@ -21,5 +21,14 @@
],
"shellcheck.customArgs": [
"-x"
]
],
"json.schemas": [
{
"fileMatch": [
"**/toolset-*.json"
],
"url": "./schemas/toolset-schema.json"
}
]
}
+2 -2
View File
@@ -23,7 +23,7 @@ Here are a few things you can do that will increase the likelihood of your pull
- Follow the style guide for [Powershell](https://github.com/PoshCode/PowerShellPracticeAndStyle) when writing Windows scripts. There is currently no set style for the Shell scripts that run Linux installs :soon:.
- Include complete details of why this is needed in the PR description.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write [good commit messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- Write [good commit messages](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- For new tools:
- Make sure that the tool satisfies the [Software Guidelines](README.md#software-guidelines).
- Create an issue and get approval from us to add this tool to the image before creating the pull request.
@@ -53,7 +53,7 @@ Add `Invoke-PesterTests -TestFile <testFileName> [-TestName <describeName>]` at
Use existing scripts such as [github-cli.sh](images/ubuntu/scripts/build/github-cli.sh) as a starting point.
- Use [helpers](images/ubuntu/scripts/helpers/install.sh) to simplify the installation process.
- The validation part should `exit 1` if there is any issue with the installation.
- Add changes to the software report generator `images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Ubuntu2004-Readme.md](images/ubuntu/Ubuntu2004-README.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
- Add changes to the software report generator `images/ubuntu/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Ubuntu2204-Readme.md](images/ubuntu/Ubuntu2204-Readme.md) and it uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
### macOS
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2024 GitHub
Copyright (c) 2025 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+16 -18
View File
@@ -1,4 +1,3 @@
# GitHub Actions Runner Images
**Table of Contents**
@@ -21,18 +20,17 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
| Image | YAML Label | Included Software | Rollout Status of Latest Image Release |
| --------------------|---------------------|--------------------|--------------------|
| Ubuntu 24.04 | `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu24.json) |
| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu22.json) |
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fubuntu20.json) |
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-15.json) |
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-15-arm64.json) |
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-14.json) |
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-14-arm64.json) |
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-13.json) |
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-13-arm64.json) |
| macOS 12 <sup>deprecated</sup> | `macos-12` or `macos-12-large`| [macOS-12] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fmacos-12.json) |
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fwin22.json) |
| Windows Server 2019 | `windows-2019` | [windows-2019] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fijunaidm%2F0b5459bbe18604a639e1d2f7accd204f%2Fraw%2Fwin19.json) |
| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu24.json) |
| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu22.json) |
| macOS 15 | `macos-15-large`| [macOS-15] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15.json) |
| macOS 15 Arm64 | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15-arm64.json) |
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-14.json) |
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-14-arm64.json) |
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-13.json) |
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-13-arm64.json) |
| Windows Server 2025 | `windows-2025` | [windows-2025] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin25.json) |
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin22.json) |
| Windows Server 2019 | `windows-2019` | [windows-2019] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fwin19.json) |
### Label scheme
@@ -41,10 +39,9 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
[ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
[macOS-12]: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
[macOS-13]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
[macOS-13-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md
[macOS-14]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md
@@ -119,7 +116,7 @@ The `-latest` migration process is gradual and happens over 1-2 months in order
| Go | 3 latest minor versions |
| Python <br/> Ruby | 5 most popular `major.minor` versions |
| PyPy | 3 most popular `major.minor` versions |
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed |
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed. Note for [Ubuntu images see details.](./docs/dotnet-ubuntu.md) |
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
| Android NDK | 1 latest non-LTS, 2 latest LTS versions |
| Xcode | - only one major version of Xcode will be supported per macOS version <br/> - all minor versions of the supported major version will be available <br/> - beta and RC versions will be provided "as-is" in the latest available macOS image only no matter of beta/GA status of the image <br/> - when a new patch version is released, the previous patch version will be replaced |
@@ -127,11 +124,12 @@ The `-latest` migration process is gradual and happens over 1-2 months in order
### Package managers usage
We use third-party package managers to install software during the image generation process. The table below lists the package managers and the software installed.
> **Note**: third-party repositories are re-evaluated every year to identify if they are still useful and secure.
> [!NOTE]
> Third-party repositories are re-evaluated every year to identify if they are still useful and secure.
| Operating system | Package manager | Third-party repos and packages |
| :--- | :---: | ---: |
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [containers](https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable) (Ubuntu 20 only) <br/> [docker](https://download.docker.com/linux/ubuntu) (Ubuntu20 0nly) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](http://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
| Ubuntu | [APT](https://wiki.debian.org/Apt) | [docker](https://download.docker.com/linux/ubuntu) <br/> [Eclipse-Temurin (Adoptium)](https://packages.adoptium.net/artifactory/deb/) <br/> [Erlang](https://packages.erlang-solutions.com/ubuntu) <br/> [Firefox](https://ppa.launchpad.net/mozillateam/ppa/ubuntu) <br/> [git-lfs](https://packagecloud.io/install/repositories/github/git-lfs) <br/> [git](https://launchpad.net/~git-core/+archive/ubuntu/ppa) <br/> [Google Cloud CLI](https://packages.cloud.google.com/apt) <br/> [Heroku](https://cli-assets.heroku.com/channels/stable/apt) <br/> [HHvm](https://dl.hhvm.com/ubuntu) <br/> [MongoDB](https://repo.mongodb.org/apt/ubuntu) <br/> [Mono](https://download.mono-project.com/repo/ubuntu) <br/> [MS Edge](https://packages.microsoft.com/repos/edge) <br/> [PostgreSQL](https://apt.postgresql.org/pub/repos/apt/) <br/> [R](https://cloud.r-project.org/bin/linux/ubuntu) |
| | [pipx](https://pypa.github.io/pipx) | ansible-core <br/>yamllint |
| Windows | [Chocolatey](https://chocolatey.org) | No third-party repos installed |
| macOS | [Homebrew](https://brew.sh) | [aws-cli v2](https://github.com/aws/homebrew-tap) </br> [azure/bicep](https://github.com/Azure/homebrew-bicep) </br> [mongodb/brew](https://github.com/mongodb/homebrew-brew) |
+8 -6
View File
@@ -1,6 +1,6 @@
# GitHub Actions Runner Images
The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for Windows 2019/2022 and Ubuntu 20.04/22.04.
The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for Windows 2019/2022 and Ubuntu 22.04/24.04.
Each image is configured by a HCL2 Packer template that specifies where to build the image (Azure, in this case),
and what steps to run to install software and prepare the disk.
@@ -49,7 +49,7 @@ In any case, you will need these software installed:
For Linux - install the latest version from your distro's package repo.
For Windows - download and install it from [here](https://gitforwindows.org/) of use [Chocolatey](https://chocolatey.org/):
For Windows - download and install it from [here](https://gitforwindows.org/) or use [Chocolatey](https://chocolatey.org/):
```powershell
choco install git -params '"/GitAndUnixToolsOnPath"'
@@ -75,7 +75,7 @@ In any case, you will need these software installed:
## Manual image generation
This repository includes a script that assists in generating images in Azure.
All you need is an Azure subscription and a build agent configured as described above.
All you need is an Azure subscription, a resource group in that subscription and a build agent configured as described above.
We suggest starting with building the UbuntuMinimal image because it includes only basic software and builds in less than 30 minutes.
All the commands below should be executed in PowerShell.
@@ -96,9 +96,10 @@ Import-Module .\helpers\GenerateResourcesAndImage.ps1
Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arguments: image type and where to build and store the resulting managed image:
- `SubscriptionId` - your Azure Subscription ID;
- `ResourceGroupName` - the name of the resource group that will be created within your subscription (e.g., "imagegen-test");
- `ResourceGroupName` - the name of the resource group that will store the resulting artifact (e.g., "imagegen-test").
The resource group must already exist in your Azure subscription;
- `AzureLocation` - the location where resources will be created (e.g., "East US");
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Ubuntu2004", "Ubuntu2204").
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
@@ -195,9 +196,10 @@ you can use Packer directly. To do this, you will need:
- a resource group created in your Azure subscription where the managed image will be stored;
- a string to be used as a password for the user used to install software (Windows only).
Then, you can invoke Packer in your CI/CD pipeline using the following command:
Then, you can invoke Packer in your CI/CD pipeline using the following commands:
```powershell
packer plugins install github.com/hashicorp/azure 2.2.1
packer build -var "subscription_id=$SubscriptionId" `
-var "client_id=$ClientId" `
-var "client_secret=$ClientSecret" `
+34
View File
@@ -0,0 +1,34 @@
# Ubuntu .NET Core Versions
.NET has changed the recommended install methods for Ubuntu from 2404.
This document gives an overview of these change and the impact this has on the `runner-images`.
## .NET Core for Ubuntu 2004 and 2204
2004 and 2204 use the [Microsoft Package repository](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2004) to install .NET deb files built and published by the .NET team.
## .NET Core Versions from Ubuntu 2404
The .NET Core team have worked with Canonical and Ubuntu now provides its own .NET packages.
These are the recommended install path and, as-such what is installed on the image.
> The release of Ubuntu 24.04 is just around the corner. Canonical-produced .NET 6, 7, and 8 packages will be available on day one, for "Noble Numbat". Microsoft will not be publishing .NET packages to the 24.04 feed at packages.microsoft.com.
You can read the [full announcement from .NET team here](https://github.com/dotnet/core/discussions/9258). We'll briefly summarize how this change may impact users of the image.
### [`Feature Bands`](https://learn.microsoft.com/dotnet/core/porting/versioning-sdk-msbuild-vs)
Going forward only the `1xx` feature band will be present in the image as Ubuntu only build and publish this band.
> Most distros, including Ubuntu, stick to the .1xx feature band for the lifetime of a major .NET version. They make this choice because .1xx is (effectively) the "compatibility band". Higher bands can have breaking changes.
> This means there will no longer be packages available for .2xx and later feature bands. Such packages have been exclusively available from Microsoft. If users see an incompatibility between .1xx and higher feature bands, we ask that you please report it in the dotnet/sdk repo. [link: dotnet/core discussion](https://github.com/dotnet/core/discussions/9258)
If you need a higher feature band for your Actions the recommendation is to use the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version.
### .NET MAUI
.NET MAUI is [not included](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857) in the Ubuntu .NET package. There is work [ongoing to fix.](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857)
You should be able to resolve this by using the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version.
+42
View File
@@ -0,0 +1,42 @@
$ErrorActionPreference = 'Stop'
# A JSON schema validator which supports outputting line numbers for errors
# this allows us to put annotations on builds for errors in the JSON files
# `Test-Json` built in cmdline doesn't. No existing cli tool supports this
# that I could find either. See: https://github.com/lawrencegripper/gripdev-json-schema-validator
Install-Module -Name GripDevJsonSchemaValidator -Force -Scope CurrentUser
# Find all toolset JSON files
$toolsetFiles = Get-ChildItem -Recurse -Filter "toolset-*.json" | Where-Object { $_.Name -notlike "*schema.json" }
$schemaFilePath = "./schemas/toolset-schema.json"
$toolsetHasErrors = $false
foreach ($file in $toolsetFiles) {
Write-Host ""
Write-Host "🔍 Validating $($file.FullName)" -ForegroundColor Cyan
$validationResult = Test-JsonSchema -SchemaPath $schemaFilePath -JsonPath $file.FullName -PrettyPrint $false
if ($validationResult.Valid) {
Write-Host "✅ JSON is valid." -ForegroundColor Green
} else {
# File has been modified since the commit, enforce validation
$toolsetHasErrors = $true
Write-Host "`n❌ JSON validation failed!" -ForegroundColor Red
Write-Host " Found the following errors:`n" -ForegroundColor Yellow
$validationResult.Errors | ForEach-Object {
Write-Host $_.UserMessage
if ($env:GITHUB_ACTIONS -eq 'true') {
Write-Host "Adding annotation"
Write-Host "::error file=$($file.Name),line=$($_.LineNumber)::$($_.UserMessage.Replace("`n", '%0A'))"
}
}
}
}
if ($toolsetHasErrors) {
Write-Error "One or more toolset JSON files failed schema validation. See the error output above for more details."
} else {
Write-Host "Schema validation completed successfully"
}
+85
View File
@@ -0,0 +1,85 @@
$ErrorActionPreference = 'Stop'
# Find all toolset JSON files
$toolsetFiles = Get-ChildItem -Recurse -Filter "toolset-*.json" | Where-Object { $_.Name -notlike "*schema.json" }
$expiringPins = @()
$now = Get-Date
$warningDays = 30 # Warn if expiring within 30 days
foreach ($file in $toolsetFiles) {
Write-Host "Processing $($file.Name)"
$content = Get-Content $file.FullName | ConvertFrom-Json
# Recursively search for pinnedDetails in the JSON
function Search-PinnedDetails {
param($obj, $path)
$foundPins = @()
if ($obj -is [System.Management.Automation.PSCustomObject]) {
foreach ($prop in $obj.PSObject.Properties) {
if ($prop.Name -eq "pinnedDetails") {
Write-Host "Found pinned version at $path"
$reviewAt = [DateTime]::Parse($prop.Value.'review-at')
$daysUntilExpiry = ($reviewAt - $now).Days
if ($daysUntilExpiry -lt $warningDays) {
Write-Host "Adding to expiringPins array"
$foundPins += @{
Path = $path
File = $file.Name
ReviewAt = $reviewAt
DaysUntilExpiry = $daysUntilExpiry
Reason = $prop.Value.reason
Link = $prop.Value.link
}
}
} else {
$foundPins += Search-PinnedDetails -obj $prop.Value -path "$path.$($prop.Name)"
}
}
} elseif ($obj -is [Array]) {
for ($i = 0; $i -lt $obj.Count; $i++) {
$foundPins += Search-PinnedDetails -obj $obj[$i] -path "$path[$i]"
}
}
return $foundPins
}
$expiringPins += Search-PinnedDetails -obj $content -path $file.Name
}
if ($expiringPins) {
$issueBody = "# Version Pinning Review Required`n`n"
$issueBody += "The following pinned versions need review:`n`n"
foreach ($pin in $expiringPins) {
$status = if ($pin.DaysUntilExpiry -lt 0) { "EXPIRED" } else { "Expiring Soon" }
$issueBody += "## $($status) - $($pin.Path)`n"
$issueBody += "- **File**: $($pin.File)`n"
$issueBody += "- **Review Date**: $($pin.ReviewAt.ToString('yyyy-MM-dd'))`n"
$issueBody += "- **Days until expiry**: $($pin.DaysUntilExpiry)`n"
$issueBody += "- **Reason**: $($pin.Reason)`n"
$issueBody += "- **Original PR**: $($pin.Link)`n`n"
}
if ($env:GITHUB_ACTIONS -eq 'true') {
# In GitHub Actions, create an issue
Write-Host "Creating issue"
$tempFile = [System.IO.Path]::GetTempFileName()
Set-Content -Path $tempFile -Value $issueBody
gh issue create --title "Version Pinning Review Found Expired Pinned Versions" --body-file $tempFile
Remove-Item -Path $tempFile
}
Write-Host "`nIssue Content:`n"
Write-Host $issueBody
}
else {
Write-Host "No expiring pins found."
if ($env:GITHUB_ACTIONS -eq 'true') {
"expired_pins=0" >> $env:GITHUB_OUTPUT
}
}
+14 -93
View File
@@ -3,7 +3,7 @@ $ErrorActionPreference = 'Stop'
enum ImageType {
Windows2019 = 1
Windows2022 = 2
Ubuntu2004 = 3
Windows2025 = 3
Ubuntu2204 = 4
Ubuntu2404 = 5
UbuntuMinimal = 6
@@ -25,8 +25,8 @@ Function Get-PackerTemplatePath {
([ImageType]::Windows2022) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
}
([ImageType]::Ubuntu2004) {
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-20.04.pkr.hcl"
([ImageType]::Windows2025) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
}
([ImageType]::Ubuntu2204) {
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-22.04.pkr.hcl"
@@ -79,9 +79,9 @@ Function GenerateResourcesAndImage {
.PARAMETER SubscriptionId
The Azure subscription id where the Azure resources will be created.
.PARAMETER ResourceGroupName
The name of the resource group to create the Azure resources in.
The name of the resource group to store the resulting artifact. Resource group must already exist.
.PARAMETER ImageType
The type of image to generate. Valid values are: Windows2019, Windows2022, Ubuntu2004, Ubuntu2204, UbuntuMinimal.
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
.PARAMETER ManagedImageName
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
.PARAMETER AzureLocation
@@ -99,12 +99,6 @@ Function GenerateResourcesAndImage {
.PARAMETER RestrictToAgentIpAddress
If set, access to the VM used by packer to generate the image is restricted to the public IP address this script is run from.
This parameter cannot be used in combination with the virtual_network_name packer parameter.
.PARAMETER Force
Delete the resource group if it exists without user confirmation.
This parameter is deprecated and will be removed in a future release.
.PARAMETER ReuseResourceGroup
Reuse the resource group if it exists without user confirmation.
This parameter is deprecated and will be removed in a future release.
.PARAMETER OnError
Specify how packer handles an error during image creation.
Options:
@@ -115,8 +109,10 @@ Function GenerateResourcesAndImage {
The default is 'ask'.
.PARAMETER Tags
Tags to be applied to the Azure resources created.
.PARAMETER PluginVersion
Specify the version of the packer Azure plugin to use. The default is "2.2.1".
.EXAMPLE
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu2004 -AzureLocation "East US"
GenerateResourcesAndImage -SubscriptionId {YourSubscriptionId} -ResourceGroupName "shsamytest1" -ImageGenerationRepositoryRoot "C:\runner-images" -ImageType Ubuntu2204 -AzureLocation "East US"
#>
param (
[Parameter(Mandatory = $True)]
@@ -140,26 +136,16 @@ Function GenerateResourcesAndImage {
[Parameter(Mandatory = $False)]
[string] $AzureTenantId,
[Parameter(Mandatory = $False)]
[string] $PluginVersion = "2.2.1",
[Parameter(Mandatory = $False)]
[switch] $RestrictToAgentIpAddress,
[Parameter(Mandatory = $False)]
[switch] $Force,
[Parameter(Mandatory = $False)]
[switch] $ReuseResourceGroup,
[Parameter(Mandatory = $False)]
[ValidateSet("abort", "ask", "cleanup", "run-cleanup-provisioner")]
[string] $OnError = "ask",
[Parameter(Mandatory = $False)]
[hashtable] $Tags = @{}
)
if ($Force -or $ReuseResourceGroup) {
Write-Warning "The `ReuseResourceGroup` and `Force` parameters are deprecated and will be removed in a future release. The resource group will be reused when it already exists and an error will be thrown when it doesn't. If you want to delete the resource group, please delete it manually."
}
if ($Force -and $ReuseResourceGroup) {
throw "Force and ReuseResourceGroup cannot be used together."
}
Show-LatestCommit -ErrorAction SilentlyContinue
# Validate packer is installed
@@ -174,7 +160,7 @@ Function GenerateResourcesAndImage {
# Prepare list of allowed inbound IP addresses
if ($RestrictToAgentIpAddress) {
$AgentIp = (Invoke-RestMethod http://ipinfo.io/json).ip
$AgentIp = (Invoke-RestMethod https://ipinfo.io/json).ip
if (-not $AgentIp) {
throw "Unable to determine agent IP address."
}
@@ -214,7 +200,7 @@ Function GenerateResourcesAndImage {
$InstallPassword = $env:UserName + [System.GUID]::NewGuid().ToString().ToUpper()
Write-Host "Downloading packer plugins..."
& $PackerBinary init $TemplatePath
& $PackerBinary plugins install github.com/hashicorp/azure $PluginVersion
if ($LastExitCode -ne 0) {
throw "Packer plugins download failed."
@@ -258,73 +244,8 @@ Function GenerateResourcesAndImage {
if ($ResourceGroupExists) {
Write-Verbose "Resource group '$ResourceGroupName' already exists."
}
# Remove resource group if it exists and we are not reusing it
if ($ResourceGroupExists -and -not $ReuseResourceGroup) {
if ($Force) {
# Delete and recreate the resource group
Write-Host "Deleting resource group '$ResourceGroupName'..."
az group delete --name $ResourceGroupName --yes --output none
if ($LastExitCode -ne 0) {
throw "Failed to delete resource group '$ResourceGroupName'."
}
Write-Host "Resource group '$ResourceGroupName' was deleted."
$ResourceGroupExists = $false
}
else {
# are we running in a non-interactive session?
# https://stackoverflow.com/questions/9738535/powershell-test-for-noninteractive-mode
if ([System.Console]::IsOutputRedirected -or ![Environment]::UserInteractive -or !!([Environment]::GetCommandLineArgs() | Where-Object { $_ -ilike '-noni*' })) {
throw "Non-interactive mode, resource group '$ResourceGroupName' already exists, either specify -Force to delete it, or -ReuseResourceGroup to reuse."
}
else {
# Resource group already exists, ask the user what to do
$title = "Resource group '$ResourceGroupName' already exists"
$message = "Do you want to delete the resource group and all resources in it?"
$options = @(
[System.Management.Automation.Host.ChoiceDescription]::new("&Yes", "Delete the resource group and all resources in it."),
[System.Management.Automation.Host.ChoiceDescription]::new("&No", "Keep the resource group and continue."),
[System.Management.Automation.Host.ChoiceDescription]::new("&Abort", "Abort execution.")
)
$result = $Host.UI.PromptForChoice($title, $message, $options, 0)
}
switch ($result) {
0 {
# Delete and recreate the resource group
Write-Host "Deleting resource group '$ResourceGroupName'..."
az group delete --name $ResourceGroupName --yes
if ($LastExitCode -ne 0) {
throw "Failed to delete resource group '$ResourceGroupName'."
}
Write-Host "Resource group '$ResourceGroupName' was deleted."
$ResourceGroupExists = $false
}
1 {
# Keep the resource group and continue
}
2 {
# Stop the current action
Write-Error "User stopped the action."
exit 1
}
}
}
}
# Create resource group
if (-not $ResourceGroupExists) {
Write-Host "Creating resource group '$ResourceGroupName' in location '$AzureLocation'..."
if ($TagsList) {
az group create --name $ResourceGroupName --location $AzureLocation --tags $TagsList --query id
}
else {
az group create --name $ResourceGroupName --location $AzureLocation --query id
}
if ($LastExitCode -ne 0) {
throw "Failed to create resource group '$ResourceGroupName'."
}
else {
throw "Resource group '$ResourceGroupName' does not exist."
}
# Create service principal
@@ -436,4 +436,4 @@ class NoteNode: BaseNode {
[Boolean] IsIdenticalTo([BaseNode] $OtherNode) {
return $this.IsSimilarTo($OtherNode)
}
}
}
-14
View File
@@ -1,14 +0,0 @@
param(
[String] [Parameter (Mandatory=$true)] $RepoUrl,
[String] [Parameter (Mandatory=$true)] $RepoBranch
)
Write-Host "Clean up default repository"
Remove-Item -path './*' -Recurse -Force
Write-Host "Download ${RepoBranch} branch from ${RepoUrl}"
$env:GIT_REDIRECT_STDERR = '2>&1'
git clone $RepoUrl . -b $RepoBranch --single-branch --depth 1
Write-Host "Latest commit:"
git --no-pager log --pretty=format:"Date: %cd; Commit: %H - %s; Author: %an <%ae>" -1
@@ -1,181 +0,0 @@
# Ideally we would use GitHub Actions for this, but since we use self-hosted machines to run image builds
# we need the following features to use GitHub Actions for Images CI:
# - https://github.community/t5/GitHub-Actions/Make-secrets-available-to-builds-of-forks/m-p/30678#M508
# - https://github.community/t5/GitHub-Actions/GitHub-Actions-Manual-Trigger-Approvals/td-p/31504
# - https://github.community/t5/GitHub-Actions/Protecting-github-workflows/td-p/30290
parameters:
- name: job_id
type: string
default: 'generate_image'
- name: image_type
type: string
- name: image_template_name
type: string
- name: image_readme_name
type: string
- name: agent_pool
type: object
default:
name: 'ci-agent-pool'
- name: variable_group_name
type: string
default: 'Image Generation Variables'
- name: create_release
type: boolean
default: true
- name: repository_ref
type: string
default: 'self'
jobs:
- job: ${{ parameters.job_id }}
displayName: Image Generation (${{ parameters.image_type }})
timeoutInMinutes: 600
cancelTimeoutInMinutes: 30
pool: ${{ parameters.agent_pool }}
variables:
- group: ${{ parameters.variable_group_name }}
steps:
- checkout: ${{ parameters.repository_ref }}
clean: true
fetchDepth: 0
fetchTags: false
- task: PowerShell@2
displayName: 'Download custom repository'
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
inputs:
targetType: 'filePath'
filePath: ./images.CI/download-repo.ps1
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
- task: AzureCLI@2
displayName: 'Set variables'
inputs:
azureSubscription: 'spn-hosted-runners'
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
$ImageType = "${{ parameters.image_type }}"
$TemplateDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "ubuntu/templates" } else { "windows/templates" }
$TemplateDirectoryPath = Join-Path "images" $TemplateDirectoryName | Resolve-Path
$TemplateFileName = "${{ parameters.image_template_name }}"
$TemplatePath = Join-Path $TemplateDirectoryPath $TemplateFileName
Write-Host "##vso[task.setvariable variable=TemplateDirectoryPath;]$TemplateDirectoryPath"
Write-Host "##vso[task.setvariable variable=TemplatePath;]$TemplatePath"
$ManagedImageName = "${{ parameters.image_type }}-$(Build.BuildId)"
Write-Host "##vso[task.setvariable variable=ManagedImageName;]$ManagedImageName"
$TempResourceGroupName = "packer-temp-$ManagedImageName"
Write-Host "##vso[task.setvariable variable=TempResourceGroupName;]$TempResourceGroupName"
$clientSecret = $(az keyvault secret show --name "spnhostedrunners" --vault-name "gh-imagegeneration" --query value -o tsv)
Write-Host "##vso[task.setvariable variable=ClientSecret;issecret=true]$clientSecret"
- task: PowerShell@2
displayName: 'Build VM'
inputs:
targetType: filePath
filePath: ./images.CI/linux-and-win/build-image.ps1
arguments: -ClientId $(CLIENT_ID) `
-ClientSecret "$(ClientSecret)" `
-TemplatePath $(TemplatePath) `
-ImageName "$(ManagedImageName)" `
-ImageResourceGroupName $(AZURE_RESOURCE_GROUP) `
-TempResourceGroupName "$(TempResourceGroupName)" `
-SubscriptionId $(AZURE_SUBSCRIPTION) `
-TenantId $(AZURE_TENANT) `
-Location $(AZURE_LOCATION) `
-VirtualNetworkName $(BUILD_AGENT_VNET_NAME) `
-VirtualNetworkRG $(BUILD_AGENT_VNET_RESOURCE_GROUP) `
-VirtualNetworkSubnet $(BUILD_AGENT_SUBNET_NAME)
env:
PACKER_LOG: 1
PACKER_LOG_PATH: "$(Agent.TempDirectory)/packer-log.txt"
- task: PowerShell@2
displayName: 'Copy image artifacts to the separate directory'
inputs:
targetType: 'inline'
script: |
$ImageType = "${{ parameters.image_type }}"
$rootDirectoryName = if ($ImageType.StartsWith("ubuntu")) { "ubuntu" } else { "windows" }
$rootDirectoryPath = Join-Path "images" $rootDirectoryName | Resolve-Path
$readmePath = Join-Path $rootDirectoryPath "${{ parameters.image_readme_name }}"
$softwareReportPath = Join-Path $rootDirectoryPath "software-report.json"
Copy-Item -Path $readmePath -Destination "$(Build.ArtifactStagingDirectory)/"
if (Test-Path $softwareReportPath) {
Copy-Item -Path $softwareReportPath -Destination "$(Build.ArtifactStagingDirectory)/"
}
- task: PowerShell@2
displayName: 'Print markdown software report'
inputs:
targetType: 'inline'
script: |
Get-Content -Path "$(Build.ArtifactStagingDirectory)/${{ parameters.image_readme_name }}"
- task: PowerShell@2
displayName: 'Print json software report'
inputs:
targetType: 'inline'
script: |
$softwareReportPath = "$(Build.ArtifactStagingDirectory)/software-report.json"
if (Test-Path $softwareReportPath) {
Get-Content -Path $softwareReportPath
}
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'Built_VM_Artifacts'
displayName: Publish Artifacts
- task: PowerShell@2
displayName: 'Print provisioners duration'
inputs:
targetType: 'filePath'
filePath: ./images.CI/measure-provisioners-duration.ps1
arguments: -PackerLogPath "$(Agent.TempDirectory)/packer-log.txt" `
-PrefixToPathTrim "$(TemplateDirectoryPath)" `
-PrintTopNLongest 25
- ${{ if eq(parameters.create_release, true) }}:
- task: PowerShell@2
displayName: 'Create release for VM deployment'
inputs:
targetType: filePath
filePath: ./images.CI/linux-and-win/create-release.ps1
arguments: -BuildId $(Build.BuildId) `
-Organization $(RELEASE_TARGET_ORGANIZATION) `
-DefinitionId $(RELEASE_TARGET_DEFINITION_ID) `
-Project $(RELEASE_TARGET_PROJECT) `
-ImageType "${{ parameters.image_type }}" `
-ManagedImageName "$(ManagedImageName)" `
-AccessToken $(RELEASE_TARGET_TOKEN)
- task: PowerShell@2
displayName: 'Clean up resources'
condition: always()
inputs:
targetType: filePath
filePath: ./images.CI/linux-and-win/cleanup.ps1
arguments: -TempResourceGroupName "$(TempResourceGroupName)" `
-SubscriptionId $(AZURE_SUBSCRIPTION) `
-ClientId $(CLIENT_ID) `
-ClientSecret "$(ClientSecret)" `
-TenantId $(AZURE_TENANT)
@@ -1,21 +0,0 @@
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_type: ubuntu2004
image_readme_name: Ubuntu2004-Readme.md
image_template_name: ubuntu-20.04.pkr.hcl
@@ -1,21 +0,0 @@
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_type: ubuntu2204
image_readme_name: Ubuntu2204-Readme.md
image_template_name: ubuntu-22.04.pkr.hcl
@@ -1,21 +0,0 @@
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_type: ubuntu2404
image_readme_name: Ubuntu2404-Readme.md
image_template_name: ubuntu-24.04.pkr.hcl
@@ -1,21 +0,0 @@
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_type: windows2019
image_readme_name: Windows2019-Readme.md
image_template_name: windows-2019.pkr.hcl
@@ -1,21 +0,0 @@
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_type: windows2022
image_readme_name: Windows2022-Readme.md
image_template_name: windows-2022.pkr.hcl
+8 -3
View File
@@ -1,17 +1,19 @@
param(
[String] [Parameter (Mandatory=$true)] $TemplatePath,
[String] [Parameter (Mandatory=$true)] $ClientId,
[String] [Parameter (Mandatory=$true)] $ClientSecret,
[String] [Parameter (Mandatory=$false)] $ClientSecret,
[String] [Parameter (Mandatory=$true)] $Location,
[String] [Parameter (Mandatory=$true)] $ImageName,
[String] [Parameter (Mandatory=$true)] $ImageResourceGroupName,
[String] [Parameter (Mandatory=$true)] $TempResourceGroupName,
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
[String] [Parameter (Mandatory=$true)] $TenantId,
[String] [Parameter (Mandatory=$false)] $pluginVersion = "2.2.1",
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
[String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]"
[String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]",
[hashtable] [Parameter (Mandatory=$false)] $Tags = @{}
)
if (-not (Test-Path $TemplatePath))
@@ -33,11 +35,13 @@ $SensitiveData = @(
': ->'
)
$azure_tags = $Tags | ConvertTo-Json -Compress
Write-Host "Show Packer Version"
packer --version
Write-Host "Download packer plugins"
packer init $TemplatePath
packer plugins install github.com/hashicorp/azure $pluginVersion
Write-Host "Validate packer template"
packer validate -syntax-only $TemplatePath
@@ -56,6 +60,7 @@ packer build -var "client_id=$ClientId" `
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
-var "azure_tags=$azure_tags" `
-color=false `
$TemplatePath `
| Where-Object {
+1 -8
View File
@@ -1,14 +1,7 @@
param(
[Parameter (Mandatory=$true)] [string] $TempResourceGroupName,
[Parameter (Mandatory=$true)] [string] $SubscriptionId,
[Parameter (Mandatory=$true)] [string] $ClientId,
[Parameter (Mandatory=$true)] [string] $ClientSecret,
[Parameter (Mandatory=$true)] [string] $TenantId
[Parameter (Mandatory=$true)] [string] $TempResourceGroupName
)
az login --service-principal --username $ClientId --password=$ClientSecret --tenant $TenantId | Out-Null
az account set --subscription $SubscriptionId | Out-Null
$groupExist = az group exists --name $TempResourceGroupName
if ($groupExist -eq "true") {
Write-Host "Found a match, deleting temporary files"
-248
View File
@@ -1,248 +0,0 @@
function Push-AnkaTemplateToRegistry {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $RegistryUrl,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TagName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TemplateName
)
# if registry uuid doesn't match then delete an image in registry
$AnkaCaCrtPath="$HOME/.config/anka/certs/anka-ca-crt.pem"
$images = anka --machine-readable registry --cacert $AnkaCaCrtPath --registry-path $RegistryUrl list | ConvertFrom-Json | ForEach-Object body
$images | Where-Object name -eq $TemplateName | ForEach-Object {
$id = $_.uuid
Show-StringWithFormat "Deleting '$TemplateName[$id]' VM and '$TagName' tag"
$curlCommand='curl -s -X DELETE -k "{0}/registry/vm?id={1}"' -f $RegistryUrl, $id
Invoke-AnkaCommand -Command $curlCommand
}
$command = "anka registry --cacert $AnkaCaCrtPath --registry-path $RegistryUrl push --force --tag $TagName $TemplateName"
Invoke-AnkaCommand -Command $command
}
function Get-AnkaVM {
param(
[string] $VMName
)
$command = "anka --machine-readable list"
if (-not [string]::IsNullOrEmpty($VMName)) {
$command = "anka --machine-readable show $VMName"
}
Invoke-AnkaCommand -Command $command | ConvertFrom-Json | Foreach-Object body
}
function Get-AnkaVMStatus {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName
)
$command = "anka --machine-readable list $VMName"
Invoke-AnkaCommand -Command $command | ConvertFrom-Json | Foreach-Object { $_.body.status }
}
function Get-AnkaVMIPAddress {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName
)
Get-AnkaVM -VMName $VMName | Foreach-Object ip
}
function Invoke-AnkaCommand {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Command
)
$result = bash -c "$Command 2>&1"
if ($LASTEXITCODE -ne 0) {
Write-Error "There is an error during command execution:`n$result"
exit 1
}
$result
}
function New-AnkaVMTemplate {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $InstallerPath,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TemplateName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TemplateUsername,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TemplatePassword,
[Parameter(Mandatory)]
[int] $CPUCount,
[Parameter(Mandatory)]
[int] $RamSizeGb,
[Parameter(Mandatory)]
[int] $DiskSizeGb
)
$env:ANKA_DEFAULT_USER = $TemplateUsername
$env:ANKA_DEFAULT_PASSWD = $TemplatePassword
$env:ANKA_CREATE_SUSPEND = 0
$command = "anka create --cpu-count '$CPUCount' --ram-size '${RamSizeGb}G' --disk-size '${DiskSizeGb}G' --app '$InstallerPath' $TemplateName"
Invoke-AnkaCommand -Command $command
}
function Remove-AnkaVM {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName
)
$command = "anka delete $VMName --yes"
$isTemplateExists = Get-AnkaVM | Where-Object name -eq $VMName
if ($isTemplateExists) {
$null = Invoke-AnkaCommand -Command $command
}
}
function Set-AnkaVMVideoController {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $ShortMacOSVersion,
[ValidateSet("fbuf", "pg")]
[string] $Controller = "pg"
)
$command = "anka modify $VMName set display -c $Controller"
$null = Invoke-AnkaCommand -Command $command
}
function Set-AnkaVMDisplayResolution {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $DisplayResolution
)
$command = "anka modify $VMName set display -r $DisplayResolution"
$null = Invoke-AnkaCommand -Command $command
}
function Start-AnkaVM {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName
)
$command = "anka start $VMName"
$vmStatus = Get-AnkaVMStatus -VMName $VMName
if ($vmStatus -eq "stopped") {
$null = Invoke-AnkaCommand -Command $command
}
}
function Stop-AnkaVM {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName
)
$command = "anka stop $VMName"
$vmStatus = Get-AnkaVMStatus -VMName $VMName
if ($vmStatus -eq "running") {
$null = Invoke-AnkaCommand -Command $command
}
}
function Wait-AnkaVMIPAddress {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[int] $RetryCount = 20,
[int] $Seconds = 60
)
$condition = {
$vmStatus = Get-AnkaVMStatus -VMName $VMName
if ($vmStatus -eq "failed") {
Write-Host "`t [-] $VMName is in failed status"
exit 1
}
Get-AnkaVMIPAddress -VMName $VMName
}
$null = Invoke-WithRetry -BreakCondition $condition -RetryCount $RetryCount -Seconds $Seconds
}
function Wait-AnkaVMSSHService {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[int] $RetryCount = 20,
[int] $Seconds = 60
)
Start-Sleep -Seconds $Seconds
Write-Host "`t[*] Waiting for '$VMName' VM to get an IP address"
Wait-AnkaVMIPAddress -VMName $VMName -RetryCount $RetryCount -Seconds $Seconds
$ipAddress = Get-AnkaVMIPAddress -VMName $VMName
Write-Host "`t[*] The '$ipAddress' IP address for '$VMName' VM"
Write-Host "`t[*] Checking if SSH on a port is open"
$isSSHPortOpen = Test-SSHPort -IPAddress $ipAddress
if (-not $isSSHPortOpen) {
Write-Host "`t[x] SSH port is closed"
exit 1
}
}
function Set-AnkaVMUuid {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Uuid
)
$command = "anka modify $VMName set custom-variable hw.uuid $Uuid"
Write-Host "`t[*] Setting $VMName uuid to $Uuid"
Invoke-AnkaCommand -Command $command
}
@@ -1,227 +0,0 @@
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[version] $MacOSVersion,
[ValidateNotNullOrEmpty()]
[string] $TemplateUsername,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $TemplatePassword,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $RegistryUrl,
[ValidateNotNullOrEmpty()]
[string] $TemplateName,
[bool] $DownloadLatestVersion = $true,
[bool] $PushToRegistry = $true,
[bool] $BetaSearch = $false,
[bool] $InstallSoftwareUpdate = $true,
[bool] $EnableAutoLogon = $true,
[int] $CPUCount = 6,
[int] $RamSizeGb = 7,
[int] $DiskSizeGb = 325,
[string] $DisplayResolution = "1920x1080",
[string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(),
[string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB"
)
$ErrorActionPreference = "Stop"
$WarningPreference = "SilentlyContinue"
# Import helper modules
Import-Module "$PSScriptRoot/Anka.Helpers.psm1"
Import-Module "$PSScriptRoot/Service.Helpers.psm1"
# Helper functions
function Invoke-EnableAutoLogon {
if (-not $EnableAutoLogon) {
Write-Host "`t[*] Skip configuring AutoLogon"
return
}
$ipAddress = Get-AnkaVMIPAddress -VMName $TemplateName
Wait-AnkaVMSSHService -VMName $TemplateName -Seconds 30
Write-Host "`t[*] Enable AutoLogon"
Enable-AutoLogon -HostName $ipAddress -UserName $TemplateUsername -Password $TemplatePassword
Write-Host "`t[*] Reboot '$TemplateName' VM to enable AutoLogon"
Restart-VMSSH -HostName $ipAddress | Show-StringWithFormat
Wait-AnkaVMSSHService -VMName $TemplateName -Seconds 30
Write-Host "`t[*] Checking if AutoLogon is enabled"
Test-AutoLogon -VMName $TemplateName -UserName $TemplateUsername
}
function Invoke-SoftwareUpdate {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Password
)
if (-not $InstallSoftwareUpdate) {
Write-Host "`t[*] Skip installing software updates"
return
}
$ipAddress = Get-AnkaVMIPAddress -VMName $TemplateName
# Unenroll Seed
Write-Host "`t[*] Resetting the seed before requesting stable versions"
Remove-CurrentBetaSeed -HostName $ipAddress | Show-StringWithFormat
# Install Software Updates
# Security updates may not be able to install(hang, freeze) when AutoLogon is turned off
Write-Host "`t[*] Finding available software"
$newUpdates = Get-SoftwareUpdate -HostName $ipAddress
if (-not $newUpdates) {
Write-Host "`t[*] No Updates Available"
return
}
# Define the next macOS version
$command = "sw_vers"
$guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command
switch -regex ($guestMacosVersion[1]) {
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
}
Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:"
Show-StringWithFormat $newUpdates
$listOfNewUpdates = $($($newUpdates.Split("*")).Split("Title").where({$_ -match "Label:"}).Replace("Label: ", '').where({$_ -notmatch $nextOSVersion}))
Write-Host "`t[*] Installing Software Updates on '$TemplateName' VM:"
Install-SoftwareUpdate -HostName $ipAddress -listOfUpdates $listOfNewUpdates -Password $Password | Show-StringWithFormat
Write-Host "`t[*] Sleep 60 seconds before the software updates have been installed"
Start-Sleep -Seconds 60
Write-Host "`t[*] Waiting for loginwindow process"
Wait-LoginWindow -HostName $ipAddress | Show-StringWithFormat
# Re-enable AutoLogon after installing a new security software update
Invoke-EnableAutoLogon
foreach ($newupdate in $listOfNewUpdates) {
# Check software updates have been installed
$updates = Get-SoftwareUpdate -HostName $ipAddress
if ($updates.Contains("Action: restart") -and !($updates -match $nextOSVersion)) {
Write-Host "`t[x] Software updates failed to install: "
Show-StringWithFormat $updates
exit 1
}
}
Write-Host "`t[*] Show the install history:"
$hUpdates = Get-SoftwareUpdateHistory -HostName $ipAddress
Show-StringWithFormat $hUpdates
Write-Host "`t[*] The current macOS version:"
$command = "sw_vers"
Invoke-SSHPassCommand -HostName $ipAddress -Command $command | Show-StringWithFormat
}
function Invoke-UpdateSettings {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Password
)
$isConfRequired = $InstallSoftwareUpdate -or $EnableAutoLogon
if (-not $isConfRequired) {
Write-Host "`t[*] Skip additional configuration"
return
}
Write-Host "`t[*] Starting '$TemplateName' VM"
Start-AnkaVM -VMName $TemplateName
Write-Host "`t[*] Waiting for SSH service on '$TemplateName' VM"
Wait-AnkaVMSSHService -VMName $TemplateName -Seconds 30
# Configure AutoLogon
Invoke-EnableAutoLogon
# Install software updates
Invoke-SoftwareUpdate -Password $Password
Write-Host "`t[*] Stopping '$TemplateName' VM"
Stop-AnkaVM -VMName $TemplateName
}
function Test-VMStopped {
$vmStatus = Get-AnkaVMStatus -VMName $TemplateName
if ($vmStatus -ne "stopped") {
Write-Host "`t[x] VM '$TemplateName' state is not stopped. The current state is '$vmStatus'"
exit 1
}
}
# Password is passed as env-var "SSHPASS"
$env:SSHUSER = $TemplateUsername
$env:SSHPASS = $TemplatePassword
Write-Host "`n[#1] Download macOS application installer:"
$shortMacOSVersion = Get-ShortMacOSVersion -MacOSVersion $MacOSVersion
if ([string]::IsNullOrEmpty($TemplateName)) {
$osArch = $(arch)
if ($osArch -eq "arm64") {
$macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}"
} else {
$macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
$TemplateName = "clean_macos_${shortMacOSVersion}"
}
}
Write-Host "`n[#2] Create a VM template:"
Write-Host "`t[*] Deleting existed template with name '$TemplateName' before creating a new one"
Remove-AnkaVM -VMName $TemplateName
# Temporary disable VNC for macOS 14
# It's probably Anka's bug fixed in 3.3.2
if ($shortMacOSVersion -eq "14") {
$env:ANKA_CREATE_VNC = 0
}
Write-Host "`t[*] Creating Anka VM template with name '$TemplateName' and '$TemplateUsername' user"
Write-Host "`t[*] CPU Count: $CPUCount, RamSize: ${RamSizeGb}G, DiskSizeGb: ${DiskSizeGb}G, InstallerPath: $macOSInstaller, TemplateName: $TemplateName"
New-AnkaVMTemplate -InstallerPath "$macOSInstaller" `
-TemplateName $TemplateName `
-TemplateUsername $TemplateUsername `
-TemplatePassword $TemplatePassword `
-CPUCount $CPUCount `
-RamSizeGb $RamSizeGb `
-DiskSizeGb $DiskSizeGb | Show-StringWithFormat
Write-Host "`n[#3] Configure AutoLogon and/or install software updates:"
Invoke-UpdateSettings -Password $TemplatePassword
Write-Host "`n[#4] Finalization '$TemplateName' configuration and push to the registry:"
Write-Host "`t[*] The '$TemplateName' VM status is stopped"
Test-VMStopped
# Configure graphics settings
Write-Host "`t[*] Enabling Graphics Acceleration with Apple Metal for '$TemplateName' VM"
Set-AnkaVMVideoController -VMName $TemplateName -ShortMacOSVersion $ShortMacOSVersion
Write-Host "`t[*] Setting screen resolution to $DisplayResolution for $TemplateName"
Set-AnkaVMDisplayResolution -VMName $TemplateName -DisplayResolution $DisplayResolution
# Set static UUID
Set-AnkaVMUuid -VMName $TemplateName -Uuid $Uuid
if ($PushToRegistry) {
# Push a VM template (and tag) to the Cloud
Write-Host "`t[*] Pushing '$TemplateName' image with '$TagName' tag to the '$RegistryUrl' registry..."
Push-AnkaTemplateToRegistry -RegistryUrl $registryUrl -TagName $TagName -TemplateName $TemplateName
}
-478
View File
@@ -1,478 +0,0 @@
function Enable-AutoLogon {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $UserName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Password
)
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/bootstrap-provisioner/setAutoLogin.sh"
$script = Invoke-RestMethod -Uri $url
$base64 = [Convert]::ToBase64String($script.ToCharArray())
$command = "echo $base64 | base64 --decode > ./setAutoLogin.sh;sudo bash ./setAutoLogin.sh '${UserName}' '${Password}';rm ./setAutoLogin.sh"
Invoke-SSHPassCommand -HostName $HostName -Command $command
}
function Invoke-SoftwareUpdateArm64 {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Password,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[array] $ListOfUpdates
)
# Define the next macOS version
$command = "sw_vers"
$guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command
switch -regex ($guestMacosVersion[1]) {
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
}
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp"
$script = Invoke-RestMethod -Uri $url
foreach ($update in $ListOfUpdates) {
if ($update -notmatch $nextOSVersion) {
$updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ ")))
$base64 = [Convert]::ToBase64String($updatedScript.ToCharArray())
$command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp"
Invoke-SSHPassCommand -HostName $HostName -Command $command
}
}
}
function Get-AvailableVersions {
param (
[bool] $IsBeta = $false
)
if ($IsBeta) {
$searchPostfix = " beta"
}
$command = { /usr/sbin/softwareupdate --list-full-installers | grep "macOS" }
$condition = { $LASTEXITCODE -eq 0 }
$softwareUpdates = Invoke-WithRetry -Command $command -BreakCondition $condition | Where-Object { $_.Contains("Title: macOS") -and $_ -match $searchPostfix }
$allVersions = $softwareUpdates -replace "(\* )?(Title|Version|Size):" | ConvertFrom-Csv -Header OSName, OSVersion | Select-Object OSName, OSVersion -Unique
$allVersions
}
function Get-AvailableIPSWVersions {
param (
[bool] $IsBeta = $false,
[bool] $IsLatest = $true,
[string] $MacOSCodeNameOrVersion
)
if ($IsBeta) {
$command = { mist list firmware "$MacOSCodeNameOrVersion" --compatible --include-betas --latest --export "/Applications/export.json" }
} elseif ($IsLatest) {
$command = { mist list firmware "$MacOSCodeNameOrVersion" --compatible --latest --export "/Applications/export.json" }
} else {
$command = { mist list firmware "$MacOSCodeNameOrVersion" --compatible --export "/Applications/export.json" }
}
$condition = { $LASTEXITCODE -eq 0 }
Invoke-WithRetry -Command $command -BreakCondition $condition | Out-Null
$softwareList = get-content -Path "/Applications/export.json"
$availableBuilds = ($softwareList | ConvertFrom-Json).build
if ($null -eq $availableBuilds) {
Write-Host "Requested macOS '$MacOSCodeNameOrVersion' version not found in the list of available installers."
$command = { mist list firmware "$($MacOSCodeNameOrVersion.split('.')[0])" }
Invoke-WithRetry -Command $command -BreakCondition $condition
exit 1
}
return $availableBuilds
}
function Get-MacOSIPSWInstaller {
param (
[Parameter(Mandatory)]
[version] $MacOSVersion,
[bool] $DownloadLatestVersion = $false,
[bool] $BetaSearch = $false
)
if ($MacOSVersion -eq [version] "12.0") {
$MacOSName = "macOS Monterey"
} elseif ($MacOSVersion -eq [version] "13.0") {
$MacOSName = "macOS Ventura"
} elseif ($MacOSVersion -eq [version] "14.0") {
$MacOSName = "macOS Sonoma"
} else {
$MacOSName = $MacOSVersion.ToString()
}
Write-Host "`t[*] Finding available full installers"
if ($DownloadLatestVersion -eq $true) {
$targetBuild = Get-AvailableIPSWVersions -IsLatest $true -MacOSCodeNameOrVersion $MacOSName
Write-Host "`t[*] The 'DownloadLatestVersion' flag is set to true. Latest compatible macOS build of '$MacOSName' is '$targetBuild'"
} elseif ($BetaSearch -eq $true) {
$targetBuild = Get-AvailableIPSWVersions -IsBeta $true -MacOSCodeNameOrVersion $MacOSName
Write-Host "`t[*] The 'BetaSearch' flag is set to true. Latest compatible beta macOS build of '$MacOSName' is '$targetBuild'"
} else {
$targetBuild = Get-AvailableIPSWVersions -MacOSCodeNameOrVersion $MacOSName -IsLatest $false
Write-Host "`t[*] Available compatible macOS builds of '$MacOSName' are: $($targetBuild -join ', ')"
if ($targetBuild.Count -gt 1) {
Write-Error "`t[*] Please specify the exact build number of macOS you want to install"
exit 1
}
}
$installerPathPattern = "/Applications/Install ${macOSName}*.ipsw"
if (Test-Path $installerPathPattern) {
$previousInstallerPath = Get-Item -Path $installerPathPattern
Write-Host "`t[*] Removing '$previousInstallerPath' installation app before downloading the new one"
sudo rm -rf "$previousInstallerPath"
}
# Download macOS installer
$installerDir = "/Applications/"
$installerName = "Install ${macOSName}.ipsw"
Write-Host "`t[*] Requested macOS '$targetBuild' version installer found, fetching it from mist database"
Invoke-WithRetry { mist download firmware "$targetBuild" --output-directory $installerDir --firmware-name "$installerName" } { $LASTEXITCODE -eq 0 } | Out-Null
if (Test-Path "$installerDir$installerName") {
$result = "$installerDir$installerName"
} else {
Write-Error "`t[*] Requested macOS '$targetBuild' version installer failed to download"
exit 1
}
return $result
}
function Get-MacOSInstaller {
param (
[Parameter(Mandatory)]
[version] $MacOSVersion,
[bool] $DownloadLatestVersion = $false,
[bool] $BetaSearch = $false
)
# Enroll machine to DeveloperSeed if we need beta and unenroll otherwise
$seedutil = "/System/Library/PrivateFrameworks/Seeding.framework/Versions/Current/Resources/seedutil"
if ($BetaSearch) {
Write-Host "`t[*] Beta Version requested. Enrolling machine to DeveloperSeed"
sudo $seedutil enroll DeveloperSeed | Out-Null
} else {
Write-Host "`t[*] Resetting the seed before requesting stable versions"
sudo $seedutil unenroll | Out-Null
}
# Validate there is no software update at the moment
Test-SoftwareUpdate
# Validate availability OSVersion
Write-Host "`t[*] Finding available full installers"
$availableVersions = Get-AvailableVersions -IsBeta $BetaSearch
if ($DownloadLatestVersion) {
$shortMacOSVersion = Get-ShortMacOSVersion -MacOSVersion $MacOSVersion
$filterSearch = "${shortMacOSVersion}."
$filteredVersions = $availableVersions.Where{ $_.OSVersion.StartsWith($filterSearch) }
if (-not $filteredVersions) {
Write-Host "`t[x] Failed to find any macOS versions using '$filterSearch' search condition"
Show-StringWithFormat $availableVersions
exit 1
}
Show-StringWithFormat $filteredVersions
$osVersions = $filteredVersions.OSVersion | Sort-Object { [version]$_ }
$MacOSVersion = $osVersions | Select-Object -Last 1
Write-Host "`t[*] The 'DownloadLatestVersion' flag is set. Latest macOS version is '$MacOSVersion' now"
}
$macOSName = $availableVersions.Where{ $MacOSVersion -eq $_.OSVersion }.OSName.Split(" ")[1]
if (-not $macOSName) {
Write-Host "`t[x] Requested macOS '$MacOSVersion' version not found in the list of available installers. Available versions are:`n$($availableVersions.OSVersion)"
Write-Host "`t[x] Make sure to pass '-BetaSearch `$true' if you need a beta version installer"
exit 1
}
# Clear LastRecommendedMajorOSBundleIdentifier to prevent error during fetching updates
# Install failed with error: Update not found
Update-SoftwareBundle
# Download macOS installer
Write-Host "`t[*] Requested macOS '$MacOSVersion' version installer found, fetching it from Apple Software Update"
Invoke-WithRetry -Command { sudo /usr/local/bin/mist download installer $MacOSVersion application --force --export installer.json --output-directory /Applications } -BreakCondition { $LASTEXITCODE -eq 0 } | Out-Null
if (-not(Test-Path installer.json -PathType leaf)) {
Write-Host "`t[x] Failed to fetch $MacOSVersion macOS"
exit 1
}
$installerPath = (Get-Content installer.json | Out-String | ConvertFrom-Json).options.applicationPath
if (-not $installerPath) {
Write-Host "`t[x] Path not found using '$installerPathPattern'"
exit 1
}
Write-Host "`t[*] Installer successfully downloaded to '$installerPath'"
$installerPath
}
function Get-ShortMacOSVersion {
param (
[Parameter(Mandatory)]
[version] $MacOSVersion
)
# Take Major.Minor version for macOS 10 (10.14 or 10.15) and Major for all further versions
$MacOSVersion.Major -eq 10 ? $MacOSVersion.ToString(2) : $MacOSVersion.ToString(1)
}
function Get-SoftwareUpdate {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName
)
$command = "/usr/sbin/softwareupdate --list"
$result = Invoke-SSHPassCommand -HostName $HostName -Command $command
$result | Where-Object { $_ -match "(Label|Title):" } | Out-String
}
function Get-SoftwareUpdateHistory {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName
)
$command = "/usr/sbin/softwareupdate --history"
Invoke-SSHPassCommand -HostName $HostName -Command $command | Out-String
}
function Install-SoftwareUpdate {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName,
[array] $listOfUpdates,
[string] $Password
)
# If an update is happening on macOS arm64 we will use the additional tool to install updates.
$osArch = $(arch)
if ($osArch -eq "arm64") {
Invoke-SoftwareUpdateArm64 -HostName $HostName -Password $Password -ListOfUpdates $listOfUpdates
} else {
foreach ($update in $listOfUpdates) {
$command = "sudo /usr/sbin/softwareupdate --restart --verbose --install '$($update.trim())'"
Invoke-SSHPassCommand -HostName $HostName -Command $command
}
}
}
function Invoke-SSHPassCommand {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $Command,
[int] $ConnectTimeout = 10,
[int] $ConnectionAttempts = 10,
[int] $ServerAliveInterval = 30
)
$sshArg = @(
"sshpass"
"-e"
"ssh"
"-o UserKnownHostsFile=/dev/null"
"-o StrictHostKeyChecking=no"
"-o ConnectTimeout=$ConnectTimeout"
"-o ConnectionAttempts=$ConnectionAttempts"
"-o LogLevel=ERROR"
"-o ServerAliveInterval=$ServerAliveInterval"
"${env:SSHUSER}@${HostName}"
)
$sshPassOptions = $sshArg -join " "
if ($PSVersionTable.PSVersion.Major -eq 7 -and $PSVersionTable.PSVersion.Minor -le 2) {
$result = bash -c "$sshPassOptions \""$Command\"" 2>&1"
} else {
$result = bash -c "$sshPassOptions `"$Command`" 2>&1"
}
if ($LASTEXITCODE -ne 0) {
Write-Error "There is an error during command execution:`n$result"
exit 1
}
$result
}
function Invoke-WithRetry {
param(
[scriptblock] $Command,
[scriptblock] $BreakCondition,
[int] $RetryCount = 20,
[int] $Seconds = 60
)
while ($RetryCount -gt 0) {
try {
if ($Command) {
$result = & $Command
}
if (& $BreakCondition) {
return $result
}
} catch {
Write-Host "`t [!] Error during command execution: $_"
}
$RetryCount--
if ($RetryCount -eq 0) {
Write-Error "No more attempts left: $BreakCondition"
}
Write-Host "`t [/] Waiting $Seconds seconds before retrying. Retries left: $RetryCount"
Start-Sleep -Seconds $Seconds
}
$result
}
function Restart-VMSSH {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName
)
#
# https://unix.stackexchange.com/questions/58271/closing-connection-after-executing-reboot-using-ssh-command
#
$command = '(sleep 1 && sudo reboot &) && exit'
Invoke-SSHPassCommand -HostName $HostName -Command $command
}
function Show-StringWithFormat {
param(
[Parameter(ValuefromPipeline)]
[object] $string
)
process {
($string | Out-String).Trim().split("`n") | ForEach-Object { Write-Host "`t $_" }
}
}
function Remove-CurrentBetaSeed {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName
)
$command = "sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/Current/Resources/seedutil unenroll"
Invoke-SSHPassCommand -HostName $HostName -Command $command | Out-String
}
function Test-AutoLogon {
param(
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $VMName,
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $UserName
)
Invoke-WithRetry -BreakCondition {
# pwsh crashes if it invokes directly
# https://github.com/dotnet/runtime/issues/59059
$ankaUser = "" | bash -c "anka run $VMName /usr/bin/id -nu"
$UserName -eq $ankaUser
}
}
function Test-SoftwareUpdate {
param (
[string] $UpdateProcessName = "softwareupdate"
)
$command = {
$updateProcess = (Get-Process -Name $UpdateProcessName -ErrorAction SilentlyContinue).id
if ($updateProcess) {
# Workaround to get commandline param as it doesn't work for macOS atm https://github.com/PowerShell/PowerShell/issues/13943
$processName = /bin/ps -o command= $updateProcess
Write-Host "`t[*] Another software update process with '$updateProcess' id is in place with the following arguments '$processName'"
}
}
$condition = {
$null -eq (Get-Process -Name $UpdateProcessName -ErrorAction SilentlyContinue)
}
Invoke-WithRetry -Command $command -BreakCondition $condition
}
function Test-SSHPort {
param(
[Parameter(Mandatory)]
[ipaddress] $IPAddress,
[int] $Port = 22,
[int] $Timeout = 2000
)
Invoke-WithRetry -Command {$true} -BreakCondition {
try {
$client = [System.Net.Sockets.TcpClient]::new()
$client.ConnectAsync($IPAddress, $Port).Wait($Timeout)
}
catch {
$false
}
finally {
$client.Close()
}
}
}
function Wait-LoginWindow {
param (
[Parameter(Mandatory)]
[ValidateNotNullOrEmpty()]
[string] $HostName,
[int] $RetryCount = 60,
[int] $Seconds = 60
)
$condition = {
$psCommand = "/bin/ps auxww"
$lw = "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow"
$ctk = "/System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp"
$proc = Invoke-SSHPassCommand -HostName $HostName -Command $psCommand | Out-String
$proc.Contains($lw) -and $proc.Contains($ctk)
}
Invoke-WithRetry -RetryCount $RetryCount -Seconds $Seconds -BreakCondition $condition
}
function Update-SoftwareBundle {
$productVersion = sw_vers -productVersion
if ( $productVersion.StartsWith('11.') ) {
sudo rm -rf /Library/Preferences/com.apple.commerce.plist
sudo /usr/bin/defaults delete /Library/Preferences/com.apple.SoftwareUpdate.plist LastRecommendedMajorOSBundleIdentifier | Out-Null
}
}
@@ -2,7 +2,7 @@
# Port of Gavin Brock's Perl kcpassword generator to Python, by Tom Taylor
# <[email protected]>.
# Perl version: http://www.brock-family.org/gavin/perl/kcpassword.html
# Perl version: https://www.brock-family.org/gavin/perl/kcpassword.html
# This script was taken from https://github.com/timsutton/osx-vm-templates/blob/master/scripts/support/set_kcpassword.py
# Distributed by MIT license, license can be found at the bottom of this script
@@ -45,4 +45,4 @@ Copyright (c) 2013-2017 Timothy Sutton
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"""
"""
@@ -1,53 +0,0 @@
#!/bin/bash -e -o pipefail
# Select any Xamarin SDK versions as the default ones independently by specifying only those versions that need to be changed.
# Examples:
# 1. Change all versions: $VM_ASSETS/select-xamarin-sdkv-v2.sh --mono=6.12 --ios=14.8 --android=10.2 --mac=7.8
# 2. Change default Mono and iOS only: $VM_ASSETS/select-xamarin-sdkv-v2.sh --mono=6.12 --ios=14.8
# 3. Change default Android only: $VM_ASSETS/select-xamarin-sdkv-v2.sh --android=11.1
get_framework_path() {
case $1 in
--mono) echo '/Library/Frameworks/Mono.framework/Versions' ;;
--ios) echo '/Library/Frameworks/Xamarin.iOS.framework/Versions' ;;
--android) echo '/Library/Frameworks/Xamarin.Android.framework/Versions' ;;
--mac) echo '/Library/Frameworks/Xamarin.Mac.framework/Versions' ;;
*) ;;
esac
}
change_framework_version() {
local framework=$1
local version=$2
echo "Select $framework $version"
local countDigit=$(echo "${version}" | grep -o "\." | grep -c "\.")
if [[ countDigit -gt 1 ]]; then
echo "[WARNING] It is not recommended to specify the exact framework version because your build can be broken with the next patch update. Consider using "major.minor" only format."
fi
local framework_path=$(get_framework_path "$framework")
if [ -d "${framework_path}/${version}" ]; then
sudo rm -f ${framework_path}/Current
sudo ln -s "${framework_path}/${version}" "${framework_path}/Current"
else
echo "Invalid framework version ${framework_path}/${version}"
exit 1
fi
}
for arg in "$@"; do
key=$(echo $arg | cut -f1 -d=)
value=$(echo $arg | cut -f2 -d=)
case $key in
--mono | --ios | --android | --mac) change_framework_version $key $value ;;
*)
echo "Invalid parameter <${key}>"
exit 1
;;
esac
done
@@ -1,22 +0,0 @@
#!/bin/bash -e -o pipefail
if [ -z "$1" ]; then
echo "No Xamarin SDK specified."
exit 0
fi
XAMARIN_SDK=$1
echo "Set Xamarin SDK to ${XAMARIN_SDK}"
FOLDERS_LIST=(
'/Library/Frameworks/Mono.framework/Versions'
'/Library/Frameworks/Xamarin.iOS.framework/Versions'
'/Library/Frameworks/Xamarin.Android.framework/Versions'
'/Library/Frameworks/Xamarin.Mac.framework/Versions'
)
for FOLDER in "${FOLDERS_LIST[@]}"
do
echo "Set Current folder for ${FOLDER}"
sudo rm -f ${FOLDER}/Current
sudo ln -s ${FOLDER}/${XAMARIN_SDK} ${FOLDER}/Current
done
-378
View File
@@ -1,378 +0,0 @@
| Announcements |
|-|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[Macos 13 and 14] Android NDK versions <=25 will be removed from images on October 07,2024](https://github.com/actions/runner-images/issues/10614) |
| [[Macos 13 and 14] Go version 1.20.0 will be removed on October 07,2024.](https://github.com/actions/runner-images/issues/10612) |
***
# macOS 12
- OS Version: macOS 12.7.6 (21H1320)
- Kernel Version: Darwin 21.6.0
- Image Version: 20240926.174
## Installed Software
### Language and Runtime
- .NET Core SDK: 6.0.425, 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.402
- 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.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias
- Julia 1.10.5
- Kotlin 2.0.20-release-360
- Go 1.21.13
- Mono 6.12.0.188
- Node.js 18.20.4
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
- NVM 0.39.7
- NVM - Cached node versions: 16.20.2, 18.20.4, 20.17.0
- Perl 5.38.2
- PHP 8.3.11
- Python 2.7.18
- Python3 3.12.6
- R 4.4.1
- Ruby 3.0.7p220
### Package Management
- Bundler 2.5.20
- Carthage 0.40.0
- CocoaPods 1.15.2
- Composer 2.7.9
- Homebrew 4.3.24
- Miniconda 24.7.1
- NPM 10.7.0
- NuGet 6.3.1.1
- Pip 20.3.4 (python 2.7)
- Pip3 24.2 (python 3.12)
- Pipx 1.7.1
- RubyGems 3.5.20
- Vcpkg 2024 (build from commit 3d8959985)
- Yarn 1.22.22
#### Environment variables
| Name | Value |
| ----------------------- | ---------------------- |
| CONDA | /usr/local/miniconda |
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Sbt 1.10.2
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.3.1
- bazelisk 1.21.0
- bsdtar 3.5.1 - available by 'tar' alias
- Curl 8.10.1
- Git 2.46.2
- Git LFS 3.5.1
- GitHub CLI 2.57.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.5
- ImageMagick 7.1.1-38
- jq 1.7.1
- mongo 5.0.29
- mongod 5.0.29
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.9.4
- pkg-config 0.29.2
- PostgreSQL 14.13 (Homebrew)
- psql (PostgreSQL) 14.13 (Homebrew)
- Sox 14.4.2
- Subversion (SVN) 1.14.3
- Switchaudio-osx 1.2.2
- Vagrant 2.4.1
- VirtualBox 6.1.38r153438
- yq 4.44.3
- zstd 1.5.6
### Tools
- App Center CLI 3.0.1
- AWS CLI 2.17.59
- AWS SAM CLI 1.124.0
- AWS Session Manager CLI 1.2.650.0
- Azure CLI 2.64.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.30.23
- Cabal 3.10.3.0
- Cmake 3.30.3
- CodeQL Action Bundle 2.19.0
- Colima 0.7.5
- Fastlane 2.222.0
- GHC 9.10.1
- GHCup 0.1.30.0
- Jazzy 0.15.2
- Stack 3.1.1
- SwiftFormat 0.54.5
- Swig 4.2.1
- Xcbeautify 1.6.0
- Xcode Command Line Tools 14.2.0.0.1.1668646533
- Xcodes 1.5.0
### Linters
- SwiftLint 0.53.0
- Yamllint 1.35.1
### Browsers
- Safari 17.6 (17618.3.11.11.7)
- SafariDriver 17.6 (17618.3.11.11.7)
- Google Chrome 129.0.6668.71
- Google Chrome for Testing 129.0.6668.70
- ChromeDriver 129.0.6668.70
- Microsoft Edge 129.0.2792.52
- Microsoft Edge WebDriver 129.0.2792.46
- Mozilla Firefox 130.0.1
- geckodriver 0.35.0
- Selenium server 4.25.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.422+5.1 (default) | JAVA_HOME_8_X64 |
| 11.0.24+8 | JAVA_HOME_11_X64 |
| 17.0.12+7 | JAVA_HOME_17_X64 |
| 21.0.4+7.0 | JAVA_HOME_21_X64 |
### Cached Tools
#### PyPy
- 2.7.18 [PyPy 7.3.17]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17]
#### Ruby
- 3.0.7
- 3.1.6
- 3.2.5
- 3.3.5
#### Python
- 3.7.17
- 3.8.18
- 3.9.20
- 3.10.15
- 3.11.9
- 3.12.6
#### Node.js
- 16.20.2
- 18.20.4
- 20.17.0
#### Go
- 1.20.14
- 1.21.13
- 1.22.7
- 1.23.1
### Rust Tools
- Cargo 1.81.0
- Rust 1.81.0
- Rustdoc 1.81.0
- Rustup 1.27.1
#### Packages
- Bindgen 0.70.1
- Cargo-audit 0.20.1
- Cargo-outdated 0.15.0
- Cbindgen 0.27.0
- Clippy 0.1.81
- Rustfmt 1.7.1-stable
### PowerShell Tools
- PowerShell 7.4.5
#### PowerShell Modules
- Az: 12.3.0
- MarkdownPS: 1.10
- Pester: 5.6.1
- PSScriptAnalyzer: 1.22.0
### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
| ----- | ------- | ------------------------------- | ------------- | ---------- |
| httpd | 2.4.62 | /usr/local/etc/httpd/httpd.conf | none | 80 |
| nginx | 1.27.1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
### Xamarin
#### Visual Studio for Mac
| Version | Build | Path |
| -------------- | ----------- | ------------------------------------ |
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
| 2022 (default) | 17.6.14.413 | /Applications/Visual Studio.app |
##### Notes
```
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"
```
#### Xamarin bundles
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
| ----------------- | ------------ | ----------- | ----------- | --------------- |
| 6_12_25 | 6.12 | 16.4 | 9.3 | 13.2 |
| 6_12_24 | 6.12 | 16.2 | 9.1 | 13.2 |
| 6_12_23 | 6.12 | 16.2 | 9.1 | 13.1 |
| 6_12_22 | 6.12 | 16.1 | 9.0 | 13.1 |
| 6_12_21 (default) | 6.12 | 16.0 | 8.12 | 13.1 |
| 6_12_20 | 6.12 | 16.0 | 8.12 | 13.0 |
| 6_12_19 | 6.12 | 15.12 | 8.12 | 13.0 |
| 6_12_18 | 6.12 | 15.10 | 8.10 | 12.3 |
| 6_12_17 | 6.12 | 15.10 | 8.10 | 12.2 |
| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
| 6_12_12 | 6.12 | 15.4 | 8.4 | 12.0 |
| 6_12_11 | 6.12 | 15.2 | 8.2 | 12.0 |
| 6_12_10 | 6.12 | 15.0 | 7.14 | 11.3 |
#### Unit Test Framework
- NUnit 3.6.1
### Xcode
| Version | Build | Path |
| -------------- | -------- | ------------------------------ |
| 14.2 (default) | 14C18 | /Applications/Xcode_14.2.app |
| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
| 14.0.1 | 14A400 | /Applications/Xcode_14.0.1.app |
| 13.4.1 | 13F100 | /Applications/Xcode_13.4.1.app |
| 13.3.1 | 13E500a | /Applications/Xcode_13.3.1.app |
| 13.2.1 | 13C100 | /Applications/Xcode_13.2.1.app |
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
#### Xcode Support Tools
- xcpretty 0.3.0
- xcversion 2.8.1
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ----------------------- | -------------------- | ---------------------- |
| macOS 12.0 | macosx12.0 | 13.1 |
| macOS 12.1 | macosx12.1 | 13.2.1 |
| macOS 12.3 | macosx12.3 | 13.3.1, 13.4.1, 14.0.1 |
| macOS 13.0 | macosx13.0 | 14.1 |
| macOS 13.1 | macosx13.1 | 14.2 |
| iOS 15.0 | iphoneos15.0 | 13.1 |
| iOS 15.2 | iphoneos15.2 | 13.2.1 |
| iOS 15.4 | iphoneos15.4 | 13.3.1 |
| iOS 15.5 | iphoneos15.5 | 13.4.1 |
| iOS 16.0 | iphoneos16.0 | 14.0.1 |
| iOS 16.1 | iphoneos16.1 | 14.1 |
| iOS 16.2 | iphoneos16.2 | 14.2 |
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.1 |
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
| Simulator - iOS 15.4 | iphonesimulator15.4 | 13.3.1 |
| Simulator - iOS 15.5 | iphonesimulator15.5 | 13.4.1 |
| Simulator - iOS 16.0 | iphonesimulator16.0 | 14.0.1 |
| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 |
| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 |
| tvOS 15.0 | appletvos15.0 | 13.1 |
| tvOS 15.2 | appletvos15.2 | 13.2.1 |
| tvOS 15.4 | appletvos15.4 | 13.3.1, 13.4.1 |
| tvOS 16.0 | appletvos16.0 | 14.0.1 |
| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 |
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.1 |
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
| Simulator - tvOS 15.4 | appletvsimulator15.4 | 13.3.1, 13.4.1 |
| Simulator - tvOS 16.0 | appletvsimulator16.0 | 14.0.1 |
| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 |
| watchOS 8.0 | watchos8.0 | 13.1 |
| watchOS 8.3 | watchos8.3 | 13.2.1 |
| watchOS 8.5 | watchos8.5 | 13.3.1, 13.4.1 |
| watchOS 9.0 | watchos9.0 | 14.0.1 |
| watchOS 9.1 | watchos9.1 | 14.1, 14.2 |
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.1 |
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
| Simulator - watchOS 8.5 | watchsimulator8.5 | 13.3.1, 13.4.1 |
| Simulator - watchOS 9.0 | watchsimulator9.0 | 14.0.1 |
| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 |
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
| DriverKit 21.4 | driverkit21.4 | 13.3.1, 13.4.1, 14.0.1 |
| DriverKit 22.1 | driverkit22.1 | 14.1 |
| DriverKit 22.2 | driverkit22.2 | 14.2 |
#### Installed Simulators
| OS | Simulators |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| iOS 15.0 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
| iOS 15.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
| iOS 15.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
| iOS 15.5 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
| iOS 16.0 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
| iOS 16.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
| iOS 16.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
| tvOS 15.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 15.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 15.4 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 16.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
| watchOS 8.0 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
| watchOS 8.3 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
| watchOS 8.5 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
| watchOS 9.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
### Android
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 8.0 |
| Android Emulator | 35.1.21 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264<br>27.1.12297006 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.1.12297006 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- libXext 1.3.6
- libXft 2.3.8
- Tcl/Tk 8.6.15
- Zlib 1.3.1
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.0.1-55659/ParallelsDesktop-20.0.1-55659.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.
```
+99 -103
View File
@@ -1,21 +1,17 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 18.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Xcode 15.4 will be removed from macOS15 images on May 29th, 2025](https://github.com/actions/runner-images/issues/12195) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 13
- OS Version: macOS 13.7.1 (22H221)
- OS Version: macOS 13.7.5 (22H527)
- Kernel Version: Darwin 22.6.0
- Image Version: 20241108.324
- Image Version: 20250512.1078
## Installed Software
### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.403
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.408, 9.0.102, 9.0.203
- 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`
@@ -25,84 +21,85 @@
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Kotlin 2.1.10-release-473
- Mono 6.12.0.188
- Node.js 20.18.0
- Perl 5.40.0
- PHP 8.3.13
- Python3 3.13.0
- Ruby 3.0.7p220
- Node.js 20.19.0
- Perl 5.40.2
- PHP 8.4.7
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.23
- Bundler 2.6.8
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.2
- Homebrew 4.4.4
- Composer 2.8.8
- Homebrew 4.5.2
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13)
- Pip3 25.1.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- Vcpkg 2024 (build from commit 6046e4816)
- RubyGems 3.6.8
- Vcpkg 2025 (build from commit ca846b2127)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Gradle 8.14
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.4.0
- bazelisk 1.23.0
- azcopy 10.29.0
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.0
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.61.0
- Curl 8.13.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.72.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.44.3
- zstd 1.5.6
- yq 4.45.4
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.19.3
- AWS SAM CLI 1.127.0
- AWS Session Manager CLI 1.2.688.0
- Azure CLI 2.65.0
- AWS CLI 2.27.12
- AWS SAM CLI 1.138.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.72.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.34
- Cmake 3.31.0
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.54.6
- Xcbeautify 2.14.1
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.2
- Fastlane 2.227.2
- SwiftFormat 0.55.6
- Xcbeautify 2.28.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.0
### Linters
- SwiftLint 0.57.0
- SwiftLint 0.59.1
### Browsers
- Safari 18.1 (18619.2.8.111.5)
- SafariDriver 18.1 (18619.2.8.111.5)
- Google Chrome 130.0.6723.117
- Google Chrome for Testing 130.0.6723.116
- ChromeDriver 130.0.6723.116
- Microsoft Edge 130.0.2849.80
- Microsoft Edge WebDriver 130.0.2849.81
- Mozilla Firefox 132.0.1
- geckodriver 0.35.0
- Selenium server 4.26.0
- Safari 18.4 (18621.1.15.111.1)
- SafariDriver 18.4 (18621.1.15.111.1)
- Google Chrome 136.0.7103.93
- Google Chrome for Testing 136.0.7103.92
- ChromeDriver 136.0.7103.92
- Microsoft Edge 136.0.3240.64
- Microsoft Edge WebDriver 136.0.3240.64
- Mozilla Firefox 138.0.1
- geckodriver 0.36.0
- Selenium server 4.29.0
#### Environment variables
| Name | Value |
@@ -112,64 +109,63 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| -------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 |
| 11.0.25+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 (default) | JAVA_HOME_17_X64 |
| 21.0.5+11.0 | JAVA_HOME_21_X64 |
| Version | Environment Variable |
| ------------------- | -------------------- |
| 8.0.452+9 | JAVA_HOME_8_X64 |
| 11.0.27+6 | JAVA_HOME_11_X64 |
| 17.0.15+6 (default) | JAVA_HOME_17_X64 |
| 21.0.7+6.0 | JAVA_HOME_21_X64 |
### Cached Tools
#### PyPy
- 2.7.18 [PyPy 7.3.17]
- 2.7.18 [PyPy 7.3.19]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
- 3.10.14 [PyPy 7.3.17]
- 3.10.16 [PyPy 7.3.19]
#### Ruby
- 3.0.7
- 3.1.6
- 3.2.6
- 3.3.6
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.3
#### Python
- 3.8.18
- 3.9.20
- 3.10.15
- 3.9.22
- 3.10.17
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 16.20.2
- 18.20.4
- 20.18.0
- 22.11.0
- 18.20.8
- 20.19.1
- 22.15.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
- 1.22.12
- 1.23.9
- 1.24.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.86.0
- Rust 1.86.0
- Rustdoc 1.86.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.86
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.6
- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
@@ -244,18 +240,18 @@
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -263,17 +259,17 @@
| 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/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| 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.15
- Tcl/Tk 8.6.16
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.1-55740/ParallelsDesktop-20.1.1-55740.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.0-55895/ParallelsDesktop-20.3.0-55895.dmg |
##### Notes
```
+86 -87
View File
@@ -1,21 +1,16 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 18.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 13
- OS Version: macOS 13.7.1 (22H221)
- OS Version: macOS 13.7.5 (22H527)
- Kernel Version: Darwin 22.6.0
- Image Version: 20241108.368
- Image Version: 20250512.1166
## Installed Software
### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.403
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.408, 9.0.102, 9.0.203
- 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`
@@ -25,76 +20,77 @@
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Kotlin 2.1.10-release-473
- Mono 6.12.0.188
- Node.js 20.18.0
- Perl 5.40.0
- Python3 3.13.0
- Ruby 3.0.7p220
- Node.js 20.19.0
- Perl 5.40.2
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.23
- Bundler 2.6.8
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.4.4
- Homebrew 4.5.2
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.2 (python 3.13)
- Pip3 25.0.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- RubyGems 3.6.8
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Gradle 8.14
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.4.0
- bazelisk 1.23.0
- azcopy 10.29.0
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.61.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.72.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.44.3
- zstd 1.5.6
- yq 4.45.4
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.19.3
- AWS SAM CLI 1.127.0
- AWS Session Manager CLI 1.2.688.0
- Azure CLI 2.65.0
- AWS CLI 2.27.12
- AWS SAM CLI 1.138.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.72.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.34
- Cmake 3.31.0
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.54.6
- Xcbeautify 2.14.1
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.2
- Fastlane 2.227.2
- SwiftFormat 0.55.6
- Xcbeautify 2.28.0
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.0
### Linters
### Browsers
- Safari 18.1 (18619.2.8.111.5)
- SafariDriver 18.1 (18619.2.8.111.5)
- Google Chrome 130.0.6723.117
- Google Chrome for Testing 130.0.6723.116
- ChromeDriver 130.0.6723.116
- Selenium server 4.26.0
- Safari 18.4 (18621.1.15.111.1)
- SafariDriver 18.4 (18621.1.15.111.1)
- Google Chrome 136.0.7103.93
- Google Chrome for Testing 136.0.7103.92
- ChromeDriver 136.0.7103.92
- Selenium server 4.29.0
#### Environment variables
| Name | Value |
@@ -104,49 +100,52 @@
| GECKOWEBDRIVER | |
### Java
| Version | Environment Variable |
| -------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 (default) | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 | JAVA_HOME_21_arm64 |
| Version | Environment Variable |
| ------------------- | -------------------- |
| 11.0.27+6 | JAVA_HOME_11_arm64 |
| 17.0.15+6 (default) | JAVA_HOME_17_arm64 |
| 21.0.7+6.0 | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.3
#### Python
- 3.9.13
- 3.10.11
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 16.20.1
- 18.20.4
- 20.18.0
- 22.11.0
- 18.20.8
- 20.19.1
- 22.15.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
- 1.22.12
- 1.23.9
- 1.24.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.86.0
- Rust 1.86.0
- Rustdoc 1.86.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.86
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.6
- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
@@ -192,8 +191,8 @@
| 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 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 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 |
@@ -222,18 +221,18 @@
| visionOS 1.0 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -241,10 +240,10 @@
| 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/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| 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.15
- Tcl/Tk 8.6.16
+138 -112
View File
@@ -1,21 +1,17 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 18.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Xcode 15.4 will be removed from macOS15 images on May 29th, 2025](https://github.com/actions/runner-images/issues/12195) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 14
- OS Version: macOS 14.7.1 (23H222)
- OS Version: macOS 14.7.5 (23H527)
- Kernel Version: Darwin 23.6.0
- Image Version: 20241108.322
- Image Version: 20250513.1230
## Installed Software
### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.403
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.409, 9.0.102, 9.0.203, 9.0.300
- Bash 3.2.57(1)-release
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
@@ -25,83 +21,85 @@
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Kotlin 2.1.10-release-473
- Mono 6.12.0.188
- Node.js 20.18.0
- Perl 5.40.0
- PHP 8.3.13
- Python3 3.13.0
- Ruby 3.0.7p220
- Node.js 20.19.0
- Perl 5.40.2
- PHP 8.4.7
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.23
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.2
- Homebrew 4.4.4
- Composer 2.8.9
- Homebrew 4.5.2
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.3.1 (python 3.13)
- Pip3 25.1.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- RubyGems 3.6.9
- Vcpkg 2025 (build from commit dbe35ceb30)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Gradle 8.14
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.4.0
- bazelisk 1.23.0
- azcopy 10.29.0
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.11.0
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.61.0
- Curl 8.13.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.72.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.44.3
- zstd 1.5.6
- yq 4.45.4
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.19.3
- AWS SAM CLI 1.127.0
- AWS Session Manager CLI 1.2.688.0
- Azure CLI 2.65.0
- AWS CLI 2.27.14
- AWS SAM CLI 1.138.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.72.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.34
- Cmake 3.31.0
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.54.6
- Xcbeautify 2.14.1
- Xcode Command Line Tools 16.1.0.0.1.1729049160
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.2
- Fastlane 2.227.2
- SwiftFormat 0.56.0
- Xcbeautify 2.28.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.0
### Linters
- SwiftLint 0.57.0
- SwiftLint 0.59.1
### Browsers
- Safari 18.1 (19619.2.8.111.5)
- SafariDriver 18.1 (19619.2.8.111.5)
- Google Chrome 130.0.6723.117
- Google Chrome for Testing 130.0.6723.116
- ChromeDriver 130.0.6723.116
- Microsoft Edge 130.0.2849.80
- Microsoft Edge WebDriver 130.0.2849.81
- Mozilla Firefox 132.0.1
- geckodriver 0.35.0
- Selenium server 4.26.0
- Safari 18.5 (19621.2.5.18.1)
- SafariDriver 18.5 (19621.2.5.18.1)
- Google Chrome 136.0.7103.93
- Google Chrome for Testing 136.0.7103.92
- ChromeDriver 136.0.7103.92
- Microsoft Edge 136.0.3240.64
- Microsoft Edge WebDriver 136.0.3240.64
- Mozilla Firefox 138.0.3
- geckodriver 0.36.0
- Selenium server 4.29.0
#### Environment variables
| Name | Value |
@@ -111,64 +109,66 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 8.0.432+6 | JAVA_HOME_8_X64 |
| 11.0.25+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
| Version | Environment Variable |
| -------------------- | -------------------- |
| 8.0.452+9 | JAVA_HOME_8_X64 |
| 11.0.27+6 | JAVA_HOME_11_X64 |
| 17.0.15+6 | JAVA_HOME_17_X64 |
| 21.0.7+6.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools
#### Ruby
- 3.0.7
- 3.1.6
- 3.2.6
- 3.3.6
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.3
#### Python
- 3.9.20
- 3.10.15
- 3.9.22
- 3.10.17
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 18.20.4
- 20.18.0
- 22.11.0
- 18.20.8
- 20.19.1
- 22.15.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
- 1.22.12
- 1.23.9
- 1.24.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.86.0
- Rust 1.86.0
- Rustdoc 1.86.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.86
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.6
- PowerShell 7.4.10
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.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 |
| Version | Build | Path | Symlinks |
| -------------- | -------- | ------------------------------ | --------------------------------------------------------- |
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.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 |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
@@ -177,40 +177,60 @@
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| macOS 14.4 | macosx14.4 | 15.3 |
| macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| iOS 17.4 | iphoneos17.4 | 15.3 |
| iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| tvOS 17.4 | appletvos17.4 | 15.3 |
| tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| watchOS 10.4 | watchos10.4 | 15.3 |
| watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
| DriverKit 23.4 | driverkit23.4 | 15.3 |
| DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
#### Installed Simulators
| OS | Simulators |
@@ -218,29 +238,35 @@
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -248,17 +274,17 @@
| 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/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| 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.15
- Tcl/Tk 8.6.16
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.1-55740/ParallelsDesktop-20.1.1-55740.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.0-55895/ParallelsDesktop-20.3.0-55895.dmg |
##### Notes
```
+133 -99
View File
@@ -1,160 +1,166 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 18.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Xcode 15.4 will be removed from macOS15 images on May 29th, 2025](https://github.com/actions/runner-images/issues/12195) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 14
- OS Version: macOS 14.7.1 (23H222)
- OS Version: macOS 14.7.6 (23H626)
- Kernel Version: Darwin 23.6.0
- Image Version: 20241108.442
- Image Version: 20250527.1547
## Installed Software
### Language and Runtime
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.403
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.410, 9.0.102, 9.0.203, 9.0.300
- Bash 3.2.57(1)-release
- Clang/LLVM 15.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.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias
- Kotlin 2.1.10-release-473
- Mono 6.12.0.188
- Node.js 20.18.0
- Perl 5.40.0
- Python3 3.13.0
- Ruby 3.0.7p220
- Node.js 20.19.2
- Perl 5.40.2
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.23
- Bundler 2.6.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.4.4
- Homebrew 4.5.3
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 24.2 (python 3.13)
- Pip3 25.1.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- RubyGems 3.6.9
- Vcpkg 2025 (build from commit a80c8946ff)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Gradle 8.14.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.4.0
- bazelisk 1.23.0
- azcopy 10.29.1
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.61.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.73.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.6
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.44.3
- zstd 1.5.6
- yq 4.45.4
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.19.4
- AWS SAM CLI 1.127.0
- AWS Session Manager CLI 1.2.688.0
- Azure CLI 2.65.0
- AWS CLI 2.27.22
- AWS SAM CLI 1.139.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.73.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.34
- Cmake 3.31.0
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.54.6
- Xcbeautify 2.14.1
- Xcode Command Line Tools 16.1.0.0.1.1729049160
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.3
- Fastlane 2.227.2
- SwiftFormat 0.56.1
- Xcbeautify 2.28.0
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.0
### Linters
### Browsers
- Safari 18.1 (19619.2.8.111.5)
- SafariDriver 18.1 (19619.2.8.111.5)
- Google Chrome 130.0.6723.117
- Google Chrome for Testing 130.0.6723.116
- ChromeDriver 130.0.6723.116
- Selenium server 4.26.0
- Safari 18.5 (19621.2.5.18.1)
- SafariDriver 18.5 (19621.2.5.18.1)
- Google Chrome 137.0.7151.41
- Google Chrome for Testing 137.0.7151.40
- ChromeDriver 137.0.7151.40
- Mozilla Firefox 138.0.4
- geckodriver 0.36.0
- Selenium server 4.33.0
#### Environment variables
| Name | Value |
| --------------- | --------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 |
| EDGEWEBDRIVER | |
| GECKOWEBDRIVER | |
| GECKOWEBDRIVER | /opt/homebrew/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
| Version | Environment Variable |
| -------------------- | -------------------- |
| 11.0.27+6 | JAVA_HOME_11_arm64 |
| 17.0.15+6 | JAVA_HOME_17_arm64 |
| 21.0.7+6.0 (default) | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.4
#### Python
- 3.9.13
- 3.10.11
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 18.20.4
- 20.18.0
- 22.11.0
- 18.20.8
- 20.19.2
- 22.16.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
- 1.22.12
- 1.23.9
- 1.24.3
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.87.0
- Rust 1.87.0
- Rustdoc 1.87.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.87
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.6
- PowerShell 7.4.10
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.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 |
| Version | Build | Path | Symlinks |
| -------------- | -------- | ------------------------------ | --------------------------------------------------------- |
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.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 |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
@@ -163,40 +169,60 @@
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| macOS 14.4 | macosx14.4 | 15.3 |
| macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| iOS 17.4 | iphoneos17.4 | 15.3 |
| iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| tvOS 17.4 | appletvos17.4 | 15.3 |
| tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| watchOS 10.4 | watchos10.4 | 15.3 |
| watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| visionOS 1.1 | xros1.1 | 15.3 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
| DriverKit 23.4 | driverkit23.4 | 15.3 |
| DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
#### Installed Simulators
| OS | Simulators |
@@ -204,32 +230,40 @@
| iOS 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.2 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
| iOS 17.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 1.0 | Apple Vision Pro |
| visionOS 1.1 | Apple Vision Pro |
| visionOS 1.2 | Apple Vision Pro |
| visionOS 2.1 | Apple Vision Pro |
| visionOS 2.2 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
| Package Name | Version |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 35.5.10 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.2.12479018<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -237,10 +271,10 @@
| 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/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| 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.15
- Tcl/Tk 8.6.16
+171 -111
View File
@@ -1,103 +1,102 @@
| Announcements |
|-|
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 15
- OS Version: macOS 15.0.1 (24A348)
- Kernel Version: Darwin 24.0.0
- Image Version: 20241022.244
- OS Version: macOS 15.4.1 (24E263)
- Kernel Version: Darwin 24.4.0
- Image Version: 20250506.1260
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.403
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.408, 9.0.102, 9.0.203
- Bash 3.2.57(1)-release
- Clang/LLVM 16.0.0
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Node.js 22.10.0
- Perl 5.40.0
- PHP 8.3.12
- Python3 3.13.0
- Ruby 3.3.5
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.1.10-release-473
- Node.js 22.15.0
- Perl 5.40.2
- PHP 8.4.6
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.22
- Bundler 2.6.8
- Carthage 0.40.0
- CocoaPods 1.15.2
- Composer 2.8.1
- Homebrew 4.4.2
- NPM 10.9.0
- Pip3 24.2 (python 3.13)
- CocoaPods 1.16.2
- Composer 2.8.8
- Homebrew 4.5.0
- NPM 10.9.2
- Pip3 25.1.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.22
- RubyGems 3.6.8
- Vcpkg 2025 (build from commit d8ad13c401)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.10.2
- Gradle 8.14
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.26.0
- bazel 7.3.2
- bazelisk 1.22.1
- azcopy 10.29.0
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.10.1
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.59.0
- Curl 8.13.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.72.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.24.5
- gpg (GnuPG) 2.4.5
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- yq 4.44.3
- zstd 1.5.6
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.45.2
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.18.11
- AWS SAM CLI 1.126.0
- AWS Session Manager CLI 1.2.677.0
- Azure CLI 2.65.0
- AWS CLI 2.27.8
- AWS SAM CLI 1.138.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.71.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.30.23
- Cmake 3.30.5
- CodeQL Action Bundle 2.19.2
- Fastlane 2.225.0
- SwiftFormat 0.54.6
- Xcbeautify 2.14.1
- Xcode Command Line Tools 16.0.0.0.1.1724870825
- Xcodes 1.5.0
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.2
- Fastlane 2.227.2
- SwiftFormat 0.55.6
- Xcbeautify 2.28.0
- Xcode Command Line Tools 16.3.0.0.1.1742442376
- Xcodes 1.6.0
### Linters
- SwiftLint 0.57.0
- SwiftLint 0.59.1
### Browsers
- Safari 18.0.1 (20619.1.26.31.7)
- SafariDriver 18.0.1 (20619.1.26.31.7)
- Google Chrome 130.0.6723.59
- Google Chrome for Testing 130.0.6723.58
- ChromeDriver 130.0.6723.58
- Microsoft Edge 130.0.2849.46
- Microsoft Edge WebDriver 130.0.2849.50
- Mozilla Firefox 131.0.3
- geckodriver 0.35.0
- Selenium server 4.25.0
- Safari 18.4 (20621.1.15.11.10)
- SafariDriver 18.4 (20621.1.15.11.10)
- Google Chrome 136.0.7103.49
- Google Chrome for Testing 136.0.7103.49
- ChromeDriver 136.0.7103.49
- Microsoft Edge 136.0.3240.50
- Microsoft Edge WebDriver 136.0.3240.50
- Mozilla Firefox 138.0.1
- geckodriver 0.36.0
- Selenium server 4.29.0
#### Environment variables
| Name | Value |
@@ -107,104 +106,152 @@
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_X64 |
| 17.0.13+11 | JAVA_HOME_17_X64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
| Version | Environment Variable |
| -------------------- | -------------------- |
| 11.0.27+6 | JAVA_HOME_11_X64 |
| 17.0.15+6 | JAVA_HOME_17_X64 |
| 21.0.7+6.0 (default) | JAVA_HOME_21_X64 |
### Cached Tools
#### Ruby
- 3.1.6
- 3.2.5
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.3
#### Python
- 3.9.20
- 3.10.15
- 3.9.22
- 3.10.17
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 18.20.4
- 20.18.0
- 22.10.0
- 18.20.8
- 20.19.1
- 22.15.0
#### Go
- 1.21.13
- 1.22.8
- 1.23.2
- 1.22.12
- 1.23.8
- 1.24.2
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.86.0
- Rust 1.86.0
- Rustdoc 1.86.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.86
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.5
- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.4.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | ------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
| 16.1 | 16B40 | /Applications/Xcode_16.1_Release_Candidate.app | /Applications/Xcode_16.1.0.app<br>/Applications/Xcode_16.1.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
| Version | Build | Path | Symlinks |
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
| 16.3 | 16E140 | /Applications/Xcode_16.3.app | /Applications/Xcode_16.3.0.app |
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- |
| macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.0 | macosx15.0 | 16.0 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| macOS 15.4 | macosx15.4 | 16.3 |
| iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| iOS 18.4 | iphoneos18.4 | 16.3 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| Simulator - iOS 18.4 | iphonesimulator18.4 | 16.3 |
| tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| tvOS 18.4 | appletvos18.4 | 16.3 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| Simulator - tvOS 18.4 | appletvsimulator18.4 | 16.3 |
| watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| watchOS 11.4 | watchos11.4 | 16.3 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| Simulator - watchOS 11.4 | watchsimulator11.4 | 16.3 |
| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
| visionOS 2.4 | xros2.4 | 16.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| Simulator - visionOS 2.4 | xrsimulator2.4 | 16.3 |
| DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
| DriverKit 24.4 | driverkit24.4 | 16.3 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| OS | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.3 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (A16)<br>iPad Air 11-inch (M2)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M2)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.4 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (A16)<br>iPad Air 11-inch (M2)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M2)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Emulator | 35.2.10 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.4.9 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -212,7 +259,20 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.3.0-55895/ParallelsDesktop-20.3.0-55895.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.
```
+142 -106
View File
@@ -1,23 +1,18 @@
| Announcements |
|-|
| [[ macOS ] Node.js version 16 will be removed from macOS13 and macOS13 arm64 images on November, 18.](https://github.com/actions/runner-images/issues/10873) |
| [[macOS] OpenSSL 1.1 will be removed and OpenSSL 3 will be the default for all macOS images from November 4](https://github.com/actions/runner-images/issues/10817) |
| [[macOS] Python 3.9 and 3.10 will be removed from macOS13 arm64 and macOS14 arm64 on November 18.](https://github.com/actions/runner-images/issues/10812) |
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and ADO](https://github.com/actions/runner-images/issues/10721) |
| [[macOS] Support policy changes; Xcode 14 and 16 will be removed from macOS 14 on November 4](https://github.com/actions/runner-images/issues/10703) |
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
| [[macOS] Go version 1.21.* will be removed from all macOS images on May 12, 2025.](https://github.com/actions/runner-images/issues/12032) |
***
# macOS 15
- OS Version: macOS 15.1 (24B2083)
- Kernel Version: Darwin 24.1.0
- Image Version: 20241118.362
- OS Version: macOS 15.4.1 (24E263)
- Kernel Version: Darwin 24.4.0
- Image Version: 20250506.1412
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.408, 9.0.102, 9.0.203
- Bash 3.2.57(1)-release
- Clang/LLVM 16.0.0
- Clang/LLVM 15.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
@@ -25,74 +20,76 @@
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
- Kotlin 2.0.21-release-482
- Node.js 22.11.0
- Perl 5.40.0
- Python3 3.13.0
- Ruby 3.3.6
- Kotlin 2.1.10-release-473
- Node.js 22.15.0
- Perl 5.40.2
- Python3 3.13.3
- Ruby 3.3.8
### Package Management
- Bundler 2.5.23
- Bundler 2.6.8
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.4.5
- NPM 10.9.0
- Pip3 24.2 (python 3.13)
- Homebrew 4.5.0
- NPM 10.9.2
- Pip3 25.0.1 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.5.23
- RubyGems 3.6.8
- Vcpkg 2025 (build from commit d8ad13c401)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.9
- Gradle 8.11
- Gradle 8.14
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.27.1
- bazel 7.4.1
- bazelisk 1.23.0
- azcopy 10.29.0
- bazel 8.2.1
- bazelisk 1.26.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.47.0
- Git LFS 3.5.1
- GitHub CLI 2.62.0
- Git 2.49.0
- Git LFS 3.6.1
- GitHub CLI 2.72.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.6
- gpg (GnuPG) 2.4.7
- jq 1.7.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.11.2
- pkg-config 0.29.2
- Packer 1.12.0
- pkgconf 2.4.3
- Unxip 3.1
- yq 4.44.5
- zstd 1.5.6
- yq 4.45.2
- zstd 1.5.7
- Ninja 1.12.1
### Tools
- AWS CLI 2.21.3
- AWS SAM CLI 1.129.0
- AWS Session Manager CLI 1.2.688.0
- Azure CLI 2.66.0
- AWS CLI 2.27.8
- AWS SAM CLI 1.138.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.71.0
- Azure CLI (azure-devops) 1.0.1
- Bicep CLI 0.31.92
- Cmake 3.31.0
- CodeQL Action Bundle 2.19.3
- Fastlane 2.225.0
- SwiftFormat 0.55.0
- Xcbeautify 2.15.0
- Xcode Command Line Tools 16.1.0.0.1.1729049160
- Bicep CLI 0.35.1
- Cmake 3.31.6
- CodeQL Action Bundle 2.21.2
- Fastlane 2.227.2
- SwiftFormat 0.55.6
- Xcbeautify 2.28.0
- Xcode Command Line Tools 16.3.0.0.1.1742442376
- Xcodes 1.6.0
### Linters
### Browsers
- Safari 18.1 (20619.2.8.11.10)
- SafariDriver 18.1 (20619.2.8.11.10)
- Google Chrome 131.0.6778.70
- Google Chrome for Testing 131.0.6778.69
- ChromeDriver 131.0.6778.69
- Selenium server 4.26.0
- Safari 18.4 (20621.1.15.11.10)
- SafariDriver 18.4 (20621.1.15.11.10)
- Google Chrome 136.0.7103.49
- Google Chrome for Testing 136.0.7103.49
- ChromeDriver 136.0.7103.49
- Selenium server 4.29.0
#### Environment variables
| Name | Value |
@@ -102,117 +99,156 @@
| GECKOWEBDRIVER | |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.25+9 | JAVA_HOME_11_arm64 |
| 17.0.13+11 | JAVA_HOME_17_arm64 |
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
| Version | Environment Variable |
| -------------------- | -------------------- |
| 11.0.27+6 | JAVA_HOME_11_arm64 |
| 17.0.15+6 | JAVA_HOME_17_arm64 |
| 21.0.7+6.0 (default) | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.7
- 3.2.8
- 3.3.8
- 3.4.3
#### Python
- 3.11.9
- 3.12.7
- 3.13.0
- 3.12.10
- 3.13.3
#### Node.js
- 18.20.5
- 20.18.0
- 22.11.0
- 18.20.8
- 20.19.1
- 22.15.0
#### Go
- 1.21.13
- 1.22.9
- 1.23.3
- 1.22.12
- 1.23.8
- 1.24.2
### Rust Tools
- Cargo 1.82.0
- Rust 1.82.0
- Rustdoc 1.82.0
- Rustup 1.27.1
- Cargo 1.86.0
- Rust 1.86.0
- Rustdoc 1.86.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.82
- Rustfmt 1.7.1-stable
- Clippy 0.1.86
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.6
- PowerShell 7.4.7
#### PowerShell Modules
- Az: 12.5.0
- Pester: 5.6.1
- PSScriptAnalyzer: 1.23.0
- Az: 12.4.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | ----------------------------------- | ----------------------------------------------------------------------------------------- |
| 16.2 (beta) | 16C5013f | /Applications/Xcode_16.2_beta_2.app | /Applications/Xcode_16.2.0.app<br>/Applications/Xcode_16.2.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
| Version | Build | Path | Symlinks |
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
| 16.3 | 16E140 | /Applications/Xcode_16.3.app | /Applications/Xcode_16.3.0.app |
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------ | -------------------- | ------------- |
| macOS 14.5 | macosx14.5 | 15.4 |
| macOS 15.0 | macosx15.0 | 16.0 |
| macOS 15.1 | macosx15.1 | 16.1 |
| macOS 15.2 | macosx15.2 | 16.2 |
| macOS 15.4 | macosx15.4 | 16.3 |
| iOS 17.5 | iphoneos17.5 | 15.4 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
| iOS 18.4 | iphoneos18.4 | 16.3 |
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
| Simulator - iOS 18.4 | iphonesimulator18.4 | 16.3 |
| tvOS 17.5 | appletvos17.5 | 15.4 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
| tvOS 18.4 | appletvos18.4 | 16.3 |
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
| Simulator - tvOS 18.4 | appletvsimulator18.4 | 16.3 |
| watchOS 10.5 | watchos10.5 | 15.4 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
| watchOS 11.4 | watchos11.4 | 16.3 |
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - watchOS 11.4 | watchsimulator11.4 | 16.3 |
| visionOS 1.2 | xros1.2 | 15.4 |
| visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
| visionOS 2.4 | xros2.4 | 16.3 |
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
| visionOS 2.2 | xros2.2 | 16.2 |
| Simulator - visionOS 2.4 | xrsimulator2.4 | 16.3 |
| DriverKit 23.5 | driverkit23.5 | 15.4 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
| DriverKit 24.4 | driverkit24.4 | 16.3 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 2.0 | Apple Vision Pro |
| visionOS 2.1 | Apple Vision Pro |
| visionOS 2.2 | Apple Vision Pro |
| OS | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.3 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (A16)<br>iPad Air 11-inch (M2)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M2)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 18.4 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (A16)<br>iPad Air 11-inch (M2)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M2)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| watchOS 11.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
| visionOS 1.2 | Apple Vision Pro |
| visionOS 2.0 | Apple Vision Pro |
| visionOS 2.1 | Apple Vision Pro |
| visionOS 2.2 | Apple Vision Pro |
| visionOS 2.3 | Apple Vision Pro |
| visionOS 2.4 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.2.10 |
| Android SDK Build-tools | 35.0.0 |
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.22.1 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 35.4.9 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
| Android SDK Platform-Tools | 35.0.2 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.2.12479018 (default)<br>28.1.13356709 |
#### Environment variables
| Name | Value |
@@ -220,7 +256,7 @@
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.1.13356709 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
+1 -11
View File
@@ -33,17 +33,7 @@ Write-Host "Configuring Xcode versions..."
$xcodeVersions | ForEach-Object {
Write-Host "Configuring Xcode $($_.link) ..."
Invoke-XcodeRunFirstLaunch -Version $_.link
if ($_.install_runtimes -eq 'true') {
# Additional simulator runtimes are included by default for Xcode < 14
Install-AdditionalSimulatorRuntimes -Version $_.link
}
ForEach($runtime in $_.runtimes) {
Write-Host "Installing Additional runtimes for Xcode '$runtime' ..."
$xcodebuildPath = Get-XcodeToolPath -Version $_.link -ToolName 'xcodebuild'
Invoke-ValidateCommand "sudo $xcodebuildPath -downloadPlatform $runtime" | Out-Null
}
Install-AdditionalSimulatorRuntimes -Version $_.link -Arch $arch -Runtimes $_.install_runtimes
}
Invoke-XcodeRunFirstLaunch -Version $defaultXcode
@@ -18,7 +18,7 @@ chmod +x /usr/local/bin/change_hostname.sh
sudo tee -a /Library/LaunchDaemons/change_hostname.plist > /dev/null <<\EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
@@ -90,6 +90,12 @@ if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
exit 1
fi
# Fix sudoers file permissions
sudo chmod 440 /etc/sudoers.d/*
# Add NOPASSWD for the current user to sudoers
sudo sed -i '' 's/%admin ALL = (ALL) ALL/%admin ALL = (ALL) NOPASSWD: ALL/g' /etc/sudoers
# Create symlink for tests running
if [[ ! -d "/usr/local/bin" ]];then
sudo mkdir -p -m 775 /usr/local/bin
@@ -1,44 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: configure-max-files-limitation.sh
## Desc: Configure max files limitation
################################################################################
Launch_Daemons="/Library/LaunchDaemons"
# EOF in quotes to disable variable expansion
echo "Creating limit.maxfiles.plist"
cat > ${Launch_Daemons}/limit.maxfiles.plist << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>Program</key>
<string>/Users/runner/limit-maxfiles.sh</string>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
EOF
# Creating script for applying workaround https://developer.apple.com/forums/thread/735798
cat > /Users/runner/limit-maxfiles.sh << EOF
#!/bin/bash
sudo launchctl limit maxfiles 256 unlimited
sudo launchctl limit maxfiles 65536 524288
EOF
echo "limit.maxfiles.sh permissions changing"
chmod +x /Users/runner/limit-maxfiles.sh
echo "limit.maxfiles.plist permissions changing"
chown root:wheel "${Launch_Daemons}/limit.maxfiles.plist"
chmod 0644 ${Launch_Daemons}/limit.maxfiles.plist
echo "Done, limit.maxfiles has been updated"
@@ -1,39 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: configure-network-interface-detection.sh
## Desc: add a Daemon to re-detect the attached network interfaces after vm is booted.
## Maintainer: @timsutton
## script was taken from https://github.com/timsutton/osx-vm-templates/blob/master/scripts/add-network-interface-detection.sh
################################################################################
PLIST=/Library/LaunchDaemons/sonoma.detectnewhardware.plist
cat <<EOF > ${PLIST}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>sonoma.detectnewhardware</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/networksetup</string>
<string>-detectnewhardware</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOF
# These should be already set as follows, but since they're required
# in order to load properly, we set them explicitly.
/bin/chmod 644 ${PLIST}
/usr/sbin/chown root:wheel ${PLIST}
: '
The MIT License (MIT)
Copyright (c) 2013-2017 Timothy Sutton
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
'
@@ -1,30 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: configure-screensaver.sh
## Desc: Configure screensaver
################################################################################
# set screensaver idleTime to 0, to prevent turning screensaver on
macUUID=$(ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62)
rm -rf /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist
rm -rf /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist
rm -rf /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist
rm -rf /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist
defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist idleTime -string 0
defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.$macUUID.plist CleanExit "YES"
defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist idleTime -string 0
defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.$macUUID.plist CleanExit "YES"
defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist idleTime -string 0
defaults write /Users/$USERNAME/Library/Preferences/com.apple.screensaver.plist CleanExit "YES"
defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist idleTime -string 0
defaults write /Users/$USERNAME/Library/Preferences/ByHost/com.apple.screensaver.plist CleanExit "YES"
chown -R $USERNAME:staff /Users/$USERNAME/Library/Preferences/ByHost/
chown -R $USERNAME:staff /Users/$USERNAME/Library/Preferences/
killall cfprefsd
# Set values to 0, to prevent sleep at all
pmset -a displaysleep 0 sleep 0 disksleep 0
+69 -18
View File
@@ -6,49 +6,100 @@
source ~/utils/utils.sh
# Close all finder windows because they can interfere with UI tests
echo "Set solid color wallpaper"
osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/System/Library/Desktop Pictures/Solid Colors/Black.png"'
echo "Close all finder windows because they can interfere with UI tests"
close_finder_window
echo "Disable Handoff and Continuity"
defaults write com.apple.coreservices.useractivityd ActivityReceivingEnabled -bool false
defaults write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool false
echo "Disable graphic effects in System"
defaults write com.apple.universalaccess reduceMotion -bool true
defaults write com.apple.universalaccess reduceTransparency -bool true
echo "Disable analytics daemon (requires SIP to be disabled)"
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.SubmitDiagInfo.plist
echo "Disable notification center agent"
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
echo "Disable Time Machine and it's daemon"
sudo tmutil disable
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.backupd.plist
echo "Disable Apple Push Notification Service daemon"
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.apsd.plist
# Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
brew uninstall parallels
fi
# Put documentation to $HOME root
echo "Put documentation to $HOME root"
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
# Put build vm assets (xamarin-selector) scripts to proper directory
if is_Monterey || is_Sonoma || is_Ventura; then
mkdir -p /usr/local/opt/$USER/scripts
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
fi
# Remove fastlane cached cookie
echo "Remove fastlane cached cookie"
rm -rf ~/.fastlane
# Clean up npm cache which collected during image-generation
# we have to do that here because `npm install` is run in a few different places during image-generation
echo "Clean up npm cache"
npm cache clean --force
# Clean yarn cache
yarn cache clean
# Clean up temporary directories
echo "Clean up temporary directories"
sudo rm -rf ~/utils /tmp/*
# Erase all indexes and wait until the rebuilding process ends,
# for now there is no way to get status of indexing process, it takes around 3 minutes to accomplish
sudo mdutil -E /
sudo log stream | grep -q -E 'mds.*Released.*BackgroundTask' || true
echo "Indexing completed"
# for now there is no clear way to get status of indexing process on macOS, it takes around 3-6 minutes to accomplish
echo "Erase all MDS indexes and wait until the rebuilding process ends"
sudo mdutil -E / > /dev/null
# delete symlink for tests running
echo "Wait for 6 minutes or until the indexing process end signal is found in logs"
for _ in {1..12}; do
sleep 30
result=$(sudo log show --last 1m | grep -E 'mds.*Released.*BackgroundTask' || true)
if [[ -n "$result" ]]; then
echo "Sign of indexing completion found:"
echo "$result"
break
fi
done
echo "Check if the indexing process or other CPU intensive process (5% and more) is still running"
cool=0
while true; do
usage=$(top -l 2 | grep "CPU usage" | awk '{print int($3)}' | tr -d '%' | tail -n 1)
echo "Current CPU usage: ${usage}%"
if [ $usage -lt 5 ]; then
cool=$((cool + 1))
else
ps -arcwwwxo ppid,pid,%cpu,%mem,time,command | head -n 2 || true
cool=0
fi
echo "Feeling cool for $cool intervals"
if [ $cool -gt 5 ]; then
echo "Cooled down, exiting..."
break
fi
sleep 1
done
echo "Delete symlink for tests running"
sudo rm -f /usr/local/bin/invoke_tests
# Clean Homebrew downloads
echo "Clean Homebrew downloads"
sudo rm -rf /Users/$USER/Library/Caches/Homebrew/downloads/*
# Uninstall expect used in configure-machine.sh
@@ -19,11 +19,13 @@ systemValuesArray=(
"'kTCCServiceAccessibility','com.apple.Terminal',0,2,0,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,NULL,'UNUSED',NULL,0,1591180502"
"'kTCCServiceAccessibility','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
"'kTCCServiceScreenCapture','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1599831148"
"'kTCCServiceScreenCapture','com.devexpress.testcafe-browser-tools',0,2,3,1,X'fade0c0000000068000000010000000700000007000000080000001443fa4ca5141baeda21aeca1f50894673b440d4690000000800000014f8afcf6e69791b283e55bd0b03e39e422745770e0000000800000014bf4fc1aed64c871a49fc6bc9dd3878ce5d4d17c6',NULL,0,'UNUSED',NULL,0,1687952810"
"'kTCCServicePostEvent','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1644565949"
"'kTCCServiceScreenCapture','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1592919552"
"'kTCCServiceAppleEvents','/bin/bash',1,2,0,1,NULL,NULL,0,'com.apple.systemevents',NULL,NULL,1591532620"
"'kTCCServiceAccessibility','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,NULL,1592919552"
# Allow Full Disk Access for "Microsoft Defender for macOS" to bypass installation on-flight
"'kTCCServiceSystemPolicyAllFiles','com.microsoft.wdav',0,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,0,1643970979"
@@ -54,6 +56,7 @@ userValuesArray=(
"'kTCCServiceAppleEvents','/bin/bash',1,2,0,1,NULL,NULL,0,'com.apple.finder',NULL,NULL,1592919552"
"'kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576347152"
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
"'kTCCServiceUbiquity','/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd',1,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619461750"
"'kTCCServiceUbiquity','com.apple.PassKitCore',0,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619516250"
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1629294900"
@@ -1,144 +0,0 @@
#!/usr/bin/env ruby
################################################################################
## File: configure-xcode-simulators.rb
## Desc: List all simulators, find duplicate type and delete them.
## Maintainer: @vlas-voloshin
## script was taken from https://gist.github.com/vlas-voloshin/f9982128200345cd3fb7
################################################################################
class SimDevice
attr_accessor :runtime
attr_accessor :name
attr_accessor :identifier
attr_accessor :timestamp
def initialize(runtime, name, identifier, timestamp)
@runtime = runtime
@name = name
@identifier = identifier
@timestamp = timestamp
end
def to_s
return "#{@name} - #{@runtime} (#{@identifier}) [#{@timestamp}]"
end
def equivalent_to_device(device)
return @runtime == device.runtime && @name == device.name
end
end
# Executes a shell command and returns the result from stdout
def execute_simctl_command(command)
return %x[xcrun simctl #{command}]
end
# Retrieves the creation date/time of simulator with specified identifier
def simulator_creation_date(identifier)
directory = Dir.home() + "/Library/Developer/CoreSimulator/Devices/" + identifier
if (Dir.exists?(directory))
if (File::Stat.method_defined?(:birthtime))
return File.stat(directory).birthtime
else
return File.stat(directory).ctime
end
else
# Simulator directory is not yet created - treat it as if it was created right now (happens with new iOS 9 sims)
return Time.now
end
end
# Deletes specified simulator
def delete_device(device)
execute_simctl_command("delete #{device.identifier}")
end
puts("Searching for simulators...")
# Retrieve the list of existing simulators
devices = []
runtime = ""
execute_simctl_command("list devices").lines.each do |line|
case line[0]
when '='
# First header, skip it
when '-'
# Runtime header
runtime = line.scan(/-- (.+?) --/).flatten[0]
else
name_and_identifier = line.scan(/\s+(.+?) \(([\w\d]+-[\w\d]+-[\w\d-]+)\)/)[0]
name = name_and_identifier[0]
identifier = name_and_identifier[1]
timestamp = simulator_creation_date(identifier)
device = SimDevice.new(runtime, name, identifier, timestamp)
devices.push(device)
end
end
# Sort the simulators by their creation timestamp, ascending
devices = devices.sort { |a, b| a.timestamp <=> b.timestamp }
duplicates = {}
# Enumerate all devices except for the last one
for i in 0..devices.count-2
device = devices[i]
# Enumerate all devices *after* this one (created *later*)
for j in i+1..devices.count-1
potential_duplicate = devices[j]
if potential_duplicate.equivalent_to_device(device)
duplicates[potential_duplicate] = device
# Break out of the inner loop if a duplicate is found - if another duplicate exists,
# it will be found when this one is reached in the outer loop
break
end
end
end
if duplicates.count == 0
puts("You don't have duplicate simulators!")
exit()
end
puts("Looks like you have #{duplicates.count} duplicate simulator#{duplicates.count > 1 ? "s" : ""}:")
duplicates.each_pair do |duplicate, original|
puts
puts("#{duplicate}")
puts("--- duplicate of ---")
puts("#{original}")
end
puts
puts("Each duplicate was determined as the one created later than the 'original'.")
puts("Deleting...")
duplicates.each_key do |duplicate|
delete_device(duplicate)
end
puts("Done!")
=begin
MIT License
Copyright (c) 2015-2019 Vlas Voloshin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
=end
@@ -1,12 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-apache.sh
## Desc: Install Apache HTTP Server
################################################################################
source ~/utils/utils.sh
brew_smart_install httpd
sudo sed -Ei '' 's/Listen .*/Listen 80/' $(brew --prefix)/etc/httpd/httpd.conf
invoke_tests "WebServers" "Apache"
@@ -6,9 +6,25 @@
source ~/utils/utils.sh
# Retrieve the latest major version of the CodeQL Action to use in the base URL for downloading the bundle.
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
releases=$(curl "${authString[@]}" -s "https://api.github.com/repos/github/codeql-action/releases")
# Get the release tags starting with v[0-9] and sort them in descending order, then parse the first one to get the major version.
codeql_action_latest_major_version=$(echo "$releases" |
jq -r '.[].tag_name' |
grep -E '^v[0-9]' |
sort -nr |
head -n 1 |
sed -E 's/^v([0-9]+).*/\1/')
if [ -z "$codeql_action_latest_major_version" ]; then
echo "Error: Unable to find the latest major version of the CodeQL Action."
exit 1
fi
# Retrieve the CLI version of the latest CodeQL bundle.
defaults_json_path=$(download_with_retry https://raw.githubusercontent.com/github/codeql-action/v2/src/defaults.json)
bundle_version=$(jq -r '.cliVersion' $defaults_json_path)
defaults_json_path=$(download_with_retry "https://raw.githubusercontent.com/github/codeql-action/v$codeql_action_latest_major_version/src/defaults.json")
bundle_version=$(jq -r '.cliVersion' "$defaults_json_path")
bundle_tag_name="codeql-bundle-v$bundle_version"
echo "Downloading CodeQL bundle $bundle_version..."
@@ -17,16 +33,16 @@ echo "Downloading CodeQL bundle $bundle_version..."
archive_path=$(download_with_retry "https://github.com/github/codeql-action/releases/download/$bundle_tag_name/codeql-bundle.tar.gz")
codeql_toolcache_path=$AGENT_TOOLSDIRECTORY/CodeQL/$bundle_version/x64
mkdir -p $codeql_toolcache_path
mkdir -p "$codeql_toolcache_path"
echo "Unpacking the downloaded CodeQL bundle archive..."
tar -xzf $archive_path -C $codeql_toolcache_path
tar -xzf "$archive_path" -C "$codeql_toolcache_path"
# Touch a file to indicate to the CodeQL Action that this bundle shipped with the toolcache. This is
# to support overriding the CodeQL version specified in defaults.json on GitHub Enterprise.
touch $codeql_toolcache_path/pinned-version
touch "$codeql_toolcache_path/pinned-version"
# Touch a file to indicate to the toolcache that setting up CodeQL is complete.
touch $codeql_toolcache_path.complete
touch "$codeql_toolcache_path.complete"
invoke_tests "Common" "CodeQL Bundle"
@@ -6,60 +6,72 @@
source ~/utils/utils.sh
# Monterey needs future review:
# aliyun-cli, gnupg, helm have issues with building from the source code.
# Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code.
common_packages=$(get_toolset_value '.brew.common_packages[]')
for package in $common_packages; do
echo "Installing $package..."
if is_Monterey && [[ $package == "xcbeautify" ]]; then
# Pin the version on Monterey as 2.0.x requires Xcode >=15.0 which is not available on OS12
xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
brew install "$xcbeautify_path"
else
if [[ $package == "packer" ]]; then
case "$package" in
packer)
# Packer has been deprecated in Homebrew. Use tap to install Packer.
brew install hashicorp/tap/packer
else
;;
kotlin)
# Pin kotlin bottle to 2.1.10 due to an issue with the latest version
# https://youtrack.jetbrains.com/issue/KT-76169/kotlinc-js-version-and-kapt-version-returning-non-zero-status-code-on-v2.1.20
kotlin_commit="442af88a2925f8c0e079eaf4fa62261133d2d7c4"
kotlin_rb_link="https://raw.githubusercontent.com/Homebrew/homebrew-core/$kotlin_commit/Formula/k/kotlin.rb"
kotlin_rb_path=$(download_with_retry "$kotlin_rb_link")
brew install "$kotlin_rb_path"
;;
cmake)
# Pin cmake bottle to 3.31.6 due to a backward compatibility issue with the latest version
# https://github.com/actions/runner-images/issues/11926
cmake_commit="b4e46db74e74a8c1650b38b1da222284ce1ec5ce"
cmake_rb_link="https://raw.githubusercontent.com/Homebrew/homebrew-core/$cmake_commit/Formula/c/cmake.rb"
cmake_rb_path=$(download_with_retry "$cmake_rb_link")
brew install "$cmake_rb_path"
;;
tcl-tk@8)
brew_smart_install "$package"
fi
fi
if is_VenturaX64 || is_SonomaX64; 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
fi
;;
# Default behaviour for all other packages
*)
brew_smart_install "$package"
;;
esac
done
cask_packages=$(get_toolset_value '.brew.cask_packages[]')
for package in $cask_packages; do
echo "Installing $package..."
if is_Monterey && [[ $package == "virtualbox" ]]; then
# Do not update VirtualBox on macOS 12 due to the issue with VMs in gurumediation state which blocks Vagrant on macOS: https://github.com/actions/runner-images/issues/8730
# macOS host: Dropped all kernel extensions. VirtualBox relies fully on the hypervisor and vmnet frameworks provided by Apple now.
virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
brew install $virtualbox_cask_path
if is_Arm64 && [[ $package == "parallels" ]]; then
echo "Parallels installation is skipped for arm64 architecture"
else
if is_Arm64 && [[ $package == "parallels" ]]; then
echo "Parallels installation is skipped for arm64 architecture"
else
brew install --cask $package
fi
brew install --cask $package
fi
done
# Load "Parallels International GmbH"
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64 || is_VenturaX64 || 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 and macOS14
# Execute AppleScript to change security preferences for macOS12, macOS13, macOS14 and macOS15
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64 || is_VenturaX64 || 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_Monterey; then
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
fi
if is_VenturaX64; then
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
fi
@@ -67,6 +79,9 @@ if is_Monterey || is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64; then
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
fi
if is_SequoiaX64; then
osascript $HOME/utils/confirm-identified-developers-macos15.scpt $USER_PASSWORD
fi
} && break
if [[ $retry -eq 0 ]]; then
@@ -80,17 +95,10 @@ if is_Monterey || is_SonomaX64 || is_VenturaX64; then
fi
# Validate "Parallels International GmbH" kext
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_Monterey; then
echo "Closing System Preferences window if it is still opened"
killall "System Preferences" || true
fi
if is_SonomaX64 || is_VenturaX64; then
echo "Closing System Settings window if it is still opened"
killall "System Settings" || true
fi
echo "Closing System Settings window if it is still opened"
killall "System Settings" || true
echo "Checking parallels kexts"
dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
@@ -1,15 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-compilable-brew-packages.sh
## Desc: Install compilable brew packages
################################################################################
source ~/utils/utils.sh
compilable_packages=$(get_toolset_value '.brew.compilable_packages[]')
for package in $compilable_packages; do
echo "Installing $package..."
brew_smart_install "$package"
done
invoke_tests "Common" "Compiled"
+6 -12
View File
@@ -23,18 +23,12 @@ dotnet_versions=($(get_toolset_value ".dotnet.arch[\"$arch\"].versions | .[]"))
for dotnet_version in ${dotnet_versions[@]}; do
release_url="https://raw.githubusercontent.com/dotnet/core/main/release-notes/${dotnet_version}/releases.json"
releases_json_file=$(download_with_retry "$release_url")
if [[ $dotnet_version == "6.0" ]]; then
args_list+=(
$(cat $releases_json_file | jq -r 'first(.releases[].sdks[]?.version | select(contains("preview") or contains("rc") | not))')
)
else
args_list+=(
$(cat $releases_json_file | \
jq -r '.releases[].sdk."version"' | grep -v -E '\-(preview|rc)\d*' | \
sort -r | rev | uniq -s 2 | rev)
)
fi
args_list+=(
$(cat $releases_json_file | \
jq -r '.releases[].sdk."version"' | \
grep -v -E '\-(preview|rc)\d*' | \
sort -r | rev | uniq -s 2 | rev)
)
done
for ARGS in ${args_list[@]}; do
+1 -1
View File
@@ -42,7 +42,7 @@ sudo mkdir "/Library/Managed Preferences"
cat <<EOF | sudo tee "/Library/Managed Preferences/com.microsoft.EdgeUpdater.plist" > /dev/null
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>updatePolicies</key>
@@ -1,16 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-golang.sh
## Desc: Install Go
################################################################################
source ~/utils/utils.sh
default_go_version=$(get_toolset_value '.go.default')
echo "Installing Go..."
brew_smart_install "go@${default_go_version}"
# Create symlinks to preserve backward compatibility. Symlinks are not created when non-latest go is being installed
ln -sf $(brew --prefix go@${default_go_version})/bin/* /usr/local/bin/
invoke_tests "Common" "Go"
@@ -1,31 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-haskell.sh
## Desc: Install Haskell
################################################################################
source ~/utils/utils.sh
curl --proto '=https' --tlsv1.2 -fsSL https://get-ghcup.haskell.org | bash
export PATH="$HOME/.ghcup/bin:$PATH"
echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> $HOME/.bashrc
# ghcup output looks like this "ghc 8.6.4 base-4.12.0.0 hls-powered", need to take all the first versions only(8.6.4 in that case) and avoid pre-release ones
availableVersions=$(ghcup list -t ghc -r | grep -v "prerelease" | awk '{print $2}')
# Install 3 latest major versions(For instance 8.6.5, 8.8.4, 8.10.2)
minorMajorVersions=$(echo "$availableVersions" | cut -d"." -f 1,2 | uniq | tail -n3)
for majorMinorVersion in $minorMajorVersions; do
fullVersion=$(echo "$availableVersions" | grep "$majorMinorVersion." | tail -n1)
echo "install ghc version $fullVersion..."
ghcup install $fullVersion
ghcup set $fullVersion
done
echo "install cabal..."
ghcup install-cabal
echo "Updating stack..."
ghcup install stack latest
invoke_tests "Haskell"
@@ -38,6 +38,3 @@ brew_smart_install curl
echo "Installing wget..."
brew_smart_install "wget"
# init brew bundle feature
brew tap Homebrew/bundle
@@ -1,24 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-miniconda.sh
## Desc: Install Miniconda
################################################################################
source ~/utils/utils.sh
miniconda_installer_path=$(download_with_retry "https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh")
chmod +x $miniconda_installer_path
sudo $miniconda_installer_path -b -p /usr/local/miniconda
# Chmod with full permissions recursively to avoid permissions restrictions
sudo chmod -R 777 /usr/local/miniconda
sudo ln -s /usr/local/miniconda/bin/conda /usr/local/bin/conda
if [[ -d $HOME/.conda ]]; then
sudo chown -R $USER $HOME/.conda
fi
echo "export CONDA=/usr/local/miniconda" >> $HOME/.bashrc
invoke_tests "Common" "Miniconda"
@@ -1,23 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-mongodb.sh
## Desc: Install MongoDB
################################################################################
source ~/utils/utils.sh
# MongoDB object-value database
# Install latest release version of MongoDB Community Edition
# https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x
toolsetVersion=$(get_toolset_value '.mongodb.version')
brew tap mongodb/brew
versionToInstall=$(brew search --formulae /mongodb-community@$toolsetVersion/ | awk -F'/' '{print $3}' | tail -1)
echo "Installing mongodb $versionToInstall"
brew_smart_install $versionToInstall
if ! which mongo ; then
brew link $versionToInstall
fi
invoke_tests "Databases" "MongoDB"
+2 -2
View File
@@ -47,5 +47,5 @@ sudo mv $nunit3_console_wrapper "${MONO_VERSIONS_PATH}/${mono_version}/Commands/
echo "Creating short symlink '${mono_version_short}'..."
sudo ln -s ${MONO_VERSIONS_PATH}/${mono_version} ${MONO_VERSIONS_PATH}/${mono_version_short}
# Invoke tests for Xamarin and Mono
invoke_tests "Xamarin" "Mono"
# Invoke tests and Mono
invoke_tests "Mono"
@@ -16,12 +16,4 @@ echo Installing yarn...
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
bash $yarn_installer_path
if is_Monterey; then
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
for module in ${npm_global_packages[@]}; do
echo "Install $module"
npm install -g $module
done
fi
invoke_tests "Node" "Node.js"
-36
View File
@@ -1,36 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-nvm.sh
## Desc: Install node version manager
################################################################################
source ~/utils/utils.sh
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
nvm_version=$(get_toolset_value '.node.nvm_installer')
if [[ -z $nvm_version || "$nvm_version" == "latest" ]]; then
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
fi
if [[ $nvm_version != "v*" ]]; then
nvm_version="v${nvm_version}"
fi
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
if bash $nvm_installer_path; then
source ~/.bashrc
nvm --version
for version in $(get_toolset_value '.node.nvm_versions[]'); do
nvm install "v${version}"
done
# set system node as default
nvm alias default system
echo "Node version manager has been installed successfully"
else
echo "Node version manager installation failed"
fi
invoke_tests "Node" "nvm"
@@ -1,18 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-pipx-packages.sh
## Desc: Install Pipx Packages
################################################################################
source ~/utils/utils.sh
export PATH="$PATH:/opt/pipx_bin"
pipx_packages=$(get_toolset_value '.pipx[].package')
for package in $pipx_packages; do
echo "Install $package into default python"
pipx install $package
done
invoke_tests "PipxPackages"
@@ -1,15 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-pkg-config.sh
## Desc: Install pkg-config
################################################################################
source ~/utils/utils.sh
echo "Installing pkg-config..."
brew tap-new my-org/old-formulas
brew extract pkg-config my-org/old-formulas --version=0.29.2
brew install my-org/old-formulas/[email protected]
invoke_tests "Common" "pkg-config"
@@ -8,30 +8,6 @@ source ~/utils/utils.sh
echo "Installing Python Tooling"
if is_Monterey; then
echo "Install latest Python 2"
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
use_checksum_comparison $python2_pkg $python2_pkg_sha256
choice_changes_xml=$(mktemp /tmp/python2_choice_changes.xml.XXXXXX)
sudo installer -showChoiceChangesXML -pkg $python2_pkg -target / | tee $choice_changes_xml > /dev/null
# To avoid symlink conflicts, remove tools installation in /usr/local/bin using installer choices
xmllint --shell $choice_changes_xml <<EOF
cd //array/dict[string[text()='org.python.Python.PythonUnixTools-2.7']]/integer
set 0
save
EOF
sudo installer -applyChoiceChangesXML $choice_changes_xml -pkg $python2_pkg -target /
pip install --upgrade pip
echo "Install Python2 certificates"
bash -c "/Applications/Python\ 2.7/Install\ Certificates.command"
fi
# Close Finder window
close_finder_window
+32 -31
View File
@@ -12,8 +12,10 @@ echo "Installing Ruby..."
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
if [[ $arch == "arm64" ]]; then
export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
ruby_suffix="macos-13-arm64"
else
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
ruby_suffix="macos-latest"
fi
GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}')
@@ -24,37 +26,36 @@ else
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc
fi
if ! is_Arm64; then
echo "Install Ruby from toolset..."
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
echo "Install Ruby from toolset..."
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
echo "Check if Ruby hostedtoolcache folder exists..."
if [[ ! -d $RUBY_PATH ]]; then
mkdir -p $RUBY_PATH
fi
echo "ruby path - $RUBY_PATH "
for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2)
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION"
echo "Create Ruby $RUBY_VERSION directory..."
mkdir -p $RUBY_VERSION_PATH
echo "Downloading tar archive $PACKAGE_TAR_NAME"
ARCHIVE_PATH=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}")
echo "Expand $PACKAGE_TAR_NAME to the $RUBY_VERSION_PATH folder"
tar xf $ARCHIVE_PATH -C $RUBY_VERSION_PATH
COMPLETE_FILE_PATH=$RUBY_VERSION_PATH/x64.complete
if [[ ! -f $COMPLETE_FILE_PATH ]]; then
echo "Create complete file"
touch $COMPLETE_FILE_PATH
fi
done
echo "Check if Ruby hostedtoolcache folder exists..."
if [[ ! -d $RUBY_PATH ]]; then
mkdir -p $RUBY_PATH
fi
echo "ruby path - $RUBY_PATH"
invoke_tests "Ruby.$arch"
for toolset_version in ${TOOLSET_VERSIONS[@]}; do
package_tar_name=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${toolset_version}-${ruby_suffix}.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
ruby_version=$(echo "$package_tar_name" | cut -d'-' -f 2)
ruby_version_path="$RUBY_PATH/$ruby_version"
echo "Create Ruby $ruby_version directory..."
mkdir -p $ruby_version_path
echo "Downloading tar archive $package_tar_name"
archive_path=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${package_tar_name}")
echo "Expand $package_tar_name to the $ruby_version_path folder"
tar xf $archive_path -C $ruby_version_path
complete_file_path=$ruby_version_path/$arch.complete
if [[ ! -f $complete_file_path ]]; then
echo "Create complete file"
touch $complete_file_path
fi
done
invoke_tests "Ruby"
@@ -9,8 +9,8 @@ source ~/utils/utils.sh
echo "Updating RubyGems..."
gem update --system
# Temporarily install activesupport 7.0.8 due to compatibility issues with cocoapods https://github.com/CocoaPods/CocoaPods/issues/12081
gem install activesupport -v 7.0.8
# Temporarily install activesupport 7.2.2.1 due to compatibility issues with cocoapods https://github.com/CocoaPods/CocoaPods/issues/12081
gem install activesupport -v 7.2.2.1
gemsToInstall=$(get_toolset_value '.ruby.rubygems | .[]')
if [[ -n $gemsToInstall ]]; then
@@ -0,0 +1,21 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-runner-package.sh
## Desc: Download and Install runner package
################################################################################
# Source the helpers for use with the script
source ~/utils/utils.sh
AGENT_PATH="/opt/runner-cache"
arch=$(get_arch)
download_url=$(resolve_github_release_asset_url "actions/runner" 'test("actions-runner-osx-'"$arch"'-[0-9]+\\.[0-9]{3}\\.[0-9]+\\.tar\\.gz$")' "latest" "$API_PAT")
archive_name="${download_url##*/}"
archive_path=$(download_with_retry "$download_url")
if [[ ! -d $AGENT_PATH ]]; then
sudo mkdir -p -m 775 $AGENT_PATH
sudo chown $USER:admin $AGENT_PATH
fi
sudo mv "$archive_path" "$AGENT_PATH/$archive_name"
@@ -18,10 +18,6 @@ CARGO_HOME=$HOME/.cargo
echo "Install common tools..."
rustup component add rustfmt clippy
if is_Monterey; then
cargo install bindgen-cli cbindgen cargo-audit cargo-outdated
fi
echo "Cleanup Cargo registry cached data..."
rm -rf $CARGO_HOME/registry/*
@@ -7,15 +7,7 @@
source ~/utils/utils.sh
echo "Installing Swiftlint..."
if is_Monterey; then
# SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb"
curl -fsSL $FORMULA_URL > $(find $(brew --repository) -name swiftlint.rb)
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install swiftlint
else
brew_smart_install "swiftlint"
fi
brew_smart_install "swiftlint"
invoke_tests "Linters" "SwiftLint"
+3 -10
View File
@@ -10,18 +10,11 @@ source ~/utils/utils.sh
VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg
echo "export VCPKG_INSTALLATION_ROOT=${VCPKG_INSTALLATION_ROOT}" | tee -a ~/.bashrc
# workaround https://github.com/microsoft/vcpkg/issues/27786
mkdir -p /Users/runner/.vcpkg
touch /Users/runner/.vcpkg/vcpkg.path.txt
# Install vcpkg
git clone https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT
$VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh
sudo git clone https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT
sudo $VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh
$VCPKG_INSTALLATION_ROOT/vcpkg integrate install
chmod -R 0777 $VCPKG_INSTALLATION_ROOT
sudo chmod -R 0777 $VCPKG_INSTALLATION_ROOT
ln -sf $VCPKG_INSTALLATION_ROOT/vcpkg /usr/local/bin
rm -rf /Users/runner/.vcpkg
invoke_tests "Common" "vcpkg"
@@ -1,52 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-visualstudio.sh
## Desc: Install Visual Studio
################################################################################
source ~/utils/utils.sh
source ~/utils/xamarin-utils.sh
install_vsmac() {
local vsmac_version=$1
local vsmac_default=$2
if [[ $vsmac_version == "2019" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
elif [[ $vsmac_version == "2022" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/stable-2022" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
elif [[ $vsmac_version == "preview" ]]; then
vsmac_download_url=$(curl -fsSL "https://aka.ms/manifest/preview" | jq -r '.items[] | select(.genericName=="VisualStudioMac").url')
else
vsmac_download_url=$(buildVSMacDownloadUrl $vsmac_version)
fi
echo "Installing Visual Studio ${vsmac_version} for Mac"
TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX)
mkdir -p "$TMPMOUNT/downloads"
vsmac_installer=$(download_with_retry $vsmac_download_url "$TMPMOUNT/downloads/${vsmac_download_url##*/}")
echo "Mounting Visual Studio..."
hdiutil attach $vsmac_installer -mountpoint $TMPMOUNT
echo "Moving Visual Studio to /Applications/..."
pushd $TMPMOUNT
tar cf - "./Visual Studio.app" | tar xf - -C /Applications/
if [[ $vsmac_version != $vsmac_default ]]; then
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio ${vsmac_version}.app"
fi
popd
sudo hdiutil detach $TMPMOUNT
sudo rm -rf $TMPMOUNT
}
vsmac_versions=($(get_toolset_value '.xamarin.vsmac.versions[]'))
default_vsmac_version=$(get_toolset_value '.xamarin.vsmac.default')
for version in ${vsmac_versions[@]}; do
install_vsmac $version $default_vsmac_version
done
invoke_tests "Common" "VSMac"
@@ -1,92 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-xamarin.sh
## Desc: Install Xamarin
################################################################################
source ~/utils/utils.sh
source ~/utils/xamarin-utils.sh
mono_versions=($(get_toolset_value '.xamarin."mono_versions" | reverse | .[]'))
xamarin_ios_versions=($(get_toolset_value '.xamarin."ios_versions" | reverse | .[]'))
xamarin_mac_versions=($(get_toolset_value '.xamarin."mac_versions" | reverse | .[]'))
xamarin_android_versions=($(get_toolset_value '.xamarin."android_versions" | reverse | .[]'))
latest_sdk_symlink=$(get_toolset_value '.xamarin.bundles[0].symlink')
current_sdk_symlink=$(get_toolset_value '.xamarin."bundle_default"')
default_xcode_version=$(get_toolset_value '.xcode.default')
if [[ $current_sdk_symlink == "latest" ]]; then
current_sdk_symlink=$latest_sdk_symlink
fi
MONO_VERSIONS_PATH="/Library/Frameworks/Mono.framework/Versions"
IOS_VERSIONS_PATH="/Library/Frameworks/Xamarin.iOS.framework/Versions"
ANDROID_VERSIONS_PATH="/Library/Frameworks/Xamarin.Android.framework/Versions"
MAC_VERSIONS_PATH="/Library/Frameworks/Xamarin.Mac.framework/Versions"
TMPMOUNT=$(/usr/bin/mktemp -d /tmp/visualstudio.XXXX)
TMPMOUNT_FRAMEWORKS=$TMPMOUNT/frameworks
createBackupFolders
pushd $TMPMOUNT
# Download NUnit console
downloadNUnitConsole
# Install Mono sdks
for version in ${mono_versions[@]}; do installMono $version; done
sudo mv -v $TMPMOUNT_FRAMEWORKS/mono/* $MONO_VERSIONS_PATH/
# Install Xamarin.iOS sdks
for version in ${xamarin_ios_versions[@]}; do installXamarinIOS $version; done
sudo mv -v $TMPMOUNT_FRAMEWORKS/ios/* $IOS_VERSIONS_PATH/
# Install Xamarin.Mac sdks
for version in ${xamarin_mac_versions[@]}; do installXamarinMac $version; done
sudo mv -v $TMPMOUNT_FRAMEWORKS/mac/* $MAC_VERSIONS_PATH/
# Install Xamarin.Android sdks
for version in ${xamarin_android_versions[@]}; do installXamarinAndroid $version; done
sudo mv -v $TMPMOUNT_FRAMEWORKS/android/* $ANDROID_VERSIONS_PATH/
# Create bundles
bundles_count=$(get_toolset_value '.xamarin.bundles | length')
for ((bundle_index=0; bundle_index<bundles_count; bundle_index++)); do
symlink=$(get_toolset_value ".xamarin.bundles[$bundle_index].symlink")
mono=$(get_toolset_value ".xamarin.bundles[$bundle_index].mono")
ios=$(get_toolset_value ".xamarin.bundles[$bundle_index].ios")
mac=$(get_toolset_value ".xamarin.bundles[$bundle_index].mac")
android=$(get_toolset_value ".xamarin.bundles[$bundle_index].android")
createBundle $symlink $mono $ios $mac $android
done
# Symlinks for the latest Xamarin bundle
createBundleLink $latest_sdk_symlink "Latest"
createBundleLink $current_sdk_symlink "Current"
#
# Fix nuget in some mono versions because of known bugs
#
# Creating UWP Shim to hack UWP build failure
createUWPShim
popd
echo "Clean up packages..."
sudo rm -rf $TMPMOUNT
# Fix Xamarin issue with Xcode symlink: https://github.com/xamarin/xamarin-macios/issues/9960
PREFERENCES_XAMARIN_DIR="${HOME}/Library/Preferences/Xamarin"
mkdir -p $PREFERENCES_XAMARIN_DIR
/usr/libexec/PlistBuddy -c "add :AppleSdkRoot string /Applications/Xcode_${default_xcode_version}.app" $PREFERENCES_XAMARIN_DIR/Settings.plist
# Temporary workaround to recreate nuget.config file with a correct feed https://github.com/actions/runner-images/issues/5768
rm -rf $HOME/.config/NuGet/NuGet.Config
nuget config
# Temporary workaround to point Mono to the proper NUnit console
sudo sed -Ei '' 's/3.6.0/3.6.1/' /Library/Frameworks/Mono.framework/Versions/Current/Commands/nunit3-console
invoke_tests "Xamarin"
@@ -13,10 +13,8 @@ Import-Module "$PSScriptRoot/SoftwareReport.Common.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Xcode.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Android.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Java.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Xamarin.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Toolcache.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Browsers.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.WebServers.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/SoftwareReport.Helpers.psm1" -DisableNameChecking
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Xcode.Helpers.psm1"
@@ -38,37 +36,16 @@ $languageAndRuntime.AddToolVersion("Bash", $(Get-BashVersion))
$languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
$languageAndRuntime.AddNodes($(Get-GccVersions))
$languageAndRuntime.AddNodes($(Get-FortranVersions))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
}
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
}
if ((-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
}
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
}
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
}
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
}
$languageAndRuntime.AddToolVersion("Ruby", $(Get-RubyVersion))
# Package Management
@@ -80,37 +57,23 @@ if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSeq
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
}
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
}
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
if ((-not $os.IsSequoia)) {
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
}
$packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
$packageManagement.AddToolVersion("Pip3", $(Get-Pip3Version))
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
if (-not $os.IsVenturaArm64) {
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
}
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
}
# Project Management
$projectManagement = $installedSoftware.AddHeader("Project Management")
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
}
# Utilities
$utilities = $installedSoftware.AddHeader("Utilities")
@@ -127,62 +90,27 @@ $utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion))
$utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion))
$utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion))
$utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
}
$utilities.AddToolVersion("jq", $(Get-JqVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
}
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
$utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
$utilities.AddToolVersion("Subversion (SVN)", $(Get-SVNVersion))
$utilities.AddToolVersion("Switchaudio-osx", $(Get-SwitchAudioOsxVersion))
}
if ($os.IsMonterey) {
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
}
$utilities.AddToolVersion("pkgconf", $(Get-PKGConfVersion))
$utilities.AddToolVersion("Unxip", $(Get-UnxipVersion))
$utilities.AddToolVersion("yq", $(Get-YqVersion))
$utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
$utilities.AddToolVersion("Ninja", $(Get-NinjaVersion))
# Tools
$tools = $installedSoftware.AddHeader("Tools")
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
}
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
}
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
$tools.AddToolVersion("CodeQL Action Bundle", $(Get-CodeQLBundleVersion))
if ($os.IsMonterey) {
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
}
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
$tools.AddToolVersion("Stack", $(Get-StackVersion))
}
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
}
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
@@ -192,9 +120,6 @@ $linters = $installedSoftware.AddHeader("Linters")
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
}
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
}
# Browsers
$browsers = $installedSoftware.AddHeader("Browsers")
@@ -217,12 +142,6 @@ $rust.AddToolVersion("Rustdoc", $(Get-RustdocVersion))
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
$rustPackages = $rust.AddHeader("Packages")
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
$rustPackages.AddToolVersion("Cbindgen", $(Get-Cbindgen))
}
$rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion))
$rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion))
@@ -233,33 +152,6 @@ $powerShell.AddToolVersion("PowerShell", $(Get-PowershellVersion))
$powerShellModules = $powerShell.AddHeader("PowerShell Modules")
$powerShellModules.AddNodes($(Get-PowerShellModules))
# Web Servers
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$webServers = $installedSoftware.AddHeader("Web Servers")
$webServers.AddTable($(Build-WebServersSection))
}
# Xamarin section
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$xamarin = $installedSoftware.AddHeader("Xamarin")
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
$vsForMac.AddTable($(Build-VSMacTable))
$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)
$xamarinBundles = $xamarin.AddHeader("Xamarin bundles")
$xamarinBundles.AddTable($(Build-XamarinTable))
$unitTestFramework = $xamarin.AddHeader("Unit Test Framework")
$unitTestFramework.AddToolVersion("NUnit", $(Get-NUnitVersion))
}
# Xcode section
$xcode = $installedSoftware.AddHeader("Xcode")
# First run doesn't provide full data about devices and runtimes
@@ -267,10 +159,6 @@ Get-XcodeInfoList | Out-Null
$xcodeInfo = Get-XcodeInfoList
$xcode.AddTable($(Build-XcodeTable $xcodeInfo))
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
$xcodeTools = $xcode.AddHeader("Xcode Support Tools")
$xcodeTools.AddNodes($(Build-XcodeSupportToolsSection))
}
$installedSdks = $xcode.AddHeader("Installed SDKs")
$installedSdks.AddTable($(Build-XcodeSDKTable $xcodeInfo))
@@ -286,20 +174,15 @@ $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
if ($os.IsMonterey) {
if ($os.IsSonoma -or $os.IsVentura -or $os.IsSequoiaX64) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
$miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion))
}
if ($os.IsSonoma -or $os.IsVentura) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
}
if ($os.IsMonterey -or $os.IsSonomaX64 -or $os.IsVenturaX64) {
if ($os.IsSonomaX64 -or $os.IsVenturaX64 -or $os.IsSequoiaX64) {
Write-Host "Adding environment variables for parallels"
@@ -15,12 +15,12 @@ function Build-BrowserSection {
$nodes += @(
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
[ToolVersionNode]::new("Mozilla Firefox", $(Get-FirefoxVersion))
[ToolVersionNode]::new("geckodriver", $(Get-GeckodriverVersion))
)
}
$nodes += @(
[ToolVersionNode]::new("Mozilla Firefox", $(Get-FirefoxVersion))
[ToolVersionNode]::new("geckodriver", $(Get-GeckodriverVersion))
[ToolVersionNode]::new("Selenium server", $(Get-SeleniumVersion))
)
@@ -10,20 +10,6 @@ function Get-DotnetVersionList {
return $sdkRawList | ForEach-Object { Take-Part $_ -Part 0 }
}
function Get-GoVersion {
$goOutput = Run-Command "go version" | Take-Part -Part 2
if ($goOutput.StartsWith("go")) {
$goOutput = $goOutput.Substring(2)
}
return $goOutput
}
function Get-RVersion {
$rVersion = Run-Command "R --version | grep 'R version'" | Take-Part -Part 2
return $rVersion
}
function Get-RustVersion {
$rustVersion = Run-Command "rustc --version" | Take-Part -Part 1
return $rustVersion
@@ -49,26 +35,6 @@ function Get-RustClippyVersion {
return $version
}
function Get-Bindgen {
$bindgenVersion = Run-Command "bindgen --version" | Take-Part -Part 1
return $bindgenVersion
}
function Get-Cbindgen {
$cbindgenVersion = Run-Command "cbindgen --version" | Take-Part -Part 1
return $cbindgenVersion
}
function Get-Cargooutdated {
$cargoOutdatedVersion = Run-Command "cargo outdated --version" | Take-Part -Part 1
return $cargoOutdatedVersion
}
function Get-Cargoaudit {
$cargoAuditVersion = Run-Command "cargo-audit --version" | Take-Part -Part 1
return $cargoAuditVersion
}
function Get-RustupVersion {
$rustupVersion = Run-Command "rustup --version" | Select-Object -First 1 | Take-Part -Part 1
return $rustupVersion
@@ -114,20 +80,8 @@ function Get-ClangLLVMVersions {
)
}
function Get-NVMVersion {
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
$nvmInitCommand = ". ${nvmPath} > /dev/null 2>&1 || true"
$nodejsVersion = Run-Command "${nvmInitCommand} && nvm --version"
return $nodejsVersion
}
function Get-PipVersion {
param (
[Parameter(Mandatory)][ValidateRange(2, 3)]
[int] $Version
)
$command = If ($Version -eq 2) { "/Library/Frameworks/Python.framework/Versions/2.7/bin/pip --version" } Else { "pip3 --version" }
function Get-Pip3Version {
$command = "pip3 --version"
$commandOutput = Run-Command $command
$versionPart1 = $commandOutput | Take-Part -Part 1
$versionPart2 = $commandOutput | Take-Part -Part 4
@@ -140,14 +94,6 @@ function Get-PipxVersion {
return $pipxVersion
}
function Get-NVMNodeVersionList {
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
$nvmInitCommand = ". ${nvmPath} > /dev/null 2>&1 || true"
$nodejsVersionsRaw = Run-Command "${nvmInitCommand} && nvm ls"
$nodeVersions = $nodejsVersionsRaw | ForEach-Object { $_.TrimStart(" ").TrimEnd(" *") } | Where-Object { $_.StartsWith("v") }
return $nodeVersions | ForEach-Object { $_.TrimStart("v") }
}
function Build-OSInfoSection {
param (
[string] $ImageName
@@ -173,12 +119,6 @@ function Get-MonoVersion {
return $monoVersion
}
function Get-MSBuildVersion {
$msbuildVersion = Run-Command "msbuild -version" | Select-Object -Last 1
$monoVersion = Get-MonoVersion
return "$msbuildVersion (Mono $monoVersion)"
}
function Get-NodeVersion {
$nodeVersion = Run-Command "node --version"
return $nodeVersion.TrimStart("v")
@@ -189,11 +129,6 @@ function Get-PerlVersion {
return $version
}
function Get-PythonVersion {
$pythonVersion = Run-Command "/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version"
return ($pythonVersion -replace "^Python").Trim()
}
function Get-Python3Version {
$python3Version = Run-Command "python3 --version"
return ($python3Version -replace "^Python").Trim()
@@ -209,11 +144,6 @@ function Get-PHPVersion {
return ($PHPVersion -replace "^PHP").Trim()
}
function Get-JuliaVersion {
$juliaVersion = Run-Command "julia --version" | Take-Part -Part 0,2
return ($juliaVersion -replace "^Julia").Trim()
}
function Get-BundlerVersion {
$bundlerVersion = Run-Command "bundle --version"
return ($bundlerVersion -replace "^Bundler version").Trim()
@@ -249,11 +179,6 @@ function Get-NuGetVersion {
return $nugetVersion
}
function Get-CondaVersion {
$condaVersion = Run-Command "conda --version"
return ($condaVersion -replace "^conda").Trim()
}
function Get-RubyGemsVersion {
$rubyGemsVersion = Run-Command "gem --version"
return $rubyGemsVersion
@@ -305,11 +230,6 @@ function Get-WgetVersion {
return $wgetVersion
}
function Get-SVNVersion {
$svnVersion = Run-Command "svn --version --quiet"
return $svnVersion
}
function Get-PackerVersion {
# Packer 1.7.1 has a bug and outputs version to stderr instead of stdout https://github.com/hashicorp/packer/issues/10855
$result = Run-Command "packer --version"
@@ -332,16 +252,6 @@ function Get-GPGVersion {
return ($gpgVersion.Line -replace "^gpg \(GnuPG\)").Trim()
}
function Get-PostgresClientVersion {
$postgresClientVersion = Run-Command "psql --version"
return ($postgresClientVersion -replace "^psql \(PostgreSQL\)").Trim()
}
function Get-PostgresServerVersion {
$postgresServerVersion = Run-Command "pg_config --version"
return ($postgresServerVersion -replace "^PostgreSQL").Trim()
}
function Get-Aria2Version {
$aria2Version = Run-Command "aria2c --version" | Select-Object -First 1 | Take-Part -Part 2
return $aria2Version
@@ -367,16 +277,6 @@ function Get-BazeliskVersion {
return ($bazeliskVersion -replace "^bazelisk").Trim()
}
function Get-MongoVersion {
$mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
return $mongo.TrimStart("v").Trim()
}
function Get-MongodVersion {
$mongod = Run-Command "mongod --version" | Select-String "db version " | Take-Part -Part 2
return $mongod.TrimStart("v").Trim()
}
function Get-7zipVersion {
$7zip = Run-Command "7z i" | Select-String "7-Zip" | Take-Part -Part 0,2
return ($7zip -replace "^7-Zip").Trim()
@@ -392,16 +292,6 @@ function Get-BsdtarVersion {
return "$bsdtar - available by 'tar' alias"
}
function Get-VirtualBoxVersion {
$virtualBox = Run-Command "vboxmanage -v"
return $virtualBox
}
function Get-VagrantVersion {
$vagrant = Run-Command "vagrant -v"
return ($vagrant -replace "^Vagrant").Trim()
}
function Get-ParallelVersion {
$parallelVersion = Run-Command "parallel --version" | Select-String "GNU parallel" | Select-Object -First 1
return ($parallelVersion -replace "^GNU parallel").Trim()
@@ -417,11 +307,6 @@ function Get-CmakeVersion {
return $cmakeVersion
}
function Get-AppCenterCLIVersion {
$appcenterCLIVersion = Run-Command "appcenter --version" | Take-Part -Part 2
return $appcenterCLIVersion
}
function Get-AzureCLIVersion {
$azureCLIVersion = (az version | ConvertFrom-Json).'azure-cli'
return $azureCLIVersion
@@ -447,46 +332,11 @@ function Get-AWSSessionManagerCLIVersion {
return $awsSessionManagerVersion
}
function Get-GHCupVersion {
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
return $ghcUpVersion
}
function Get-GHCVersion {
$ghcVersion = Run-Command "ghc --version" | Take-Part -Part 7
return $ghcVersion
}
function Get-CabalVersion {
$cabalVersion = Run-Command "cabal --version" | Take-Part -Part 3
return $cabalVersion
}
function Get-SwitchAudioOsxVersion {
$switchAudioVersion = Get-BrewPackageVersion -CommandName "SwitchAudioSource"
return $switchAudioVersion
}
function Get-SoxVersion {
$soxVersion = Get-BrewPackageVersion -CommandName "sox"
return $soxVersion
}
function Get-StackVersion {
$stackVersion = Run-Command "stack --version" | Take-Part -Part 1 | ForEach-Object {$_.replace(",","")}
return $stackVersion
}
function Get-SwiftFormatVersion {
$swiftFormatVersion = Run-Command "swiftformat --version"
return $swiftFormatVersion
}
function Get-YamllintVersion {
$yamllintVersion = Run-Command "yamllint --version"
return ($yamllintVersion -replace "^Yamllint").Trim()
}
function Get-SwiftLintVersion {
$swiftlintVersion = Run-Command "swiftlint version"
return $swiftlintVersion
@@ -497,11 +347,6 @@ function Get-PowershellVersion {
return ($powershellVersion -replace "^PowerShell").Trim()
}
function Get-SwigVersion {
$swigVersion = Run-Command "swig -version" | Select-Object -First 2 | Take-Part -Part 2
return $swigVersion
}
function Get-BicepVersion {
$bicepVersion = Run-Command "bicep --version" | Take-Part -Part 3
return $bicepVersion
@@ -512,31 +357,6 @@ function Get-KotlinVersion {
return $kotlinVersion
}
function Get-SbtVersion {
$sbtVersion = Run-Command "sbt -version" | Take-Part -Part 3
return $sbtVersion
}
function Get-JazzyVersion {
$jazzyVersion = Run-Command "jazzy --version" | Take-Part -Part 2
return $jazzyVersion
}
function Get-ZlibVersion {
$zlibVersion = (Run-Command "brew info --json zlib" | ConvertFrom-Json).installed.version
return $zlibVersion
}
function Get-LibXftVersion {
$libXftVersion = (Run-Command "brew info --json libxft" | ConvertFrom-Json).installed.version
return $libXftVersion
}
function Get-LibXextVersion {
$libXextVersion = (Run-Command "brew info --json libxext" | ConvertFrom-Json).installed.version
return $libXextVersion
}
function Get-TclTkVersion {
$tcltkVersion = (Run-Command "brew info --json tcl-tk@8" | ConvertFrom-Json).installed.version
return $tcltkVersion
@@ -548,35 +368,6 @@ function Get-YqVersion {
return ($Matches[0])
}
function Get-ImageMagickVersion {
$imagemagickVersion = Run-Command "magick --version" | Select-Object -First 1 | Take-Part -Part 1,2
return ($imagemagickVersion -replace "^ImageMagick").Trim()
}
function Build-PackageManagementEnvironmentTable {
$node = [HeaderNode]::new("Environment variables")
$table = @(
@{
"Name" = "CONDA"
"Value" = $env:CONDA
},
@{
"Name" = "VCPKG_INSTALLATION_ROOT"
"Value" = $env:VCPKG_INSTALLATION_ROOT
}
) | ForEach-Object {
[PSCustomObject] @{
"Name" = $_.Name
"Value" = $_.Value
}
}
$node.AddTable($table)
return $node
}
function Build-MiscellaneousEnvironmentTable {
return @(
@{
@@ -591,7 +382,6 @@ function Build-MiscellaneousEnvironmentTable {
}
}
function Get-CodeQLBundleVersion {
$CodeQLVersionWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
$CodeQLVersionPath = Get-ChildItem $CodeQLVersionWildcard | Select-Object -First 1 -Expand FullName
@@ -600,14 +390,9 @@ function Get-CodeQLBundleVersion {
return $CodeQLVersion
}
function Get-ColimaVersion {
$colimaVersion = Run-Command "colima version" | Select-String "colima version" | Take-Part -Part 2
return $colimaVersion
}
function Get-PKGConfigVersion {
$pkgconfigVersion = Run-Command "pkg-config --version"
return $pkgconfigVersion
function Get-PKGConfVersion {
$pkgconfVersion = Run-Command "pkgconf --version"
return $pkgconfVersion
}
function Get-XcbeautifyVersion {
@@ -624,3 +409,7 @@ function Get-UnxipVersion {
$unxipVersion = Run-Command "unxip --version" | Take-Part -Part 1
return $unxipVersion
}
function Get-NinjaVersion {
return $(ninja --version)
}
@@ -42,13 +42,9 @@ function Build-ToolcacheSection {
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
)
}
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
$nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
)
}
$nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
[ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"),
[ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List")
@@ -1,36 +0,0 @@
function Get-ApacheVersion {
$name = "httpd"
$port = 80
$version = brew list $name --versions | Take-Part -Part 1
$serviceStatus = (brew services list) -match $name | Take-Part -Part 1
$configFile = "$(brew --prefix)/etc/httpd/httpd.conf"
return [PsCustomObject]@{
"Name" = $name
"Version" = $version
"ConfigFile" = $configFile
"ServiceStatus" = $serviceStatus
"ListenPort" = $port
}
}
function Get-NginxVersion {
$name = "nginx"
$port = 80
$version = brew list $name --versions | Take-Part -Part 1
$serviceStatus = (brew services list) -match $name | Take-Part -Part 1
$configFile = "$(brew --prefix)/etc/nginx/nginx.conf"
return [PsCustomObject]@{
"Name" = $name
"Version" = $version
"ConfigFile" = $configFile
"ServiceStatus" = $serviceStatus
"ListenPort" = $port
}
}
function Build-WebServersSection {
return @(
(Get-ApacheVersion),
(Get-NginxVersion)
)
}
@@ -1,48 +0,0 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
function Build-VSMacTable {
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
return $vsMacVersions | ForEach-Object {
$isDefault = $_ -eq $defaultVSMacVersion
$vsPath = "/Applications/Visual Studio $_.app"
if ($isDefault) {
$vsPath = "/Applications/Visual Studio.app"
}
$plistPath = "$vsPath/Contents/Info.plist"
$build = Run-Command "/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' '$plistPath'"
$defaultPostfix = $isDefault ? " (default)" : ""
[PSCustomObject] @{
"Version" = $_ + $defaultPostfix
"Build" = $build
"Path" = $vsPath
}
}
}
function Get-NUnitVersion {
$version = Run-Command "nunit3-console --version" | Select-Object -First 1 | Take-Part -Part 3
return $version
}
function Build-XamarinTable {
$xamarinBundles = (Get-ToolsetContent).xamarin.bundles
$defaultSymlink = (Get-ToolsetContent).xamarin.bundle_default
if ($defaultSymlink -eq "latest") {
$defaultSymlink = $xamarinBundles[0].symlink
}
return $xamarinBundles | ForEach-Object {
$defaultPostfix = ($_.symlink -eq $defaultSymlink ) ? " (default)" : ""
[PSCustomObject] @{
"symlink" = $_.symlink + $defaultPostfix
"Xamarin.Mono" = $_.mono
"Xamarin.iOS" = $_.ios
"Xamarin.Mac" = $_.mac
"Xamarin.Android" = $_.android
}
}
}
@@ -72,6 +72,8 @@ function Get-XcodePlatformOrder {
"Simulator - tvOS" { 5 }
"watchOS" { 6 }
"Simulator - watchOS" { 7 }
"visionOS" { 8 }
"Simulator - visionOS" { 9 }
Default { 100 }
}
}
@@ -237,22 +239,3 @@ function Build-XcodeSimulatorsTable {
return [System.Version]::Parse($sdkNameParts[-1])
}
}
function Build-XcodeSupportToolsSection {
$toolNodes = @()
$xcpretty = Run-Command "xcpretty --version"
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
if ($os.IsMonterey) {
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
}
$nomadOutput = Run-Command "gem list nomad-cli"
$nomadCLI = [regex]::matches($nomadOutput, "(\d+.){2}\d+").Value
$nomadShenzhenOutput = Run-Command "ipa -version"
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
return $toolNodes
}
@@ -29,7 +29,6 @@ function Get-OSVersion {
Version = $osVersion.Version
Platform = $osVersion.Platform
IsArm64 = $processorArchitecture -eq "arm64"
IsMonterey = $osVersion.Version.Major -eq "12"
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")
@@ -165,10 +165,6 @@ function Invoke-XcodeRunFirstLaunch {
[string] $Version
)
if ($Version.StartsWith("8") -or $Version.StartsWith("9")) {
return
}
Write-Host "Running 'runFirstLaunch' for Xcode $Version..."
$xcodeRootPath = Get-XcodeToolPath -Version $Version -ToolName "xcodebuild"
Invoke-ValidateCommand "sudo $xcodeRootPath -runFirstLaunch"
@@ -177,12 +173,87 @@ function Invoke-XcodeRunFirstLaunch {
function Install-AdditionalSimulatorRuntimes {
param (
[Parameter(Mandatory)]
[string] $Version
[string] $Version,
[Parameter(Mandatory)]
[string] $Arch,
[Parameter(Mandatory)]
[object] $Runtimes
)
Write-Host "Installing Simulator Runtimes for Xcode $Version ..."
$xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName "xcodebuild"
Invoke-ValidateCommand "$xcodebuildPath -downloadAllPlatforms" | Out-Null
$xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName 'xcodebuild'
$validRuntimes = @("iOS", "watchOS", "tvOS")
# visionOS is only available on arm64
if ($Arch -eq "arm64") {
$validRuntimes += "visionOS"
}
# Install all runtimes / skip runtimes
if ($Runtimes -eq "default") {
Write-Host "Installing all runtimes for Xcode $Version ..."
Invoke-ValidateCommand "$xcodebuildPath -downloadAllPlatforms" | Out-Null
return
} elseif ($Runtimes -eq "none") {
Write-Host "Skipping runtimes installation for Xcode $Version ..."
return
}
# Convert $Runtimes to hashtable
if ($Runtimes -is [System.Object[]]) {
$convertedRuntimes = @{}
foreach ($entry in $Runtimes) {
if ($entry -is [PSCustomObject]) {
$entry = $entry | ConvertTo-Json -Compress | ConvertFrom-Json -AsHashtable
}
# Copy all keys and values from the entry to the converted runtimes
foreach ($key in $entry.Keys) {
if ($convertedRuntimes.ContainsKey($key)) {
$convertedRuntimes[$key] += $entry[$key]
} else {
$convertedRuntimes[$key] = $entry[$key]
}
}
}
$Runtimes = $convertedRuntimes
}
# Validate runtimes format
if ($Runtimes -isnot [System.Collections.Hashtable]) {
throw "Invalid runtime format for Xcode $(Version): Expected hashtable, got [$($Runtimes.GetType())]"
}
# Install runtimes for specified platforms
foreach ($platform in $validRuntimes) {
if (-not $Runtimes.ContainsKey($platform)) {
Write-Host "No runtimes specified for $platform in the toolset for Xcode $Version, please check the toolset."
return
}
foreach ($platformVersion in $Runtimes[$platform]) {
switch ($platformVersion) {
"skip" {
Write-Host "Skipping $platform runtimes installation for Xcode $Version ..."
continue
}
"default" {
Write-Host "Installing default $platform runtime for Xcode $Version ..."
Invoke-ValidateCommand "$xcodebuildPath -downloadPlatform $platform" | Out-Null
continue
}
default {
# Version might be a semver or a build number
if (($platformVersion -match "^\d{1,2}\.\d(\.\d)?$") -or ($platformVersion -match "^[a-zA-Z0-9]{6,8}$")) {
Write-Host "Installing $platform $platformVersion runtime for Xcode $Version ..."
Invoke-ValidateCommand "$xcodebuildPath -downloadPlatform $platform -buildVersion $platformVersion" | Out-Null
continue
}
throw "$platformVersion is not a valid value for $platform version. Valid values are 'latest' or 'skip' or a semver from 0.0 to 99.9.(9)."
}
}
}
}
}
function Build-XcodeSymlinks {
@@ -0,0 +1,34 @@
# 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 27 of outline 1 of scroll area 1 of group 1
delay 5
click UI element 1 of row 27 of outline 1 of scroll area 1 of group 1
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run
@@ -1,49 +0,0 @@
# This AppleScript confirms developers in security preferences via macOS UI.
# It uses after VirtualBox installation to add 'Oracle Inc' as identified developer.
# Steps:
# - Close security preferences pop-up (it can be open after VirtualBox installation)
# - Open System Preferences -> Security & Privacy -> General
# - Unlock security preferences with user password (button 'Click the lock to make changes')
# - Click 'Allow' or 'Details…' button to confirm developers
# - Click 'Not now' button on restarting pop-up
# - Close System Preferences
on run argv
set userpassword to item 1 of argv
set secpane to "Security & Privacy"
activate application "System Preferences"
delay 5
tell application "System Events"
tell process "System Preferences"
set frontmost to true
delay 2
click menu item secpane of menu "View" of menu bar 1
delay 5
click button 1 of window 1
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
click radio button "General" of tab group 1 of window 1
delay 5
if exists of UI element "Details…" of tab group 1 of window 1 then
click button "Details…" of tab group 1 of window 1
delay 5
keystroke return
delay 5
keystroke return
delay 5
end if
if exists of UI element "Allow" of tab group 1 of window 1 then
click button "Allow" of tab group 1 of window 1
delay 5
keystroke return
delay 5
end if
click button 5 of window 1
end tell
end tell
end run
-4
View File
@@ -81,10 +81,6 @@ is_VenturaX64() {
is_Ventura && ! is_Arm64
}
is_Monterey() {
[ "$OSTYPE" = "darwin21" ]
}
get_toolset_value() {
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
local query=$1
@@ -1,215 +0,0 @@
#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
# Xamarin can clean their SDKs while updating to newer versions,
# so we should be able to detect it during image generation
buildVSMacDownloadUrl() {
echo "https://dl.xamarin.com/VsMac/VisualStudioForMac-${1}.dmg"
}
buildMonoDownloadUrl() {
echo "https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-${1}.macos10.xamarin.universal.pkg"
}
buildXamariniIOSDownloadUrl() {
echo "https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-${1}.pkg"
}
buildXamarinMacDownloadUrl() {
echo "https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-${1}.pkg"
}
buildXamarinAndroidDownloadUrl() {
echo "https://dl.xamarin.com/MonoforAndroid/Mac/xamarin.android-${1}.pkg"
}
installMono() {
local VERSION=$1
echo "Installing Mono ${VERSION}..."
local MONO_FOLDER_NAME=$(echo $VERSION | cut -d. -f 1,2,3)
local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
local PKG_URL=$(buildMonoDownloadUrl $VERSION)
sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
echo "Installing nunit3-console for Mono "$VERSION
installNunitConsole $MONO_FOLDER_NAME
echo "Creating short symlink '${SHORT_VERSION}'"
sudo ln -s ${MONO_VERSIONS_PATH}/${MONO_FOLDER_NAME} ${MONO_VERSIONS_PATH}/${SHORT_VERSION}
echo "Move to backup folder"
sudo mv -v $MONO_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/mono/
}
installXamarinIOS() {
local VERSION=$1
echo "Installing Xamarin.iOS ${VERSION}..."
local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
local PKG_URL=$(buildXamariniIOSDownloadUrl $VERSION)
sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
echo "Creating short symlink '${SHORT_VERSION}'"
sudo ln -s ${IOS_VERSIONS_PATH}/${VERSION} ${IOS_VERSIONS_PATH}/${SHORT_VERSION}
echo "Move to backup folder"
sudo mv -v $IOS_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/ios/
}
installXamarinMac() {
local VERSION=$1
echo "Installing Xamarin.Mac ${VERSION}..."
local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
local PKG_URL=$(buildXamarinMacDownloadUrl $VERSION)
sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
echo "Creating short symlink '${SHORT_VERSION}'"
sudo ln -s ${MAC_VERSIONS_PATH}/${VERSION} ${MAC_VERSIONS_PATH}/${SHORT_VERSION}
echo "Move to backup folder"
sudo mv -v $MAC_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/mac/
}
installXamarinAndroid() {
local VERSION=$1
echo "Installing Xamarin.Android ${VERSION}..."
local SHORT_VERSION=$(echo $VERSION | cut -d. -f 1,2)
local PKG_URL=$(buildXamarinAndroidDownloadUrl $VERSION)
sudo installer -pkg "$(download_with_retry "$PKG_URL")" -target /
if [ "$VERSION" == "9.4.1.0" ]; then
# Fix symlinks for broken Xamarin.Android
fixXamarinAndroidSymlinksInLibDir $VERSION
fi
echo "Creating short symlink '${SHORT_VERSION}'"
sudo ln -s ${ANDROID_VERSIONS_PATH}/${VERSION} ${ANDROID_VERSIONS_PATH}/${SHORT_VERSION}
echo "Move to backup folder"
sudo mv -v $ANDROID_VERSIONS_PATH/* $TMPMOUNT_FRAMEWORKS/android/
}
createBundle() {
local SYMLINK=$1
local MONO_SDK=$2
local IOS_SDK=$3
local MAC_SDK=$4
local ANDROID_SDK=$5
echo "Creating bundle '$SYMLINK' (Mono $MONO_SDK; iOS $IOS_SDK; Mac $MAC_SDK; Android $ANDROID_SDK"
deleteSymlink ${SYMLINK}
sudo ln -s ${MONO_VERSIONS_PATH}/${MONO_SDK} ${MONO_VERSIONS_PATH}/${SYMLINK}
sudo ln -s ${IOS_VERSIONS_PATH}/${IOS_SDK} ${IOS_VERSIONS_PATH}/${SYMLINK}
sudo ln -s ${MAC_VERSIONS_PATH}/${MAC_SDK} ${MAC_VERSIONS_PATH}/${SYMLINK}
sudo ln -s ${ANDROID_VERSIONS_PATH}/${ANDROID_SDK} ${ANDROID_VERSIONS_PATH}/${SYMLINK}
}
createBundleLink() {
local SOURCE=$1
local TARGET=$2
echo "Creating bundle symlink '$SOURCE' -> '$TARGET'"
deleteSymlink ${TARGET}
sudo ln -s ${MONO_VERSIONS_PATH}/$SOURCE ${MONO_VERSIONS_PATH}/$TARGET
sudo ln -s ${IOS_VERSIONS_PATH}/$SOURCE ${IOS_VERSIONS_PATH}/$TARGET
sudo ln -s ${MAC_VERSIONS_PATH}/$SOURCE ${MAC_VERSIONS_PATH}/$TARGET
sudo ln -s ${ANDROID_VERSIONS_PATH}/$SOURCE ${ANDROID_VERSIONS_PATH}/$TARGET
}
# https://github.com/xamarin/xamarin-android/issues/3457
# Recreate missing symlinks in lib for new Xamarin.Android package
# Symlink path /Library/Frameworks/Xamarin.Android.framework/Libraries
# xbuild -> xamarin.android/xbuild
# xbuild-frameworks -> xamarin.android/xbuild-frameworks
fixXamarinAndroidSymlinksInLibDir() {
local XAMARIN_ANDROID_VERSION=$1
local XAMARIN_ANDROID_LIB_PATH="${ANDROID_VERSIONS_PATH}/${XAMARIN_ANDROID_VERSION}/lib"
if [ -d "${XAMARIN_ANDROID_LIB_PATH}" ]; then
pushd "${XAMARIN_ANDROID_LIB_PATH}" > /dev/null
local XAMARIN_ANDROID_XBUILD_DIR="${XAMARIN_ANDROID_LIB_PATH}/xbuild"
if [ ! -d "${XAMARIN_ANDROID_XBUILD_DIR}" ]; then
echo "${XAMARIN_ANDROID_XBUILD_DIR}"
sudo ln -sf xamarin.android/xbuild xbuild
fi
local XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR="${XAMARIN_ANDROID_LIB_PATH}/xbuild-frameworks"
if [ ! -d "${XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR}" ]; then
echo "${XAMARIN_ANDROID_XBUILD_FRAMEWORKS_DIR}"
sudo ln -sf xamarin.android/xbuild-frameworks xbuild-frameworks
fi
popd > /dev/null
fi
}
installNunitConsole() {
local MONO_VERSION=$1
local TMP_WRAPPER_PATH=$(mktemp)
cat <<EOF > "$TMP_WRAPPER_PATH"
#!/bin/bash -e -o pipefail
exec /Library/Frameworks/Mono.framework/Versions/${MONO_VERSION}/bin/mono --debug \$MONO_OPTIONS $NUNIT3_PATH/nunit3-console.exe "\$@"
EOF
sudo chmod +x $TMP_WRAPPER_PATH
sudo mv "$TMP_WRAPPER_PATH" "${MONO_VERSIONS_PATH}/${MONO_VERSION}/Commands/nunit3-console"
}
downloadNUnitConsole() {
echo "Downloading NUnit 3..."
local NUNIT3_VERSION='3.6.1'
local NUNIT3_LOCATION="https://github.com/nunit/nunit-console/releases/download/${NUNIT3_VERSION}/NUnit.Console-${NUNIT3_VERSION}.zip"
local NUNIT3_PATH="/Library/Developer/nunit/${NUNIT3_VERSION}"
NUNIT3_ARCHIVE=$(download_with_retry $NUNIT3_LOCATION)
echo "Installing NUnit 3..."
sudo mkdir -p $NUNIT3_PATH
sudo unzip "$NUNIT3_ARCHIVE" -d $NUNIT3_PATH
}
createUWPShim() {
echo "Creating UWP Shim to hack UWP build failure..."
cat <<EOF > ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name = "Build"/>
<Target Name = "Rebuild"/>
</Project>
EOF
local UWPTARGET_PATH=/Library/Frameworks/Mono.framework/External/xbuild/Microsoft/WindowsXaml
sudo mkdir -p $UWPTARGET_PATH/v11.0/
sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v11.0/
sudo mkdir -p $UWPTARGET_PATH/v12.0/
sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v12.0/
sudo mkdir -p $UWPTARGET_PATH/v14.0/
sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v14.0/
sudo mkdir -p $UWPTARGET_PATH/v15.0/
sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v15.0/
sudo mkdir -p $UWPTARGET_PATH/v16.0/
sudo cp ${TMPMOUNT}/Microsoft.Windows.UI.Xaml.CSharp.Targets $UWPTARGET_PATH/v16.0/
}
createBackupFolders() {
mkdir -p $TMPMOUNT_FRAMEWORKS/mono
mkdir -p $TMPMOUNT_FRAMEWORKS/ios
mkdir -p $TMPMOUNT_FRAMEWORKS/mac
mkdir -p $TMPMOUNT_FRAMEWORKS/android
}
deleteSymlink() {
sudo rm -f ${MONO_VERSIONS_PATH}/${1}
sudo rm -f ${IOS_VERSIONS_PATH}/${1}
sudo rm -f ${MAC_VERSIONS_PATH}/${1}
sudo rm -f ${ANDROID_VERSIONS_PATH}/${1}
}
@@ -57,14 +57,6 @@ Describe "Android" {
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
}
)
if ($os.IsMonterey) {
$testCases += @(
@{
PackageName = "SDK tools"
Sdkmanager = "$env:ANDROID_HOME/tools/bin/sdkmanager"
}
)
}
It "Sdkmanager from <PackageName> is available" -TestCases $testCases {
"$Sdkmanager --version" | Should -ReturnZeroExitCode
+31 -39
View File
@@ -26,12 +26,6 @@ Describe "cmake" {
}
}
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Subversion" {
"svn --version" | Should -ReturnZeroExitCode
}
}
Describe "SwiftFormat" {
It "SwiftFormat" {
"swiftformat --version" | Should -ReturnZeroExitCode
@@ -62,10 +56,10 @@ Describe "Perl" {
}
}
Describe "Tcl/Tk" {
Describe "Tcl/Tk" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoia) {
It "libtcl" {
"file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode
"file /usr/local/lib/libtk8.6.dylib" | Should -ReturnZeroExitCode
Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue
Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue
}
}
@@ -87,7 +81,7 @@ Describe "7-Zip" {
}
}
Describe "Apache Ant" -Skip:($os.IsMonterey) {
Describe "Apache Ant" {
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
@@ -111,12 +105,6 @@ Describe "bazel" {
}
}
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Julia" {
"julia --version" | Should -ReturnZeroExitCode
}
}
Describe "jq" {
It "jq" {
"jq --version" | Should -ReturnZeroExitCode
@@ -135,32 +123,14 @@ Describe "wget" {
}
}
Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "vagrant" {
"vagrant --version" | Should -ReturnZeroExitCode
}
}
Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "virtualbox" {
"vboxmanage -v" | Should -ReturnZeroExitCode
}
}
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "R" {
"R --version" | Should -ReturnZeroExitCode
}
}
Describe "Homebrew" {
It "Homebrew" {
"brew --version" | Should -ReturnZeroExitCode
}
}
Describe "Kotlin" -Skip:($os.IsMonterey) {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
Describe "Kotlin" {
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode
@@ -173,8 +143,30 @@ Describe "yq" {
}
}
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "imagemagick" {
"magick -version" | Should -ReturnZeroExitCode
Describe "pkgconf" {
It "pkgconf" {
"pkgconf --version" | Should -ReturnZeroExitCode
}
}
Describe "Ninja" {
New-item -Path "/tmp/ninjaproject" -ItemType Directory -Force
Set-Location '/tmp/ninjaproject'
@'
cmake_minimum_required(VERSION 3.10)
project(NinjaTest NONE)
'@ | Out-File -FilePath "./CMakeLists.txt"
It "Make a simple ninja project" {
"cmake -GNinja /tmp/ninjaproject" | Should -ReturnZeroExitCode
}
It "build.ninja file should exist" {
$buildFilePath = Join-Path "/tmp/ninjaproject" "build.ninja"
$buildFilePath | Should -Exist
}
It "Ninja" {
"ninja --version" | Should -ReturnZeroExitCode
}
}
@@ -53,7 +53,7 @@ Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoi
}
}
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
Describe "Firefox" {
It "Firefox" {
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
$firefoxLocation | Should -Exist
+7 -85
View File
@@ -33,7 +33,7 @@ Describe "GCC" {
}
}
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) {
Describe "vcpkg" -Skip:($os.IsVenturaArm64) {
It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode
}
@@ -58,77 +58,18 @@ Describe "AzCopy" {
}
}
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Conda" {
[System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
"$condaBinPath --version" | Should -ReturnZeroExitCode
}
}
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Stack" {
"stack --version" | Should -ReturnZeroExitCode
}
}
Describe "CocoaPods" {
It "CocoaPods" {
"pod --version" | Should -ReturnZeroExitCode
}
}
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
$testCases = $vsMacVersions | ForEach-Object {
$vsPath = "/Applications/Visual Studio $_.app"
if ($_ -eq $defaultVSMacVersion) {
$vsPath = "/Applications/Visual Studio.app"
}
@{ vsversion = $_ ; vspath = $vsPath }
}
It "Visual Studio <vsversion> for Mac is installed" -TestCases $testCases {
$vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
$vsPath | Should -Exist
$vstoolPath | Should -Exist
}
It "Visual Studio $defaultVSMacVersion for Mac is default" {
$vsPath = "/Applications/Visual Studio.app"
$vstoolPath = Join-Path $vsPath "Contents/MacOS/vstool"
$vsPath | Should -Exist
$vstoolPath | Should -Exist
}
}
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Swig" {
"swig -version" | Should -ReturnZeroExitCode
}
}
Describe "Bicep" {
It "Bicep" {
"bicep --version" | Should -ReturnZeroExitCode
}
}
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Go" {
"go version" | Should -ReturnZeroExitCode
}
}
Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Check kext kernel modules" {
kextstat | Out-String | Should -Match "org.virtualbox.kext"
}
}
Describe "CodeQL Bundle" {
It "Is installed" {
$CodeQLVersionWildcard = Join-Path $Env:AGENT_TOOLSDIRECTORY -ChildPath "CodeQL" | Join-Path -ChildPath "*"
@@ -141,36 +82,17 @@ Describe "CodeQL Bundle" {
}
}
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
It "Colima" {
"colima version" | Should -ReturnZeroExitCode
}
}
Describe "Compiled" -Skip:(-not $os.IsMonterey) {
It "Apache Ant" {
"ant -version" | Should -ReturnZeroExitCode
}
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
"$toolName -version" | Should -ReturnZeroExitCode
}
It "sbt" {
"sbt -version" | Should -ReturnZeroExitCode
}
}
Describe "Unxip" {
It "Unxip" {
"unxip --version" | Should -ReturnZeroExitCode
}
}
Describe "pkg-config" {
It "pkg-config" {
"pkg-config --version" | Should -ReturnZeroExitCode
Describe "Sudoers" {
It "Sudo Cache" {
"sudo -v" | Should -ReturnZeroExitCode
}
It "Sudoers files" {
"sudo visudo -c" | Should -ReturnZeroExitCode
}
}
@@ -1,30 +0,0 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
Context "GHCup" {
It "GHCup" {
"ghcup --version" | Should -ReturnZeroExitCode
}
}
Context "GHC" {
It "GHC" {
"ghc --version" | Should -ReturnZeroExitCode
}
}
Context "Cabal" {
It "Cabal" {
"cabal --version" | Should -ReturnZeroExitCode
}
}
Context "Stack" {
It "Stack" {
"stack --version" | Should -ReturnZeroExitCode
}
It "Stack hook is not installed" {
"$HOME/.stack/hooks/ghc-install.sh" | Should -Not -Exist
}
}
}
+76
View File
@@ -0,0 +1,76 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
BeforeAll {
function Get-ShortSymlink {
param (
[string] $Version
)
$versionParts = $Version.Split(".")
return [String]::Join(".", $versionParts[0..1])
}
}
if ($os.IsVentura -or $os.IsSonoma) {
Describe "Mono" {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
$monoToolsetVersion = @((Get-ToolsetContent).mono.framework.version)
$versionFolderPath = Join-Path $MONO_VERSIONS_PATH ([System.Version]::Parse($monoToolsetVersion).ToString(3))
$testCase = @{ MonoVersion = $monoToolsetVersion; VersionFolderPath = $versionFolderPath; MonoVersionsPath = $MONO_VERSIONS_PATH }
It "is installed" -TestCases $testCase {
param ( [string] $VersionFolderPath )
$monoBinPath = Join-Path $VersionFolderPath "bin" "mono"
$VersionFolderPath | Should -Exist
$monoBinPath | Should -Exist
}
It "is available via short link" -TestCases $testCase {
param (
[string] $MonoVersion,
[string] $MonoVersionsPath,
[string] $VersionFolderPath
)
$shortSymlink = Get-ShortSymlink $MonoVersion # only 'major.minor'
$shortSymlinkFolderPath = Join-Path $MonoVersionsPath $shortSymlink
if ($shortSymlink -eq "4.8") { return } # Skip this test for Mono 4.8 because it doesn't contain VERSION file
$shortVersionPath = Join-Path $shortSymlinkFolderPath "VERSION"
$fullVersionPath = Join-Path $VersionFolderPath "VERSION"
Confirm-IdenticalFileContent -File1 $shortVersionPath -File2 $fullVersionPath
}
It "NUnit console is installed" -TestCases $testCase {
param ( [string] $VersionFolderPath )
$nunitPath = Join-Path $VersionFolderPath "Commands" "nunit3-console"
$nunitPath | Should -Exist
}
It "Nuget is installed" -TestCases $testCase {
param ( [string] $VersionFolderPath )
$nugetBinaryPath = Join-Path $VersionFolderPath "lib" "mono" "nuget" "nuget.exe"
$nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
$nugetCommandPath = Join-Path $VersionFolderPath "Commands" "nuget"
$nugetBinaryPath | Should -Exist
$nugetCommandPath | Should -Exist
$nugetBinaryWrapperPath | Should -Exist
}
It "Nuget is valid" -TestCases $testCase {
param ( [string] $VersionFolderPath )
$nugetBinaryWrapperPath = Join-Path $VersionFolderPath "bin" "nuget"
"$nugetBinaryWrapperPath" | Should -ReturnZeroExitCode
}
It "MSBuild is available" {
"msbuild -version" | Should -ReturnZeroExitCode
}
}
}
-25
View File
@@ -21,31 +21,6 @@ Describe "Node.js" {
}
}
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
BeforeAll {
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
}
It "nvm is installed" {
$nvmPath | Should -Exist
"$nvmInitCommand && nvm --version" | Should -ReturnZeroExitCode
}
Context "nvm versions" {
[array]$nvmVersions = (Get-ToolsetContent).node.nvm_versions
$testCases = $nvmVersions | ForEach-Object { @{NvmVersion = $_} }
It "<NvmVersion>" -TestCases $testCases {
param (
[string] $NvmVersion
)
"$nvmInitCommand && nvm ls $($NvmVersion)" | Should -ReturnZeroExitCode
}
}
}
Describe "Global NPM Packages" {
$globalNpmPackages = (Get-ToolsetContent).npm.global_packages
$globalNpmPackagesWithTests = $globalNpmPackages | Where-Object { $_.test } | ForEach-Object { @{ Name = $_.name; Test = $_.test } }
@@ -1,12 +0,0 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
$pipxToolset = (Get-ToolsetContent).pipx
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
It "<package>" -TestCases $testCases {
"$cmd" | Should -ReturnZeroExitCode
}
}
@@ -1,9 +1,7 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Ruby" -Skip:($os.IsArm64) {
Describe "Ruby" {
It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode
}
@@ -13,10 +11,11 @@ Describe "Ruby" -Skip:($os.IsArm64) {
}
It "Ruby tools are consistent" {
$expectedPrefix = "/usr/local"
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
$os = Get-OSVersion
$expectedPrefix = if ($os.IsArm64) { "/opt/homebrew" } else { "/usr/local" }
Get-ToolPath "ruby" | Should -Match "^$expectedPrefix.*"
Get-ToolPath "gem" | Should -Match "^$expectedPrefix.*"
Get-ToolPath "bundler" | Should -Match "^$expectedPrefix.*"
}
It "Ruby gems permissions are valid" {
@@ -1,26 +0,0 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
$os = Get-OSVersion
Describe "Ruby" -Skip:(-not $os.IsArm64) {
It "Ruby is available" {
"ruby --version" | Should -ReturnZeroExitCode
}
It "Ruby is installed via HomeBrew" {
Get-ToolPath "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
}
It "Ruby tools are consistent" {
$expectedPrefix = "/opt/homebrew"
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
}
It "Ruby gems permissions are valid" {
"gem install bundle" | Should -ReturnZeroExitCode
"gem uninstall bundle" | Should -ReturnZeroExitCode
}
}
@@ -0,0 +1,7 @@
Describe "RunnerCache" {
Context "runner cache directory not empty" {
It "<RunnerCachePath> not empty" -TestCases @{ RunnerCachePath = "/opt/runner-cache" } {
(Get-ChildItem -Path "$RunnerCachePath/*.tar.gz" -Recurse).Count | Should -BeGreaterThan 0
}
}
}
+5 -2
View File
@@ -8,8 +8,11 @@ Describe "Disk free space" {
# 10GB here: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
# 14GB here: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
# 30GB due to: https://github.com/actions/runner-images/issues/10511
$freeSpace = (Get-PSDrive "/").Free
$freeSpace | Should -BeGreaterOrEqual 30GB
$diskInfo = Get-PSDrive "/"
$totalSpaceGB = [math]::Floor(($diskInfo.Used + $diskInfo.Free) / 1GB)
$freeSpaceGB = [math]::Floor($diskInfo.Free / 1GB)
Write-Host " [i] Disk size: ${totalSpaceGB} GB; Free space: ${freeSpaceGB} GB"
$freeSpaceGB | Should -BeGreaterOrEqual 30
}
}

Some files were not shown because too many files have changed in this diff Show More