Compare commits

...

237 Commits

Author SHA1 Message Date
Hosted Runners Images Bot. 3324312693 Updating readme file for macos-15-arm64 version 20260414.0270.1 2026-04-14 15:11:30 +00:00
github-actions[bot] 6808815d1e Updating readme file for win25 version 20260405.77.1 (#13891)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-14 10:40:22 +00:00
github-actions[bot] 5d54f7d9d1 Updating readme file for win22 version 20260405.104.1 (#13890)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-14 10:27:07 +00:00
github-actions[bot] d8fb49836b Updating readme file for ubuntu24 version 20260406.80.1 (#13895)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-14 10:09:15 +00:00
github-actions[bot] dd9fd202ba Updating readme file for ubuntu22 version 20260406.82.1 (#13889)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-14 10:02:48 +00:00
github-actions[bot] c81bdac23f Updating readme file for win25-vs2026 version 20260406.66.1 (#13898)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-10 16:22:05 +00:00
github-actions[bot] cc9ec6801d Updating readme file for macos-26-arm64 version 20260408.0337.1 (#13899)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-10 16:21:29 +00:00
github-actions[bot] 595154e5cd Updating readme file for macos-26 version 20260409.0296.1 (#13900)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-04-10 16:20:57 +00:00
github-actions[bot] 0c39e6a60b Updating readme file for macos-15 version 20260406.0361.1 (#13893)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-09 09:50:55 +00:00
github-actions[bot] 726a2a0f11 Updating readme file for macos-15-arm64 version 20260406.0256.1 (#13894)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-09 09:48:35 +00:00
github-actions[bot] 7678a3c383 Updating readme file for macos-14-arm64 version 20260407.0213.1 (#13892)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-09 09:45:49 +00:00
github-actions[bot] abbc5c3d85 Updating readme file for macos-14 version 20260408.0396.1 (#13897)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-04-09 09:42:39 +00:00
Shamil Mubarakshin e031541032 [macos-26] Add Xcode 26.5 beta (#13896) 2026-04-07 21:59:56 +02:00
Shamil Mubarakshin 1b60920cc9 [windows] Add windows-11-arm64 image generation code (#13879) 2026-04-07 17:32:00 +02:00
github-actions[bot] c722443db7 Updating readme file for ubuntu22 version 20260329.74.1 (#13860) 2026-04-06 15:29:42 +02:00
github-actions[bot] 007ff3ca3f Updating readme file for win25 version 20260329.71.1 (#13867)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-06 12:40:55 +00:00
github-actions[bot] 20f830c61a Updating readme file for win22 version 20260329.98.1 (#13866)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-06 12:33:20 +00:00
github-actions[bot] 3675bf1b90 Updating readme file for ubuntu24 version 20260329.72.1 (#13861)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-06 12:26:44 +00:00
github-actions[bot] e40f0dd61f Updating readme file for win25-vs2026 version 20260329.58.1 (#13869) 2026-04-06 13:31:02 +02:00
github-actions[bot] 5db997d7de Updating readme file for macos-26-arm64 version 20260402.0322.1 (#13878)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-04-03 08:47:58 +00:00
github-actions[bot] 7dd3415d1d Updating readme file for macos-15-arm64 version 20260330.0243.1 (#13865)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-01 18:27:26 +00:00
github-actions[bot] 430fcac7a5 Updating readme file for macos-15 version 20260330.0336.1 (#13864)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-01 18:26:10 +00:00
github-actions[bot] e2da3936c0 Updating readme file for macos-14-arm64 version 20260330.0199.1 (#13863)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-01 18:25:42 +00:00
github-actions[bot] fa5cbc8929 Updating readme file for macos-14 version 20260330.0357.1 (#13862)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-04-01 18:25:28 +00:00
Sergei Radich 60cea812f9 [Ubuntu] Add apt-get upgrade (#13873) 2026-04-01 14:46:31 +02:00
Sergei Radich b3bb8b13dd [macOS 26] Add 26.4 runtimes, remove 26.0 runtimes (#13875) 2026-04-01 13:50:39 +02:00
github-actions[bot] c3aee9078b Updating readme file for ubuntu24 version 20260323.65.1 (#13839)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-30 09:27:04 +00:00
github-actions[bot] 660b5fa27d Updating readme file for macos-15-arm64 version 20260325.0234.1 (#13847)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-30 09:24:49 +00:00
github-actions[bot] d20c00ea50 Updating readme file for ubuntu22 version 20260322.68.1 (#13834)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:55:20 +00:00
github-actions[bot] 99b185488c Updating readme file for macos-26-arm64 version 20260325.0302.1 (#13849)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:38:06 +00:00
github-actions[bot] 17e674feb8 Updating readme file for macos-26 version 20260324.0226.1 (#13848)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:37:32 +00:00
github-actions[bot] 91c9bd5ec9 Updating readme file for macos-15 version 20260324.0317.1 (#13846)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:30:29 +00:00
github-actions[bot] 8db7d9b280 Updating readme file for macos-14-arm64 version 20260325.0190.1 (#13845)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:25:30 +00:00
github-actions[bot] f990779ae3 Updating readme file for macos-14 version 20260324.0339.2 (#13844)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-27 11:20:19 +00:00
Georgy Puzakov 893bd268b3 Change AzureLocation to optional in GenerateResourcesAndImage.ps1‎ (#13796) 2026-03-27 10:45:54 +01:00
github-actions[bot] 8ea6260475 Updating readme file for win22 version 20260317.73.1 (#13823)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-26 08:27:06 +00:00
github-actions[bot] 4c9f589a74 Updating readme file for win25-vs2026 version 20260317.44.1 (#13824)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-25 11:23:42 +00:00
github-actions[bot] 020404c5ec Updating readme file for win25 version 20260317.61.1 (#13825)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-25 11:23:28 +00:00
Sergei Radich 7c31b32cd0 [MacOS] Unlink LLVM from brew (#13838) 2026-03-24 12:09:02 +01:00
Sergei Radich cf75c29700 [MacOS] Update XCode 26.4 to RC1 (#13832) 2026-03-23 09:29:00 +01:00
v-sergei-pyshnoi 563ad669b6 [windows] Add filters to Java assets API call (#13808) 2026-03-17 19:35:05 +01:00
github-actions[bot] 3c3b8c3a4b Updating readme file for ubuntu24 version 20260309.50.1 (#13786)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-17 16:17:40 +00:00
github-actions[bot] 1055718159 Updating readme file for ubuntu22 version 20260309.57.1 (#13785)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-17 16:17:28 +00:00
Sergei Radich 4a4bb867df [MacOS] Update XCode26.4 to Beta3 (#13807) 2026-03-16 15:09:25 +01:00
Diogo De Santana Jacome 155611075f [ubuntu] Update Maven to 3.9.14 2026-03-13 15:05:16 +01:00
Sergei Radich 0c88026a49 Revert "Updating readme file for macos-14 version 20260311.0286.1 (#13784)" (#13801) 2026-03-13 15:03:31 +01:00
gavintodd 31524f9299 [Windows] Add Accept header for Java version retrieval (#13782) 2026-03-13 14:25:43 +01:00
github-actions[bot] e9fb9a27f1 Updating readme file for macos-14 version 20260311.0286.1 (#13784)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-12 10:06:28 +00:00
Shamil Mubarakshin 611f51c112 [ubuntu] Fix .Net SDK sorting (#13788) 2026-03-11 20:42:33 +01:00
Sergei Radich 1783ba44e5 [MacOS] Set specific runtime versions for XCode 26.2 (#13791) 2026-03-11 18:37:02 +01:00
andosius d13166b30a [Ubuntu] Update Maven to 3.9.13 2026-03-09 13:43:38 +01:00
github-actions[bot] 8f6f07be52 Updating readme file for macos-15 version 20260303.0227.1 (#13761)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-06 18:45:14 +00:00
github-actions[bot] 8b8837b75e Updating readme file for macos-15-arm64 version 20260303.0188.2 (#13762)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-06 12:38:43 +00:00
github-actions[bot] e179364a95 Updating readme file for win25-vs2026 version 20260301.27.1 (#13755)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-06 11:36:51 +00:00
github-actions[bot] 333c0b07b8 Updating readme file for win25 version 20260302.43.1 (#13760)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-06 11:36:22 +00:00
github-actions[bot] 06b10bc772 Updating readme file for macos-26-arm64 version 20260303.0251.1 (#13764)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-06 11:26:10 +00:00
github-actions[bot] b8aa72583d Updating readme file for macos-26 version 20260303.0134.1 (#13763)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 12:00:22 +00:00
github-actions[bot] 9ddb14eaa3 Updating readme file for win22 version 20260301.50.1 (#13756)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 11:55:19 +00:00
github-actions[bot] cd3f019c1f Updating readme file for ubuntu24 version 20260302.42.1 (#13754)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 11:52:38 +00:00
github-actions[bot] 917b44921d Updating readme file for ubuntu22 version 20260302.50.1 (#13753)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 11:52:13 +00:00
github-actions[bot] f3b66a78c2 Updating readme file for macos-14-arm64 version 20260302.0147.1 (#13749)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 11:48:44 +00:00
github-actions[bot] efc67f6917 Updating readme file for macos-14 version 20260302.0252.1 (#13748)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-05 11:48:27 +00:00
Shamil Mubarakshin a54c530e8e Add OIDC auth for GenerateResourcesAndImage.ps1 (#13765) 2026-03-05 11:56:17 +01:00
Pavel Iakovenko 3c8c453258 [ubuntu] Install Agentic Workflows images (#13745) 2026-03-04 13:25:42 +01:00
Sergei Radich 5e1d4436f8 [MacOS] Xcode26.3 release (#13752) 2026-03-03 11:27:46 +01:00
github-actions[bot] 8d4cd94cea Updating readme file for win25 version 20260225.38.2 (#13737)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-02 10:13:18 +00:00
github-actions[bot] 0e39fce0af Updating readme file for win22 version 20260225.46.2 (#13736)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-03-02 10:12:55 +00:00
github-actions[bot] ea19d49e6a Updating readme file for win25-vs2026 version 20260225.23.2 (#13738)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-27 14:38:46 +00:00
github-actions[bot] b1a3220f73 Updating readme file for macos-26-arm64 version 20260224.0231.1 (#13725)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-27 09:16:36 +00:00
github-actions[bot] cf23db3d81 Updating readme file for macos-15 version 20260224.0198.1 (#13724)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-27 09:16:01 +00:00
github-actions[bot] cd75f4d2aa Updating readme file for macos-14-arm64 version 20260224.0137.1 (#13723)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-27 08:54:13 +00:00
Erik Bershel 87d0517213 [doc] Remove beta badges for macOS 26 images (#13740) 2026-02-26 18:32:29 +01:00
Sergei Radich 405adebae3 [macOS] Update XCode 26.4 to Beta 2 (#13734) 2026-02-26 10:48:34 +01:00
github-actions[bot] d28f0b8969 Updating readme file for macos-26 version 20260224.0101.1 (#13726)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-26 09:18:26 +00:00
github-actions[bot] 2887d30450 Updating readme file for macos-15-arm64 version 20260224.0170.1 (#13727)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-26 09:18:17 +00:00
github-actions[bot] 6b0ce0afd9 Updating readme file for macos-14 version 20260223.0224.3 (#13722)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-26 09:16:23 +00:00
github-actions[bot] 04114b0247 Updating readme file for ubuntu24 version 20260224.36.1 (#13731)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-02-26 09:10:32 +00:00
github-actions[bot] 8ddabfccbc Updating readme file for ubuntu22 version 20260224.45.1 (#13730)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-02-26 09:10:13 +00:00
Sergei Radich d2e7173d53 [Windows] Replace .NET 10.0.103 with 10.0.102 (#13721) 2026-02-24 18:07:57 +01:00
Emil Todirascu 4dba67af9f Update license to 2026 (#13716) 2026-02-24 16:18:59 +01:00
Sergei Radich 3b1e7044da [Ubuntu] Replace .NET 10.0.103 with 10.0.102 (#13718) 2026-02-24 11:47:55 +01:00
Sergei Radich 551a8557bb [MacOS] Update XCode 26.3 to RC2 (#13717) 2026-02-23 17:59:09 +01:00
Erik Bershel 4faaaf1aa0 [doc] Add endpoint badges for beta images (#13710) 2026-02-23 12:15:42 +01:00
github-actions[bot] cb6343da30 Updating readme file for macos-15 version 20260217.0171.1 (#13692)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-23 08:49:01 +00:00
github-actions[bot] 9f0f0060cd Updating readme file for macos-26-arm64 version 20260218.0219.1 (#13698)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-21 10:22:10 +00:00
github-actions[bot] 4e1b7569cc Updating readme file for macos-15-arm64 version 20260217.0157.1 (#13693)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-21 10:20:29 +00:00
Shamil Mubarakshin 35b8d55d02 [windows] Add Visual Studio 2026 postGRO bootstrapper (#13711) 2026-02-21 11:18:17 +01:00
github-actions[bot] 13c1652ebc Updating readme file for macos-14-arm64 version 20260218.0127.1 (#13695)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 14:46:23 +00:00
github-actions[bot] 94f57f91b5 Updating readme file for macos-14 version 20260218.0207.1 (#13696)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 11:34:38 +00:00
github-actions[bot] 7dec00ffab Updating readme file for macos-26 version 20260218.0081.1 (#13697)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 11:34:24 +00:00
github-actions[bot] 23bb3c3ec7 Updating readme file for win22 version 20260217.39.1 (#13699)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 11:00:15 +00:00
github-actions[bot] 19956ab592 Updating readme file for win25 version 20260217.31.1 (#13700)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 11:00:01 +00:00
github-actions[bot] 6c002f7175 Updating readme file for win25-vs2026 version 20260217.16.1 (#13701)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-20 10:59:47 +00:00
Shamil Mubarakshin e97f2cefd9 Revert "[ubuntu] Update docker to 29.1.5, compose to 2.40.3 (#13633)" (#13708)
This reverts commit c218bde724.
2026-02-20 11:51:37 +01:00
Erik Bershel 6a88e384e2 Revert "Updating readme file for ubuntu22 version 20260209.31.1 (#13654)" (#13707)
This reverts commit 45e26c664e.
2026-02-20 10:58:39 +01:00
Erik Bershel 8323333063 Revert "Updating readme file for ubuntu24 version 20260209.23.1 (#13655)" (#13706)
This reverts commit fa4bbb1ce0.
2026-02-20 10:58:27 +01:00
Erik Bershel 8b47233606 [macOS] Add Xcode 26.4 beta (#13694) 2026-02-18 16:17:50 +01:00
github-actions[bot] f0ec665f80 Updating readme file for win25-vs2026 version 20260209.8.1 (#13659)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-18 10:47:23 +00:00
github-actions[bot] 5e94824ace Updating readme file for win25 version 20260209.23.1 (#13658)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-18 10:42:55 +00:00
github-actions[bot] fcf2e58ab3 Updating readme file for win22 version 20260209.31.1 (#13657)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-18 10:42:49 +00:00
github-actions[bot] fa4bbb1ce0 Updating readme file for ubuntu24 version 20260209.23.1 (#13655)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-18 10:42:44 +00:00
github-actions[bot] 45e26c664e Updating readme file for ubuntu22 version 20260209.31.1 (#13654)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-18 10:42:35 +00:00
github-actions[bot] b35930c176 Updating readme file for macos-15-arm64 version 20260209.0147.2 (#13652)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-16 16:26:45 +00:00
github-actions[bot] 3837ad5bd4 Updating readme file for macos-26 version 20260209.0054.2 (#13656)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-13 10:54:20 +00:00
github-actions[bot] e9732de2ec Updating readme file for macos-26-arm64 version 20260209.0200.1 (#13653)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-13 10:54:15 +00:00
github-actions[bot] f3769714b8 Updating readme file for macos-15 version 20260209.0153.1 (#13651)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-13 10:53:40 +00:00
github-actions[bot] a60594e683 Updating readme file for macos-14-arm64 version 20260209.0115.1 (#13650)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-13 10:53:23 +00:00
github-actions[bot] 7d74944277 Updating readme file for macos-14 version 20260209.0180.1 (#13649)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-13 10:53:12 +00:00
Erik Bershel bc372d1bb2 [Windows] Update PostgreSQL signature subject (#13664) 2026-02-13 11:50:18 +01:00
Erik Bershel c4351bb5fd [Ubuntu] Set sticky bit for Ruby hosted toolcache directory (#13665)
* [Ubuntu] Set sticky bit for Ruby hosted toolcache directory

* Update images/ubuntu/scripts/build/configure-system.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-13 10:55:28 +01:00
v-AndriiKhyliuk d6a1c18e53 [windows] Update URL for Windows 11 SDK installation (#13631) 2026-02-09 11:41:48 +01:00
github-actions[bot] 45e493f48c Updating readme file for ubuntu24 version 20260201.15.1 (#13621)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-08 22:03:15 +00:00
github-actions[bot] 9d993a8888 Updating readme file for macos-26-arm64 version 20260203.0194.1 (#13620)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-06 12:46:57 +00:00
github-actions[bot] 24a5598950 Updating readme file for macos-14-arm64 version 20260202.0106.1 (#13617)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-06 12:46:40 +00:00
github-actions[bot] 1e255f9d04 Updating readme file for win25 version 20260202.17.1 (#13623)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-06 12:32:54 +00:00
github-actions[bot] 66f34d1997 Updating readme file for win22 version 20260201.23.1 (#13624)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-06 12:31:53 +00:00
github-actions[bot] 48a87eff74 Updating readme file for ubuntu22 version 20260201.24.1 (#13622)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-02-06 12:30:46 +00:00
Shamil Mubarakshin 761d354feb [windows] Update docker to 29.1.5, compose to 2.40.3 (#13632)
* [windows] Update docker to 29.1.5, compose to 2.40.3

* Sync windows-2025-vs2026 changes
2026-02-06 12:38:08 +01:00
Erik Bershel 087bdcd997 [macOS] Add macOS 26 Intel; deprecate macOS 13 code (#13634)
* [macOS] Add macOS 26 Intel; deprecate macOS 13 code

* Update images/macos/toolsets/toolset-26.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 11:24:37 +01:00
Shamil Mubarakshin 71f0157880 [windows] Add Windows Server 2025 with Visual Studio 2026 (#13635) 2026-02-06 10:59:14 +01:00
Shamil Mubarakshin c218bde724 [ubuntu] Update docker to 29.1.5, compose to 2.40.3 (#13633) 2026-02-05 18:45:41 +01:00
Sergei Radich 6309f04c36 [ubuntu] Remove unused code (#13612) 2026-02-05 13:30:58 +01:00
Erik Bershel 599e47c037 [macOS] Add Xcode 26.3 RC1 (#13628) 2026-02-05 12:45:14 +01:00
v-AndriiKhyliuk 7a8b98c725 [Windows] Remove unused code (#13606) 2026-02-03 10:53:31 +01:00
Erik Bershel e393c898d5 [macOS] Add iOS 26.0 for Xcode 26.0 (#13607) 2026-02-02 11:43:05 +01:00
github-actions[bot] 4452345d86 Updating readme file for win25 version 20260127.11.2 (#13601)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:43 +00:00
github-actions[bot] 5faa1daed0 Updating readme file for win22 version 20260126.18.1 (#13591)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:36 +00:00
github-actions[bot] 182e22dfc1 Updating readme file for ubuntu22 version 20260126.19.1 (#13593)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:32 +00:00
github-actions[bot] 39bd9125f9 Updating readme file for ubuntu24 version 20260126.10.1 (#13592)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:29 +00:00
github-actions[bot] 5862d5b333 Updating readme file for macos-15-arm64 version 20260127.0129.1 (#13598)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:19 +00:00
github-actions[bot] 77aff10454 Updating readme file for macos-14-arm64 version 20260126.0100.1 (#13595)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-30 12:22:13 +00:00
v-AndriiKhyliuk aad50d1475 [windows-2025] Add CDB (#13559) 2026-01-30 13:06:39 +01:00
Bradley Smith 1e180d61ea [ubuntu] Configure USE_BAZEL_FALLBACK_VERSION for Bazelisk (#13605) 2026-01-30 13:04:02 +01:00
Shivam Mathur eb6c1eedb2 [windows] Upgrade PHP version to 8.5 (#13604) 2026-01-30 13:02:47 +01:00
Trey Valenta 2706c43493 [Windows] Several fixes for the SSH known_hosts files (#13154) 2026-01-30 13:01:43 +01:00
github-actions[bot] 1b0ec730f6 Updating readme file for macos-14 version 20260126.0146.1 (#13596)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-29 13:53:07 +00:00
github-actions[bot] 04697394e9 Updating readme file for macos-15 version 20260127.0136.1 (#13597)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-29 13:52:36 +00:00
github-actions[bot] 7e9b865523 Updating readme file for macos-26-arm64 version 20260127.0184.1 (#13594)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-29 13:51:52 +00:00
Fahrzin Hemmati 925185f01e [ubuntu] Update configure-apt-mock.sh to enable parallelism (#11467)
This adds a few errors that happen when another update/install process is running in parallel. `apt-get update` doesn't handle race conditions well, and `apt-get install` has one as well.

This is pre-cursor to another change that enables parallelism in the packer templates to run the `install-*.sh` scripts parallel, as I mentioned in https://github.com/actions/runner-images/discussions/2320
2026-01-28 15:07:36 +01:00
Mike Tesch 2a89f3470d Fix inaccurate comment in ubuntu-slim scripts (#13589)
* Fix inaccurate comment in ubuntu-slim scripts

Clarify limitations of Docker CLI in ubuntu-slim container.

* Update images/ubuntu-slim/scripts/build/install-docker-cli.sh

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update install-docker-cli.sh

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-26 10:43:27 -05:00
Paulo Santos 285cf722f0 Merge pull request #13582 from actions/gitpaulo/ubuntu-slim-preview-readme
Update Ubuntu Slim badge to preview
2026-01-23 14:10:21 +00:00
Paulo Santos d45c853c72 update Ubuntu Slim badge in README
ubuntu slim is in preview and in pre-release so it is not following badge convention
2026-01-23 14:07:06 +00:00
Shamil Mubarakshin 5b150baab9 [windows] Pin SqlServer PS module to 22.3.0 (#13579) 2026-01-23 14:47:56 +01:00
Paulo Santos 3e764b2aad Merge pull request #13580 from actions/gitpaulo/add-badges-readme
Add image deploy state badges to README
2026-01-23 12:08:10 +00:00
github-actions[bot] d5679a8ca1 Updating readme file for macos-14-arm64 version 20260120.0091.1 (#13554)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-23 11:49:13 +00:00
github-actions[bot] 9489021df8 Updating readme file for macos-14 version 20260120.0132.1 (#13566)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-23 11:44:20 +00:00
github-actions[bot] 0e11a86cd2 Updating readme file for macos-15 version 20260120.0127.1 (#13567)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-23 11:28:54 +00:00
Paulo Santos 1998eb68e3 added back deploy state badges to README 2026-01-23 11:00:58 +00:00
Erik Bershel ddad24a74c [macOS-26] Switch default Xcode to 26.2 (#13576) 2026-01-23 11:35:23 +01:00
Shamil Mubarakshin 93bd50e5c0 [windows] Update az PowerShell module to 14.6.0 (#13572) 2026-01-23 11:05:31 +01:00
github-actions[bot] 23304e7196 Updating readme file for win22 version 20260119.12.1 (#13558)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-23 09:13:21 +00:00
Shamil Mubarakshin 82d766661b [macos] Update az PowerShell module to 14.6.0 (#13577) 2026-01-22 19:50:40 +01:00
github-actions[bot] 7f40eac117 Updating readme file for macos-26-arm64 version 20260120.0167.1 (#13553)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-22 15:13:28 +00:00
Shamil Mubarakshin 09f475612d [ubuntu] Update az PowerShell module to 14.6.0 (#13573) 2026-01-22 15:14:56 +01:00
Erik Bershel 9a22aae73c [macOS-15] Remove Xcode 26.0 default platform (#13575) 2026-01-22 14:20:21 +01:00
Mike Tesch 5668be8c2f ubuntu-slim 20260120.46.1 image update (#13561)
* ubuntu-slim 20260120.46.1 image update

* Update README to remove kernel version

Removed kernel version information from README.

* Add json and remove kernel verison
2026-01-21 11:39:17 -05:00
Patrick Veilleux 02154a30c3 [windows] Remove deprecated Component.MDD.Linux.GCC.arm VS workload (#13563) 2026-01-21 16:41:43 +01:00
Bradley Smith ec3f827c72 Merge pull request #13556 from actions/releases/ubuntu24/20260119-docs
Ubuntu 24.04 (20260119) Image Update
2026-01-20 16:50:13 +00:00
Bradley Smith 92f61283ab Merge pull request #13555 from actions/releases/ubuntu22/20260119-docs
Ubuntu 22.04 (20260119) Image Update
2026-01-20 16:49:02 +00:00
Bradley Smith 205c1c0cb7 Merge pull request #13557 from actions/releases/win25/20260119-docs
Windows Server 2025 (20260119) Image Update
2026-01-20 15:45:29 +00:00
Mike Tesch c6be53a4c4 Update slim software report gen (#13551) 2026-01-20 10:03:46 -05:00
Erik Bershel eca1f30b3e [all OSs] Add Ruby 4.0 to the toolcache (#13550) 2026-01-20 14:33:53 +01:00
Hosted Runners Images Bot. 47be0626b1 Updating readme file for win25 version 20260119.4.1 2026-01-20 10:48:56 +00:00
Hosted Runners Images Bot. 3b155f06c2 Updating readme file for ubuntu24 version 20260119.4.1 2026-01-20 10:32:16 +00:00
Hosted Runners Images Bot. 3a718bdf6f Updating readme file for ubuntu22 version 20260119.13.1 2026-01-20 10:31:31 +00:00
Arshad Pasha 061fbae809 [ubuntu-slim] Add Docker Compose and Buildx plugins (#13542)
Extends the existing Docker CLI installation (from #13511) with:
- Docker Compose plugin (docker-compose-plugin)
- Docker Buildx plugin (docker-buildx-plugin)
- Corresponding tests for compose and buildx commands

This provides better Docker tooling coverage while maintaining
the lightweight design (no Docker daemon included).

Ref: #13541
2026-01-19 14:49:56 +01:00
Paulo Santos 5aa499517a Update README table to add architecture and label scheme note (#13549) 2026-01-19 14:46:30 +01:00
Paulo Santos 206850279f Remove Windows 2019 and Ubuntu 20.04 files and reference (#13533) 2026-01-19 13:38:46 +01:00
Erik Bershel 58ac648246 [macOS] Install only Universal simulator runtimes for Xcode 26+ (#13546) 2026-01-19 12:47:50 +01:00
Shamil Mubarakshin 0c1310995d [windows-2025, ubuntu-24.04] Change to Generation 2 VM (#13543) 2026-01-16 14:30:50 +01:00
Mike Tesch 568e9177b2 [ubuntu-slim] Add docker-cli, fix apt sources, and keep apt lists (#13511) 2026-01-16 14:30:30 +01:00
github-actions[bot] 8c662c5d1a Updating readme file for win25 version 20260111.179.1 (#13527)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-16 13:18:17 +00:00
github-actions[bot] 049ba391fe Updating readme file for ubuntu22 version 20260112.2.1 (#13531)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-01-16 14:16:55 +01:00
github-actions[bot] 283c2e24e7 Updating readme file for win22 version 20260112.2.1 (#13532)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-01-16 14:16:45 +01:00
github-actions[bot] 89f31bf788 Updating readme file for ubuntu24 version 20260111.209.1 (#13525)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-16 11:37:32 +00:00
github-actions[bot] 2bf6a03a52 Updating readme file for macos-15-arm64 version 20260112.0107.1 (#13529)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-15 09:20:53 +00:00
Josh Soref 707eeda6ec [docs] Fix discussion links (#13536) 2026-01-14 10:55:46 +01:00
github-actions[bot] 39d3380fb2 Updating readme file for macos-26-arm64 version 20260112.0151.1 (#13526)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-14 09:53:39 +00:00
github-actions[bot] 67f19e51e6 Updating readme file for macos-15 version 20260112.0116.1 (#13524)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-01-13 11:31:12 +00:00
github-actions[bot] ee33773b83 Updating readme file for macos-14-arm64 version 20260112.0083.1 (#13522)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-01-13 11:31:00 +00:00
github-actions[bot] ac15b2b717 Updating readme file for macos-14 version 20260112.0114.1 (#13523)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
2026-01-13 11:30:51 +00:00
Shamil Mubarakshin 0d9f87fc06 [windows-2022, ubuntu-22.04] Change to Generation 2 VM (#13521) 2026-01-12 13:53:29 +01:00
Arshad Pasha 1be20d99fa [macOS] Fix typo: Github -> GitHub in BasicTools test description (#13516) 2026-01-11 16:58:49 +01:00
github-actions[bot] 8ed95b8456 Updating readme file for ubuntu24 version 20260105.202.1 (#13491)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-09 20:06:41 +00:00
github-actions[bot] 12fd6ca607 Updating readme file for win22 version 20260105.167.1 (#13493)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-09 19:24:01 +00:00
github-actions[bot] 75cd759474 Updating readme file for win25 version 20260105.172.1 (#13494)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-09 18:50:05 +00:00
github-actions[bot] 2646e00191 Updating readme file for ubuntu22 version 20260105.207.1 (#13492)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-09 18:08:11 +00:00
Erik Bershel f62e298c0e [Ubuntu] Fix puling condition (#13514) 2026-01-09 18:44:53 +01:00
Erik Bershel fa2f5b4815 [Ubuntu] Add Dependabot docker image (#13513) 2026-01-09 18:17:32 +01:00
Erik Bershel dce2b21f0a [Ubuntu, Windows] Add Azure modules to PS scope; deprecate zip (#13482) 2026-01-09 11:03:49 +01:00
Erik Bershel d9f2f12ea8 [macos-15] Update Xcodes and Xcode's runtimes set (#13507) 2026-01-09 10:58:31 +01:00
Shamil Mubarakshin 3708b41ea1 [windows] 12.01.2026 Software Changes (#13508) 2026-01-09 10:55:00 +01:00
Shamil Mubarakshin 522f700a8f [macos] 12.01.2026 Software Changes (#13509) 2026-01-09 10:02:52 +01:00
github-actions[bot] bb887b7912 Updating readme file for macos-26-arm64 version 20260106.0138.1 (#13498)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-08 17:00:43 +00:00
github-actions[bot] d1e7592a66 Updating readme file for macos-14 version 20260105.0099.1 (#13501)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-08 16:14:53 +00:00
github-actions[bot] ac941eaf0a Updating readme file for macos-15 version 20260105.0104.1 (#13496)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-08 16:14:40 +00:00
github-actions[bot] 1932eb5b1a Updating readme file for macos-14-arm64 version 20260105.0074.1 (#13495)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-08 16:14:36 +00:00
github-actions[bot] 44685a66e1 Updating readme file for macos-15-arm64 version 20260105.0094.1 (#13497)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2026-01-08 16:14:21 +00:00
Shamil Mubarakshin c73a29e9fa Merge pull request #13506 [ubuntu] 12.01.2026 Software Changes 2026-01-08 17:08:45 +01:00
Erik Bershel eec95bce78 [macOS] Update DOTNET environment variables (#13380) 2026-01-08 15:56:10 +01:00
Shamil Mubarakshin 54fe6db2c6 [ubuntu] Remove Android NDK 26, add 28, 29 2026-01-08 13:28:20 +01:00
Shamil Mubarakshin 7a8a9b0a11 [ubuntu] Instal only latest GHC 2026-01-08 13:24:44 +01:00
Shamil Mubarakshin dc01c37dc5 [ubuntu-22.04] Remove cached docker images 2026-01-08 12:45:08 +01:00
Shamil Mubarakshin 8649f48207 [ubuntu-22.04] Remove android platform and build tools < 34 2026-01-08 12:34:28 +01:00
Shamil Mubarakshin 58ecf45cf0 [ubuntu] Remove cached Python 3.9 2026-01-08 12:33:11 +01:00
Paulo Santos a3ef6b2b8f Use ubuntu-slim for lightweight workflows (#13485) 2026-01-06 11:07:17 +01:00
Erik Bershel 84b177af16 Revert "[macOS]Pin Git to 2.50.1 version (#12954)" (#13481)
This reverts commit 92166f64ee.
2025-12-25 15:25:57 +01:00
Erik Bershel 7d634bd45a [macOS] Prevent system, display, and disk sleep (#13475) 2025-12-23 11:15:07 +01:00
github-actions[bot] 4e4e6cdb36 Updating readme file for win22 version 20251216.147.1 (#13449)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-19 15:21:28 +00:00
github-actions[bot] ee9ec37ac5 Updating readme file for win25 version 20251216.149.1 (#13448)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-19 14:44:44 +00:00
github-actions[bot] f2d2f38c0f Updating readme file for ubuntu22 version 20251216.185.1 (#13445)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-19 14:12:42 +00:00
github-actions[bot] 7764984bf9 Updating readme file for ubuntu24 version 20251215.174.1 (#13446)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-19 14:05:28 +00:00
github-actions[bot] 1fe6d0156d Updating readme file for macos-15-arm64 version 20251215.0075.1 (#13443)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-19 10:57:01 +00:00
y1schemm 802455cbe6 [Ubuntu] Update Maven to 3.9.12 (#13456) 2025-12-18 17:10:28 +01:00
github-actions[bot] bb6893f898 Updating readme file for macos-15 version 20251216.0081.1 (#13441)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-18 15:33:00 +00:00
github-actions[bot] 3ddf8d150b Updating readme file for macos-14-arm64 version 20251216.0055.1 (#13442)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-18 09:19:22 +00:00
github-actions[bot] e14b36d131 Updating readme file for macos-26-arm64 version 20251216.0100.1 (#13444)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-18 09:10:04 +00:00
github-actions[bot] 514e429c4a Updating readme file for macos-14 version 20251215.0069.1 (#13440)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-18 07:11:10 +00:00
Josh Soref 0830eeb8fa [docs] Add ubuntu-slim to README (#13450) 2025-12-17 14:39:10 +01:00
Erik Bershel e664a5c3f3 [docs] Remove macOS 13 from docs (#13439) 2025-12-16 18:13:02 +01:00
Marcono1234 93af8363f9 Add links to Deprecated badges on README (#13428)
* Add links to Deprecated / Retired badges on README

* Apply suggestions from code review

---------

Co-authored-by: Erik Bershel <110455084+erik-bershel@users.noreply.github.com>
2025-12-16 13:59:38 +01:00
Erik Bershel 1b73462b49 [macOS-26] Update Xcode 26.2, add runtimes (#13434)
* [macOS-26] Update Xcode 26.2, add runtimes

* Update SHA256
2025-12-16 10:02:08 +01:00
Shamil Mubarakshin 3cae8d73d3 Revert "[windows] Workaround .NET SDK installation (#13419)" (#13431) 2025-12-16 09:44:30 +01:00
Mike Tesch 7afeca2a81 Fix typo and a couple minor log updates (#13436) 2025-12-15 12:59:17 -05:00
github-actions[bot] 2e271cf1d9 Updating readme file for win22 version 20251207.136.1 (#13403)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 14:03:12 +00:00
Paulo Santos 982b41742e Merge pull request #13432 from actions/gitpaulo/ubuntu-slim-fix
Fix ubuntu-slim Dockerfile to configure sources beforehand
2025-12-15 12:03:37 +00:00
Paulo Santos 3ad48e7597 fix Dockerfile to configure sources before configure apt and install 2025-12-15 11:38:40 +00:00
github-actions[bot] eed8f18495 Updating readme file for macos-15 version 20251210.0072.1 (#13414)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 11:38:30 +00:00
github-actions[bot] 5119944d4c Updating readme file for macos-14-arm64 version 20251210.0045.1 (#13416)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 11:36:08 +00:00
github-actions[bot] 99c80a0773 Updating readme file for macos-15-arm64 version 20251210.0068.1 (#13415)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 11:36:00 +00:00
github-actions[bot] 676e808081 Updating readme file for macos-26-arm64 version 20251209.0083.1 (#13406)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 11:35:55 +00:00
github-actions[bot] e039a9492f Updating readme file for macos-14 version 20251209.0061.1 (#13411)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-15 11:35:48 +00:00
Mike Tesch eee0743413 Add Ubuntu-Slim image definition (#13423)
Add ubuntu-slim image definition
2025-12-12 15:03:34 -05:00
github-actions[bot] 0e731c96a0 Updating readme file for win25 version 20251208.136.1 (#13404)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-12 17:13:18 +00:00
github-actions[bot] 8b3114a482 Updating readme file for ubuntu22 version 20251208.177.1 (#13412)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-12 16:41:27 +00:00
github-actions[bot] 29659cb4ed Updating readme file for ubuntu24 version 20251208.163.1 (#13405)
Co-authored-by: Hosted Runners Images Bot. <hosted-runners-images-bot@github.com>
Co-authored-by: Actions service account <no-reply@github.com>
2025-12-12 16:41:12 +00:00
Shamil Mubarakshin d795344f43 [windows] Workaround .NET SDK installation (#13419) 2025-12-11 19:15:04 +01:00
205 changed files with 6843 additions and 4557 deletions
+2 -3
View File
@@ -39,16 +39,15 @@ body:
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: Ubuntu Slim
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
- label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: macOS 26
- label: macOS 26 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- label: Windows Server 2025 with Visual Studio 2026
- type: textarea
attributes:
label: Mitigation ways
+2 -3
View File
@@ -22,16 +22,15 @@ body:
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: Ubuntu Slim
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
- label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: macOS 26
- label: macOS 26 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- label: Windows Server 2025 with Visual Studio 2026
- type: textarea
attributes:
label: Image version and build link
+2 -3
View File
@@ -60,16 +60,15 @@ body:
- label: Ubuntu 22.04
- label: Ubuntu 24.04
- label: Ubuntu Slim
- label: macOS 13
- label: macOS 13 Arm64
- label: macOS 14
- label: macOS 14 Arm64
- label: macOS 15
- label: macOS 15 Arm64
- label: macOS 26
- label: macOS 26 Arm64
- label: Windows Server 2019
- label: Windows Server 2022
- label: Windows Server 2025
- label: Windows Server 2025 with Visual Studio 2026
- type: textarea
attributes:
label: Can this tool be installed during the build?
+1 -1
View File
@@ -10,7 +10,7 @@ permissions:
jobs:
check-pinning-dates:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Checkout repository
uses: actions/checkout@v5
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
Create_pull_request:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v5
+31
View File
@@ -0,0 +1,31 @@
name: Test Docker Images
on:
push:
branches:
- main
paths:
- 'images/ubuntu-slim/**'
- '.github/workflows/docker-images.yml'
pull_request:
paths:
- 'images/ubuntu-slim/**'
- '.github/workflows/docker-images.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
test-images:
runs-on: ubuntu-latest
strategy:
matrix:
directory:
- images/ubuntu-slim
steps:
- uses: actions/checkout@v6
- name: Run test.sh
working-directory: ${{ matrix.directory }}
run: ./test.sh
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
Merge_pull_request:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v5
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
Update_GitHub_release:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Update release for ${{ github.event.client_payload.ReleaseBranchName }}
@@ -1,5 +1,5 @@
name: Trigger Windows19 CI
run-name: Windows2019 - ${{ github.event.pull_request.title }}
name: Trigger Windows25 with VS 2026 CI
run-name: Windows2025 with VS 2026 - ${{ github.event.pull_request.title }}
on:
pull_request_target:
@@ -12,9 +12,9 @@ defaults:
shell: pwsh
jobs:
Windows_2019:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2019'
Windows_2025_vs_2026:
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2025-vs2026'
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
with:
image_type: 'windows2019'
image_type: 'windows2025-vs2026'
secrets: inherit
+3 -4
View File
@@ -16,7 +16,6 @@ Please note that this project is released with a [Contributor Code of Conduct][c
- [Adding a new tool to an image](#adding-a-new-tool-to-an-image)
- [Code style guide](#code-style-guide)
## Submitting a pull request
1. [Fork][fork] and clone the repository.
@@ -41,18 +40,18 @@ Here are a few things you can do that will increase the likelihood of your pull
- For every new tool, add validation scripts and update the software report script to ensure that it is included in the documentation.
- If the tool is available on multiple platforms (macOS, Windows, Linux), make sure you include it on as many as possible.
- If installing multiple versions of the tool, consider putting the list of versions in the corresponding `toolset.json` file. This will help other customers configure their builds flexibly. See [toolset-windows-2019.json](images/windows/toolsets/toolset-2019.json) as an example.
- If installing multiple versions of the tool, consider putting the list of versions in the corresponding `toolset.json` file. This will help other customers configure their builds flexibly. See [toolset-windows-2022.json](images/windows/toolsets/toolset-2022.json) as an example.
- Use consistent naming across all files.
- Validation scripts should be simple and shouldn't change the image content.
### Windows
- Add a script that will install the tool and put the script in the `scripts/build` folder.
There are a bunch of helper functions that could simplify your code: `Install-ChocoPackage`, `Install-Binary`, `Install-VSIXFromFile`, `Install-VSIXFromUrl`, `Invoke-DownloadWithRetry`, `Test-IsWin19`, `Test-IsWin22` (find the full list of helpers in [ImageHelpers.psm1](images/windows/scripts/helpers/ImageHelpers.psm1)).
There are a bunch of helper functions that could simplify your code: `Install-ChocoPackage`, `Install-Binary`, `Install-VSIXFromFile`, `Install-VSIXFromUrl`, `Invoke-DownloadWithRetry`, `Test-IsWin22`, `Test-IsWin25` (find the full list of helpers in [ImageHelpers.psm1](images/windows/scripts/helpers/ImageHelpers.psm1)).
- Add a script that will validate the tool installation and put the script in the `scripts/tests` folder.
We use [Pester v5](https://github.com/pester/pester) for validation scripts. If the tests for the tool are complex enough, create a separate `*.Tests.ps1`. Otherwise, use `Tools.Tests.ps1` for simple tests.
Add `Invoke-PesterTests -TestFile <testFileName> [-TestName <describeName>]` at the end of the installation script to ensure that your tests will be run.
- Add changes to the software report generator `images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Windows2019-Readme.md](images/windows/Windows2019-Readme.md) and uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
- Add changes to the software report generator `images/windows/scripts/docs-gen/Generate-SoftwareReport.ps1`. The software report generator is used to generate an image's README file, e.g. [Windows2022-Readme.md](images/windows/Windows2022-Readme.md) and uses [MarkdownPS](https://github.com/Sarafian/MarkdownPS).
### Ubuntu
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2025 GitHub
Copyright (c) 2026 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
+30 -28
View File
@@ -18,37 +18,38 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
## Available Images
| Image | YAML Label | Included Software |
| --------------------|---------------------|--------------------|
| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] |
| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] |
| macOS 26 Arm64 `beta` | `macos-26` or `macos-26-xlarge` | [macOS-26-arm64] |
| macOS 15 | `macos-latest-large`, `macos-15-large`, or `macos-15-intel` | [macOS-15] |
| macOS 15 Arm64 | `macos-latest`, `macos-15`, or `macos-15-xlarge` | [macOS-15-arm64] |
| macOS 14 | `macos-14-large`| [macOS-14] |
| macOS 14 Arm64 | `macos-14` or `macos-14-xlarge`| [macOS-14-arm64] |
| macOS 13 ![Deprecated](https://img.shields.io/badge/-Deprecated-red) | `macos-13` or `macos-13-large` | [macOS-13] |
| macOS 13 Arm64 ![Deprecated](https://img.shields.io/badge/-Deprecated-red) | `macos-13-xlarge` | [macOS-13-arm64] |
| Windows Server 2025 | `windows-latest` or `windows-2025` | [windows-2025] |
| Windows Server 2022 | `windows-2022` | [windows-2022] |
| Windows Server 2019 ![Deprecated](https://img.shields.io/badge/-Deprecated-red) | `windows-2019` | [windows-2019] |
| Image | Architecture | YAML Label | Included Software |
| --------------------|--------------|---------------------|------------------|
| Ubuntu 24.04<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fubuntu24.json) | x64 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] |
| Ubuntu 22.04<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fubuntu22.json) | x64 | `ubuntu-22.04` | [ubuntu-22.04] |
| Ubuntu Slim ![preview](https://img.shields.io/badge/preview-0969DA?style=flat&logoColor=white)<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fubuntu-slim.json) | x64 | `ubuntu-slim` | [ubuntu-slim] |
| macOS 26 Arm64<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-26-arm64.json) | arm64 | `macos-26` or `macos-26-xlarge` | [macOS-26-arm64] |
| macOS 26<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-26.json) | x64 | `macos-26-intel`, `macos-26-large` | [macOS-26] |
| macOS 15<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-15.json) | x64 | `macos-latest-large`, `macos-15-large`, or `macos-15-intel` | [macOS-15] |
| macOS 15 Arm64<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-15-arm64.json) | arm64 | `macos-latest`, `macos-15`, or `macos-15-xlarge` | [macOS-15-arm64] |
| macOS 14<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-14.json) | x64 | `macos-14-large`| [macOS-14] |
| macOS 14 Arm64<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fmacos-14-arm64.json) | arm64 | `macos-14` or `macos-14-xlarge`| [macOS-14-arm64] |
| Windows Server 2025 with Visual Studio 2026 ![beta](https://img.shields.io/badge/beta-yellow)<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fwin25-vs2026.json) | x64 | `windows-2025-vs2026` | [windows-2025-vs2026] |
| Windows Server 2025<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fwin25.json) | x64 | `windows-latest` or `windows-2025` | [windows-2025] |
| Windows Server 2022<br>![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fhosted-runners-images-bot%2F79267492faab096d04cdd25ce7014cec%2Fraw%2Fwin22.json) | x64 | `windows-2022` | [windows-2022] |
### Label scheme
- In general the `-latest` label is used for the latest OS image version that is GA
- Before moving the`-latest` label to a new OS version we will announce the change and give sufficient lead time for users to update their workflows
- In general the `-latest` label is used for the latest OS image version that is GA.
- Before moving the `-latest` label to a new OS version we will announce the change and give sufficient lead time for users to update their workflows.
- The `-xlarge` and `-large` suffixes are unique to macOS images and are only available for GitHub Actions. Learn more about [GitHub Actions larger runners](https://docs.github.com/en/actions/reference/runners/larger-runners#available-macos-larger-runners-and-labels).
[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
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
[ubuntu-slim]: https://github.com/actions/runner-images/blob/main/images/ubuntu-slim/ubuntu-slim-Readme.md
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
[windows-2025-vs2026]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-VS2026-Readme.md
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-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
[macOS-14-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
[macOS-15]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
[macOS-15-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md
[macOS-26]: https://github.com/actions/runner-images/blob/main/images/macos/macos-26-Readme.md
[macOS-26-arm64]: https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
@@ -81,19 +82,18 @@ latest 2 versions of an OS.
GitHub Actions and Azure DevOps use the `-latest` YAML label (ex: `ubuntu-latest`, `windows-latest`, and `macos-latest`). These labels point towards the newest stable OS version available.
The `-latest` migration process is gradual and happens over 1-2 months in order to allow customers to adapt their workflows to the newest OS version. During this process, any workflow using the `-latest` label, may see changes in the OS version in their workflows or pipelines. To avoid unwanted migration, users can specify a specific OS version in the yaml file (ex: macos-14, windows-2022, ubuntu-22.04).
## Image Releases
*How to best follow along with changes*
1. Find the latest releases for this repository [here.](https://github.com/actions/runner-images/releases)
2. Subscribe to the releases coming out of this repository, instructions [here.](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository)
1. Find the latest releases for this repository [here](https://github.com/actions/runner-images/releases).
2. Subscribe to the releases coming out of this repository, instructions [here](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository).
3. Upcoming changes: A pre-release is created when the deployment of an image has started. As soon as the deployment is finished, the pre-release is converted to a release. If you have subscribed to releases, you will get notified of pre-releases as well.
- You can also track upcoming changes using the [awaiting-deployment](https://github.com/actions/runner-images/labels/awaiting-deployment) label.
4. For high impact changes, we will post these in advance to the GitHub Changelog on our [blog](https://github.blog/changelog/) and on [twitter](https://twitter.com/GHchangelog).
4. For high impact changes, we will post these in advance to the GitHub Changelog on our [blog](https://github.blog/changelog/) and on [X](https://x.com/GHchangelog).
- Ex: breaking changes, GA or deprecation of images
*Cadence*
@@ -141,10 +141,10 @@ We use third-party package managers to install software during the image generat
### Image Deprecation Policy
- Images begin the deprecation process of the oldest image label once a new GA OS version has been released.
- Deprecation process begins with an announcement that sets a date for deprecation
- As it gets closer to the date, GitHub begins doing scheduled brownouts of the image
- Deprecation process begins with an announcement that sets a date for deprecation.
- As it gets closer to the date, GitHub begins doing scheduled brownouts of the image.
- During this time there will be an Announcement pinned in the repo to remind users of the deprecation.
- Finally GitHub will deprecate the image and it will no longer be available
- Finally, GitHub will deprecate the image and it will no longer be available.
### Preinstallation Policy
@@ -165,8 +165,8 @@ In general, these are the guidelines we follow when deciding what to pre-install
## How to Interact with the Repo
- **Issues**: To file a bug report, or request tools to be added/updated, please [open an issue using the appropriate template](https://github.com/actions/runner-images/issues/new/choose)
- **Discussions**: If you want to share your thoughts about image configuration, installed software, or bring a new idea, please create a new topic in a [discussion](https://github.com/actions/runner-images/discussions) for a corresponding category. Before making a new discussion please make sure no similar topics were created earlier.
- For general questions about using the runner images or writing your Actions workflow, please open requests in the [GitHub Actions Community Forum](https://github.community/c/github-actions/41).
- **Discussions**: If you want to share your thoughts about image configuration, installed software, or bring a new idea, please create a [new discussion](https://github.com/orgs/community/discussions/new?category=actions). Before making a new discussion, please make sure no similar topics were created earlier in the [actions category](https://github.com/orgs/community/discussions/categories/actions).
- For general questions about using the runner images or writing your Actions workflow, please open requests in the [GitHub Community discussion Actions category](https://github.com/orgs/community/discussions/categories/actions).
## FAQs
@@ -174,8 +174,10 @@ In general, these are the guidelines we follow when deciding what to pre-install
<summary><b><i>What images are available for GitHub Actions and Azure DevOps?</b></i></summary>
The availability of images for GitHub Actions and Azure DevOps is the same. However, deprecation policies may differ. See documentation for more details:
- [GitHub Actions](https://docs.github.com/en/free-pro-team@latest/actions/reference/specifications-for-github-hosted-runners#supported-runners-and-hardware-resources)
- [Azure DevOps](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#software)
</details>
<details>
+2 -2
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 22.04/24.04.
The runner-images project uses [Packer](https://www.packer.io/) to generate disk images for Windows 2022/2025 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.
@@ -98,7 +98,7 @@ Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arg
- `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 (valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
- `ImageType` - the type of image to build (valid options are "Windows2022", "Windows2025", "Ubuntu2204", "Ubuntu2404").
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
+2 -2
View File
@@ -4,9 +4,9 @@
This document gives an overview of these change and the impact this has on the `runner-images`.
## .NET Core for Ubuntu 2004 and 2204
## .NET Core for Ubuntu 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.
2204 uses the [Microsoft Package repository](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2204) to install .NET deb files built and published by the .NET team.
## .NET Core Versions from Ubuntu 2404
+102 -19
View File
@@ -1,11 +1,11 @@
$ErrorActionPreference = 'Stop'
enum ImageType {
Windows2019 = 1
Windows2022 = 2
Windows2025 = 3
Ubuntu2204 = 4
Ubuntu2404 = 5
Windows2022 = 1
Windows2025 = 2
Windows2025_vs2026 = 3
Ubuntu2204 = 4
Ubuntu2404 = 5
}
Function Get-PackerTemplate {
@@ -18,10 +18,6 @@ Function Get-PackerTemplate {
switch ($ImageType) {
# Note: Double Join-Path is required to support PowerShell 5.1
([ImageType]::Windows2019) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2019.pkr.hcl"
$imageOS = "win19"
}
([ImageType]::Windows2022) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2022.pkr.hcl"
$imageOS = "win22"
@@ -30,6 +26,10 @@ Function Get-PackerTemplate {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2025.pkr.hcl"
$imageOS = "win25"
}
([ImageType]::Windows2025_vs2026) {
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "build.windows-2025-vs2026.pkr.hcl"
$imageOS = "win25-vs2026"
}
([ImageType]::Ubuntu2204) {
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "build.ubuntu-22_04.pkr.hcl"
$imageOS = "ubuntu22"
@@ -66,6 +66,35 @@ Function Show-LatestCommit {
}
}
function Get-GitHubActionsOidcIdToken {
[CmdletBinding()]
param(
[Parameter(Mandatory = $True)]
[string] $RequestUrl,
[Parameter(Mandatory = $True)]
[string] $RequestToken,
[Parameter(Mandatory = $False)]
[string] $Audience = 'api://AzureADTokenExchange'
)
$separator = if ($RequestUrl -match '\?') { '&' } else { '?' }
$urlWithAudience = "${RequestUrl}${separator}audience=$([System.Uri]::EscapeDataString($Audience))"
$headers = @{ Authorization = "Bearer $RequestToken" }
try {
$response = Invoke-RestMethod -Method Get -Uri $urlWithAudience -Headers $headers
}
catch {
throw "Failed to request GitHub Actions OIDC ID token. Ensure workflow permissions include 'id-token: write'. Details: $($_.Exception.Message)"
}
if ([string]::IsNullOrEmpty($response.value)) {
throw "GitHub Actions OIDC token response did not contain a 'value' field."
}
return $response.value
}
function Start-Sleep($seconds) {
$doneDT = (Get-Date).AddSeconds($seconds)
while ($doneDT -gt (Get-Date)) {
@@ -88,7 +117,7 @@ Function GenerateResourcesAndImage {
.PARAMETER ResourceGroupName
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, Windows2025, Ubuntu2204, Ubuntu2404.
The type of image to generate. Valid values are: Windows2022, Windows2025, Windows2025_vs2026, Ubuntu2204, Ubuntu2404.
.PARAMETER ManagedImageName
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
.PARAMETER AzureLocation
@@ -103,6 +132,13 @@ Function GenerateResourcesAndImage {
The Azure client secret to use to authenticate with Azure. If not specified, the current user's credentials will be used.
.PARAMETER AzureTenantId
The Azure tenant id to use to authenticate with Azure. If not specified, the current user's credentials will be used.
.PARAMETER UseOidc
If set, authenticate using GitHub Actions OIDC (federated credentials) instead of a client secret.
Requires AzureClientId and AzureTenantId, and OidcRequestToken/OidcRequestUrl parameters.
.PARAMETER OidcRequestToken
GitHub Actions OIDC request token.
.PARAMETER OidcRequestUrl
GitHub Actions OIDC request URL.
.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.
@@ -130,7 +166,7 @@ Function GenerateResourcesAndImage {
[ImageType] $ImageType,
[Parameter(Mandatory = $False)]
[string] $ManagedImageName = "Runner-Image-$($ImageType)",
[Parameter(Mandatory = $True)]
[Parameter(Mandatory = $False)]
[string] $AzureLocation,
[Parameter(Mandatory = $False)]
[string] $ImageGenerationRepositoryRoot = $pwd,
@@ -143,6 +179,14 @@ Function GenerateResourcesAndImage {
[Parameter(Mandatory = $False)]
[string] $AzureTenantId,
[Parameter(Mandatory = $False)]
[switch] $UseOidc,
[Parameter(Mandatory = $False)]
[ValidateNotNullOrEmpty()]
[string] $OidcRequestToken,
[Parameter(Mandatory = $False)]
[ValidateNotNullOrEmpty()]
[string] $OidcRequestUrl,
[Parameter(Mandatory = $False)]
[string] $PluginVersion = "2.2.1",
[Parameter(Mandatory = $False)]
[switch] $RestrictToAgentIpAddress,
@@ -214,10 +258,17 @@ Function GenerateResourcesAndImage {
}
Write-Host "Validating packer template..."
$validateClientSecret = "fake"
if ($UseOidc) {
$validateClientSecret = ""
}
& $PackerBinary validate `
"-only=$($PackerTemplate.BuildName)*" `
"-only=$($PackerTemplate.BuildName).*" `
"-var=client_id=fake" `
"-var=client_secret=fake" `
"-var=client_secret=$($validateClientSecret)" `
"-var=oidc_request_token=fake" `
"-var=oidc_request_url=fake" `
"-var=subscription_id=$($SubscriptionId)" `
"-var=tenant_id=fake" `
"-var=location=$($AzureLocation)" `
@@ -239,10 +290,23 @@ Function GenerateResourcesAndImage {
Write-Verbose "No AzureClientId was provided, will use interactive login."
az login --output none
}
elseif ($UseOidc) {
if ([string]::IsNullOrEmpty($AzureTenantId)) {
throw "AzureTenantId is required for OIDC authentication."
}
Write-Verbose "Using OIDC service principal login (federated credentials)."
$idToken = Get-GitHubActionsOidcIdToken -RequestUrl $OidcRequestUrl -RequestToken $OidcRequestToken
az login --service-principal --username $AzureClientId --tenant $AzureTenantId --federated-token $idToken --output none
}
else {
Write-Verbose "AzureClientId was provided, will use service principal login."
if ([string]::IsNullOrEmpty($AzureClientSecret) -or [string]::IsNullOrEmpty($AzureTenantId)) {
throw "AzureClientSecret and AzureTenantId are required for service principal login unless -UseOidc is specified."
}
Write-Verbose "AzureClientId was provided, will use service principal login (client secret)."
az login --service-principal --username $AzureClientId --password=$AzureClientSecret --tenant $AzureTenantId --output none
}
az account set --subscription $SubscriptionId
if ($LastExitCode -ne 0) {
throw "Failed to login to Azure subscription '$SubscriptionId'."
@@ -257,7 +321,7 @@ Function GenerateResourcesAndImage {
throw "Resource group '$ResourceGroupName' does not exist."
}
# Create service principal
# Create / choose authentication for packer
if ([string]::IsNullOrEmpty($AzureClientId)) {
Write-Host "Creating service principal for packer..."
$ADCleanupRequired = $true
@@ -277,17 +341,36 @@ Function GenerateResourcesAndImage {
Write-Host "Service principal created with id '$ServicePrincipalAppId'. It will be deleted after the build."
}
else {
$ServicePrincipalAppId = $AzureClientId
$ServicePrincipalPassword = $AzureClientSecret
$TenantId = $AzureTenantId
if ($UseOidc) {
if ([string]::IsNullOrEmpty($AzureTenantId)) {
throw "AzureTenantId is required for OIDC authentication."
}
$ServicePrincipalAppId = $AzureClientId
$ServicePrincipalPassword = ""
$TenantId = $AzureTenantId
# Avoid leaking OIDC request values via command line arguments.
$env:PKR_VAR_oidc_request_token = $OidcRequestToken
$env:PKR_VAR_oidc_request_url = $OidcRequestUrl
}
else {
if ([string]::IsNullOrEmpty($AzureClientSecret) -or [string]::IsNullOrEmpty($AzureTenantId)) {
throw "AzureClientSecret and AzureTenantId are required for service principal authentication unless -UseOidc is specified."
}
$ServicePrincipalAppId = $AzureClientId
$ServicePrincipalPassword = $AzureClientSecret
$TenantId = $AzureTenantId
}
}
Write-Debug "Service principal app id: $ServicePrincipalAppId."
Write-Debug "Tenant id: $TenantId."
& $PackerBinary build -on-error="$($OnError)" `
-only "$($PackerTemplate.BuildName)*" `
-only "$($PackerTemplate.BuildName).*" `
-var "client_id=$($ServicePrincipalAppId)" `
-var "client_secret=$($ServicePrincipalPassword)" `
-var "oidc_request_token=$($env:PKR_VAR_oidc_request_token)" `
-var "oidc_request_url=$($env:PKR_VAR_oidc_request_url)" `
-var "subscription_id=$($SubscriptionId)" `
-var "tenant_id=$($TenantId)" `
-var "location=$($AzureLocation)" `
+1 -1
View File
@@ -9,7 +9,7 @@ param(
[String] [Parameter (Mandatory=$true)] $TempResourceGroupName,
[String] [Parameter (Mandatory=$true)] $SubscriptionId,
[String] [Parameter (Mandatory=$true)] $TenantId,
[String] [Parameter (Mandatory=$true)] $ImageOS, # e.g. "ubuntu22", "ubuntu22" or "win19", "win22", "win25"
[String] [Parameter (Mandatory=$true)] $ImageOS, # e.g. "ubuntu22", "ubuntu24" or "win22", "win25"
[String] [Parameter (Mandatory=$false)] $UseAzureCliAuth = "false",
[String] [Parameter (Mandatory=$false)] $PluginVersion = "2.3.3",
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
+2 -1
View File
@@ -22,8 +22,9 @@ export PATH="/usr/local/opt/curl/bin:$PATH"
export PATH=$HOME/.cargo/bin:$PATH
export RCT_NO_LAUNCH_PACKAGER=1
export DOTNET_ROOT=$HOME/.dotnet
export DOTNET_MULTILEVEL_LOOKUP=0
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_NOLOGO=1
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
-283
View File
@@ -1,283 +0,0 @@
| Announcements |
|-|
| [[macOS] Cmake will be updated to version 4.* on September 8th](https://github.com/actions/runner-images/issues/12934) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [[macOS] macos-latest YAML-label will use macos-15 in August 2025](https://github.com/actions/runner-images/issues/12520) |
***
# macOS 13
- OS Version: macOS 13.7.6 (22H625)
- Kernel Version: Darwin 22.6.0
- Image Version: 20250908.1476
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.413, 9.0.102, 9.0.203, 9.0.304
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.1.0) - available by `gcc-15` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.1.0) - available by `gfortran-15` alias
- Kotlin 2.2.10-release-430
- Mono 6.12.0.188
- Node.js 20.19.5
- Perl 5.40.2
- PHP 8.4.12
- Python3 3.13.7
- Ruby 3.3.9
### Package Management
- Bundler 2.7.1
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.8.11
- Homebrew 4.6.9
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 25.2 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.7.1
- Vcpkg 2025 (build from commit 4a7ce81d91)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.0.0
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.30.0
- bazel 8.4.0
- bazelisk 1.27.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.15.0
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.78.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.0
- pkgconf 2.5.1
- Unxip 3.1
- yq 4.47.1
- zstd 1.5.7
- Ninja 1.13.1
### Tools
- AWS CLI 2.28.25
- AWS SAM CLI 1.143.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.77.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.37.4
- Cmake 4.1.1
- CodeQL Action Bundle 2.23.0
- Fastlane 2.228.0
- SwiftFormat 0.57.2
- Xcbeautify 2.30.1
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.2
### Linters
- SwiftLint 0.61.0
### Browsers
- Safari 18.5 (18621.2.5.18.1)
- SafariDriver 18.5 (18621.2.5.18.1)
- Google Chrome 140.0.7339.81
- Google Chrome for Testing 140.0.7339.80
- ChromeDriver 140.0.7339.80
- Microsoft Edge 140.0.3485.54
- Microsoft Edge WebDriver 140.0.3485.54
- Mozilla Firefox 142.0.1
- geckodriver 0.36.0
- Selenium server 4.35.0
#### Environment variables
| Name | Value |
| --------------- | ------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 |
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
| 8.0.462+8 | JAVA_HOME_8_X64 |
| 11.0.28+6 | JAVA_HOME_11_X64 |
| 17.0.16+8 (default) | JAVA_HOME_17_X64 |
| 21.0.8+9.0 | JAVA_HOME_21_X64 |
### Cached Tools
#### PyPy
- 2.7.18 [PyPy 7.3.20]
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
- 3.10.16 [PyPy 7.3.19]
#### Ruby
- 3.1.7
- 3.2.9
- 3.3.9
- 3.4.5
#### Python
- 3.8.18
- 3.9.23
- 3.10.18
- 3.11.9
- 3.12.10
- 3.13.7
#### Node.js
- 18.20.8
- 20.19.5
- 22.19.0
#### Go
- 1.22.12
- 1.23.12
- 1.24.7
- 1.25.1
### Rust Tools
- Cargo 1.89.0
- Rust 1.89.0
- Rustdoc 1.89.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.89
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
| macOS 13.0 | macosx13.0 | 14.1 |
| macOS 13.1 | macosx13.1 | 14.2 |
| macOS 13.3 | macosx13.3 | 14.3.1 |
| macOS 14.0 | macosx14.0 | 15.0.1 |
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| iOS 16.1 | iphoneos16.1 | 14.1 |
| iOS 16.2 | iphoneos16.2 | 14.2 |
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 |
| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 |
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 |
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 |
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| watchOS 9.1 | watchos9.1 | 14.1, 14.2 |
| watchOS 9.4 | watchos9.4 | 14.3.1 |
| watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 |
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| DriverKit 22.1 | driverkit22.1 | 14.1 |
| DriverKit 22.2 | driverkit22.2 | 14.2 |
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>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) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| 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) |
| 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) |
| watchOS 9.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 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| 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 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) |
| 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 | 36.1.9 |
| 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-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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 | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.3.13750724<br>28.2.13676358 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.17
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.0.1-57243/ParallelsDesktop-26.0.1-57243.dmg |
##### Notes
```
If you want to use Parallels Desktop you should download a package from URL stored in
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
```
-258
View File
@@ -1,258 +0,0 @@
| Announcements |
|-|
| [[macOS] Cmake will be updated to version 4.* on September 8th](https://github.com/actions/runner-images/issues/12934) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [[macOS] macos-latest YAML-label will use macos-15 in August 2025](https://github.com/actions/runner-images/issues/12520) |
***
# macOS 13
- OS Version: macOS 13.7.6 (22H625)
- Kernel Version: Darwin 22.6.0
- Image Version: 20250908.1545
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.413, 9.0.102, 9.0.203, 9.0.304
- Bash 3.2.57(1)-release
- Clang/LLVM 14.0.0
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.1.0) - available by `gcc-15` alias
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.1.0) - available by `gfortran-15` alias
- Kotlin 2.2.10-release-430
- Mono 6.12.0.188
- Node.js 20.19.5
- Perl 5.40.2
- Python3 3.13.7
- Ruby 3.3.9
### Package Management
- Bundler 2.7.1
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 4.6.9
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 25.2 (python 3.13)
- Pipx 1.7.1
- RubyGems 3.7.1
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.0.0
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.30.0
- bazel 8.4.0
- bazelisk 1.27.0
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.1
- Git LFS 3.7.0
- GitHub CLI 2.78.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.0
- pkgconf 2.5.1
- Unxip 3.1
- yq 4.47.1
- zstd 1.5.7
- Ninja 1.13.1
### Tools
- AWS CLI 2.28.25
- AWS SAM CLI 1.143.0
- AWS Session Manager CLI 1.2.707.0
- Azure CLI 2.77.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.37.4
- Cmake 4.1.1
- CodeQL Action Bundle 2.23.0
- Fastlane 2.228.0
- SwiftFormat 0.57.2
- Xcbeautify 2.30.1
- Xcode Command Line Tools 14.3.1.0.1.1683849156
- Xcodes 1.6.2
### Linters
### Browsers
- Safari 18.5 (18621.2.5.18.1)
- SafariDriver 18.5 (18621.2.5.18.1)
- Google Chrome 140.0.7339.81
- Google Chrome for Testing 140.0.7339.80
- ChromeDriver 140.0.7339.80
- Microsoft Edge 140.0.3485.54
- Microsoft Edge WebDriver 140.0.3485.54
- Mozilla Firefox 142.0.1
- geckodriver 0.36.0
- Selenium server 4.35.0
#### Environment variables
| Name | Value |
| --------------- | --------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 |
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
| GECKOWEBDRIVER | /opt/homebrew/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
| 11.0.28+6 | JAVA_HOME_11_arm64 |
| 17.0.16+8 (default) | JAVA_HOME_17_arm64 |
| 21.0.8+9.0 | JAVA_HOME_21_arm64 |
### Cached Tools
#### Ruby
- 3.1.7
- 3.2.9
- 3.3.9
- 3.4.5
#### Python
- 3.11.9
- 3.12.10
- 3.13.7
#### Node.js
- 18.20.8
- 20.19.5
- 22.19.0
#### Go
- 1.22.12
- 1.23.12
- 1.24.7
- 1.25.1
### Rust Tools
- Cargo 1.89.0
- Rust 1.89.0
- Rustdoc 1.89.0
- Rustup 1.28.2
#### Packages
- Clippy 0.1.89
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.11
#### PowerShell Modules
- Az: 12.5.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
| 15.2 (default) | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app<br>/Applications/Xcode.app |
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
| macOS 13.0 | macosx13.0 | 14.1 |
| macOS 13.1 | macosx13.1 | 14.2 |
| macOS 13.3 | macosx13.3 | 14.3.1 |
| macOS 14.0 | macosx14.0 | 15.0.1 |
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
| iOS 16.1 | iphoneos16.1 | 14.1 |
| iOS 16.2 | iphoneos16.2 | 14.2 |
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
| Simulator - iOS 16.1 | iphonesimulator16.1 | 14.1 |
| Simulator - iOS 16.2 | iphonesimulator16.2 | 14.2 |
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
| tvOS 16.1 | appletvos16.1 | 14.1, 14.2 |
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
| Simulator - tvOS 16.1 | appletvsimulator16.1 | 14.1, 14.2 |
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
| watchOS 9.1 | watchos9.1 | 14.1, 14.2 |
| watchOS 9.4 | watchos9.4 | 14.3.1 |
| watchOS 10.0 | watchos10.0 | 15.0.1 |
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
| Simulator - watchOS 9.1 | watchsimulator9.1 | 14.1, 14.2 |
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
| visionOS 1.0 | xros1.0 | 15.2 |
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
| DriverKit 22.1 | driverkit22.1 | 14.1 |
| DriverKit 22.2 | driverkit22.2 | 14.2 |
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
#### Installed Simulators
| OS | Simulators |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 16.1 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.2 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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 16.4 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 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.0 | iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>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 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>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) |
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 16.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| 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) |
| 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) |
| watchOS 9.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 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
| 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 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) |
| 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) |
| visionOS 1.0 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 36.1.9 |
| Android SDK Build-tools | 36.0.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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 | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.3.13750724<br>28.2.13676358 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/28.2.13676358 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.17
+94 -97
View File
@@ -1,108 +1,105 @@
| Announcements |
|-|
| [[macOS] Deprecation of Xcode 16.4 on macOS 26 on December 8th.](https://github.com/actions/runner-images/issues/13345) |
| [[macOS] The macOS 13 Ventura based runner images will begin deprecation on September 22nd and will be fully unsupported by December 4th for GitHub and ADO](https://github.com/actions/runner-images/issues/13046) |
| [[macOS] The additional macOS 15 Sonoma Intel-based image will be available in GitHub Actions](https://github.com/actions/runner-images/issues/13045) |
| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 14
- OS Version: macOS 14.8.2 (23J126)
- OS Version: macOS 14.8.5 (23J423)
- Kernel Version: Darwin 23.6.0
- Image Version: 20251203.0047.1
- Image Version: 20260408.0396.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.416, 9.0.102, 9.0.203, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- 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 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias
- Kotlin 2.2.21-release-469
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Mono 6.12.0.188
- Node.js 20.19.6
- Perl 5.40.2
- PHP 8.5.0
- Python3 3.14.0
- Ruby 3.3.10
- Node.js 20.20.2
- Perl 5.42.2
- PHP 8.5.4
- Python3 3.14.3
- Ruby 3.3.11
### Package Management
- Bundler 4.0.0
- Bundler 4.0.10
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.9.2
- Homebrew 5.0.4
- Composer 2.9.5
- Homebrew 5.1.5
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 25.3 (python 3.14)
- Pipx 1.8.0
- RubyGems 4.0.0
- Vcpkg 2025 (build from commit 4c4abc2e87)
- Pip3 26.0 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.10
- Vcpkg 2026 (build from commit ffffe61956)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.2.1
- Apache Ant 1.10.16
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.31.0
- bazel 8.4.2
- bazelisk 1.27.0
- azcopy 10.32.2
- bazel 9.0.1
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.17.0
- Git 2.50.1
- Curl 8.19.0
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.83.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.3
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.49.2
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.32.8
- AWS SAM CLI 1.149.0
- AWS Session Manager CLI 1.2.764.0
- Azure CLI 2.81.0
- AWS CLI 2.34.26
- AWS SAM CLI 1.157.1
- AWS Session Manager CLI 1.2.792.0
- Azure CLI 2.85.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.39.26
- Cmake 4.2.0
- CodeQL Action Bundle 2.23.6
- Fastlane 2.229.1
- SwiftFormat 0.58.7
- Xcbeautify 3.1.1
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.60.1
- Xcbeautify 3.2.1
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.2
### Linters
- SwiftLint 0.62.2
- SwiftLint 0.63.2
### Browsers
- Safari 26.1 (19622.2.11.119.1)
- SafariDriver 26.1 (19622.2.11.119.1)
- Google Chrome 143.0.7499.41
- Google Chrome for Testing 143.0.7499.40
- ChromeDriver 143.0.7499.40
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Mozilla Firefox 145.0.2
- Safari 26.4 (19624.1.16.18.2)
- SafariDriver 26.4 (19624.1.16.18.2)
- Google Chrome 147.0.7727.56
- Google Chrome for Testing 147.0.7727.56
- ChromeDriver 147.0.7727.56
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Mozilla Firefox 149.0.2
- geckodriver 0.36.0
- Selenium server 4.38.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
@@ -114,55 +111,55 @@
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 8.0.472+8 | JAVA_HOME_8_X64 |
| 11.0.29+7 | JAVA_HOME_11_X64 |
| 17.0.17+10 | JAVA_HOME_17_X64 |
| 21.0.9+10.0 (default) | JAVA_HOME_21_X64 |
| 25.0.1+8.0 | JAVA_HOME_25_X64 |
| 8.0.482+8 | JAVA_HOME_8_X64 |
| 11.0.30+7 | JAVA_HOME_11_X64 |
| 17.0.18+8 | JAVA_HOME_17_X64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_X64 |
| 25.0.2+10.0 | JAVA_HOME_25_X64 |
### Cached Tools
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.9.25
- 3.10.19
- 3.10.20
- 3.11.9
- 3.12.10
- 3.13.10
- 3.14.1
- 3.13.13
- 3.14.4
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.22.12
- 1.23.12
- 1.24.11
- 1.25.5
- 1.24.13
- 1.25.9
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.91
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
@@ -260,27 +257,27 @@
| watchOS 11.2 | 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 | 36.2.12 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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 | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.3.13750724<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/29.0.14206865 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
@@ -289,7 +286,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.1.2-57293/ParallelsDesktop-26.1.2-57293.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.3.0-57392/ParallelsDesktop-26.3.0-57392.dmg |
##### Notes
```
+87 -89
View File
@@ -1,103 +1,100 @@
| Announcements |
|-|
| [[macOS] Deprecation of Xcode 16.4 on macOS 26 on December 8th.](https://github.com/actions/runner-images/issues/13345) |
| [[macOS] The macOS 13 Ventura based runner images will begin deprecation on September 22nd and will be fully unsupported by December 4th for GitHub and ADO](https://github.com/actions/runner-images/issues/13046) |
| [[macOS] The additional macOS 15 Sonoma Intel-based image will be available in GitHub Actions](https://github.com/actions/runner-images/issues/13045) |
| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 14
- OS Version: macOS 14.8.2 (23J126)
- OS Version: macOS 14.8.5 (23J423)
- Kernel Version: Darwin 23.6.0
- Image Version: 20251203.0037.1
- Image Version: 20260407.0213.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.416, 9.0.102, 9.0.203, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- 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 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias
- Kotlin 2.2.21-release-469
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Mono 6.12.0.188
- Node.js 20.19.6
- Perl 5.40.2
- Python3 3.14.0
- Ruby 3.3.10
- Node.js 20.20.2
- Perl 5.42.2
- Python3 3.14.3
- Ruby 3.3.11
### Package Management
- Bundler 4.0.0
- Bundler 4.0.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 5.0.4
- Homebrew 5.1.4
- NPM 10.8.2
- NuGet 6.3.1.1
- Pip3 25.3 (python 3.14)
- Pipx 1.8.0
- RubyGems 4.0.0
- Vcpkg 2025 (build from commit 80d025e829)
- Pip3 26.0 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.9
- Vcpkg 2026 (build from commit 81e3c888ef)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.2.1
- Apache Ant 1.10.16
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.31.0
- bazel 8.4.2
- bazelisk 1.27.0
- azcopy 10.32.2
- bazel 9.0.1
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.1
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.83.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.3
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.49.2
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.32.8
- AWS SAM CLI 1.149.0
- AWS Session Manager CLI 1.2.764.0
- Azure CLI 2.81.0
- AWS CLI 2.34.25
- AWS SAM CLI 1.157.1
- AWS Session Manager CLI 1.2.792.0
- Azure CLI 2.84.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.39.26
- Cmake 4.2.0
- CodeQL Action Bundle 2.23.6
- Fastlane 2.229.1
- SwiftFormat 0.58.7
- Xcbeautify 3.1.1
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.60.1
- Xcbeautify 3.2.1
- Xcode Command Line Tools 16.2.0.0.1.1733547573
- Xcodes 1.6.2
### Browsers
- Safari 26.1 (19622.2.11.119.1)
- SafariDriver 26.1 (19622.2.11.119.1)
- Google Chrome 143.0.7499.41
- Google Chrome for Testing 143.0.7499.40
- ChromeDriver 143.0.7499.40
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Mozilla Firefox 145.0.2
- Safari 26.4 (19624.1.16.18.2)
- SafariDriver 26.4 (19624.1.16.18.2)
- Google Chrome 146.0.7680.178
- Google Chrome for Testing 146.0.7680.165
- ChromeDriver 146.0.7680.165
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Mozilla Firefox 149.0
- geckodriver 0.36.0
- Selenium server 4.38.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
@@ -109,52 +106,53 @@
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.29+7 | JAVA_HOME_11_arm64 |
| 17.0.17+10 | JAVA_HOME_17_arm64 |
| 21.0.9+10.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.1+8.0 | JAVA_HOME_25_arm64 |
| 11.0.30+7 | JAVA_HOME_11_arm64 |
| 17.0.18+8 | JAVA_HOME_17_arm64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.2+10.0 | JAVA_HOME_25_arm64 |
### Cached Tools
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.11.9
- 3.12.10
- 3.13.9
- 3.14.0
- 3.13.12
- 3.14.3
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.22.12
- 1.23.12
- 1.24.11
- 1.25.5
- 1.24.13
- 1.25.8
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.91
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
@@ -257,27 +255,27 @@
| visionOS 2.2 | 2.2 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 36.2.12 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0<br>33.0.2 33.0.3 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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 | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264 (default)<br>27.3.13750724<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 11.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/29.0.14206865 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
+106 -101
View File
@@ -1,106 +1,103 @@
| Announcements |
|-|
| [[macOS] Deprecation of Xcode 16.4 on macOS 26 on December 8th.](https://github.com/actions/runner-images/issues/13345) |
| [[macOS] The macOS 13 Ventura based runner images will begin deprecation on September 22nd and will be fully unsupported by December 4th for GitHub and ADO](https://github.com/actions/runner-images/issues/13046) |
| [[macOS] The additional macOS 15 Sonoma Intel-based image will be available in GitHub Actions](https://github.com/actions/runner-images/issues/13045) |
| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 15
- OS Version: macOS 15.7.2 (24G325)
- OS Version: macOS 15.7.5 (24G617)
- Kernel Version: Darwin 24.6.0
- Image Version: 20251203.0058.1
- Image Version: 20260406.0361.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.416, 9.0.102, 9.0.203, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- Bash 3.2.57(1)-release
- Clang/LLVM 17.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias
- Kotlin 2.2.21-release-469
- Node.js 22.21.1
- Perl 5.40.2
- PHP 8.5.0
- Python3 3.14.0
- Ruby 3.3.10
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Node.js 22.22.2
- Perl 5.42.2
- PHP 8.5.4
- Python3 3.14.3
- Ruby 3.3.11
### Package Management
- Bundler 4.0.0
- Bundler 4.0.9
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.9.2
- Homebrew 5.0.4
- NPM 10.9.4
- Pip3 25.3 (python 3.14)
- Pipx 1.8.0
- RubyGems 4.0.0
- Vcpkg 2025 (build from commit 80d025e829)
- Composer 2.9.5
- Homebrew 5.1.3
- NPM 10.9.7
- Pip3 26.0 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.9
- Vcpkg 2026 (build from commit 77df67cfff)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.2.1
- Apache Ant 1.10.16
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.31.0
- bazel 8.4.2
- bazelisk 1.27.0
- azcopy 10.32.2
- bazel 9.0.1
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.17.0
- Git 2.50.1
- Curl 8.19.0
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.83.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.3
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.49.2
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.32.8
- AWS SAM CLI 1.149.0
- AWS Session Manager CLI 1.2.764.0
- Azure CLI 2.81.0
- AWS CLI 2.34.24
- AWS SAM CLI 1.157.1
- AWS Session Manager CLI 1.2.792.0
- Azure CLI 2.84.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.39.26
- Cmake 4.2.0
- CodeQL Action Bundle 2.23.6
- Fastlane 2.229.1
- SwiftFormat 0.58.7
- Xcbeautify 3.1.1
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.60.1
- Xcbeautify 3.2.1
- Xcode Command Line Tools 16.4.0.0.1.1747106510
- Xcodes 1.6.2
### Linters
- SwiftLint 0.62.2
- SwiftLint 0.63.2
### Browsers
- Safari 26.1 (20622.2.11.119.1)
- SafariDriver 26.1 (20622.2.11.119.1)
- Google Chrome 143.0.7499.41
- Google Chrome for Testing 143.0.7499.40
- ChromeDriver 143.0.7499.40
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Mozilla Firefox 145.0.2
- Safari 26.4 (20624.1.16.18.2)
- SafariDriver 26.4 (20624.1.16.18.2)
- Google Chrome 146.0.7680.178
- Google Chrome for Testing 146.0.7680.165
- ChromeDriver 146.0.7680.165
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Mozilla Firefox 149.0
- geckodriver 0.36.0
- Selenium server 4.38.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
@@ -112,58 +109,60 @@
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.29+7 | JAVA_HOME_11_X64 |
| 17.0.17+10 | JAVA_HOME_17_X64 |
| 21.0.9+10.0 (default) | JAVA_HOME_21_X64 |
| 25.0.1+8.0 | JAVA_HOME_25_X64 |
| 11.0.30+7 | JAVA_HOME_11_X64 |
| 17.0.18+8 | JAVA_HOME_17_X64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_X64 |
| 25.0.2+10.0 | JAVA_HOME_25_X64 |
### Cached Tools
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.9.25
- 3.10.19
- 3.10.20
- 3.11.9
- 3.12.10
- 3.13.10
- 3.14.1
- 3.13.12
- 3.14.3
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.22.12
- 1.23.12
- 1.24.11
- 1.25.5
- 1.24.13
- 1.25.8
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.91
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | ------------------------------ | -------------------------------------------------------------- |
| 26.3 | 17C529 | /Applications/Xcode_26.3.app | /Applications/Xcode_26.3.0.app |
| 26.2 | 17C52 | /Applications/Xcode_26.2.app | /Applications/Xcode_26.2.0.app |
| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app |
| 26.0.1 | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app |
| 16.4 (default) | 16F6 | /Applications/Xcode_16.4.app | /Applications/Xcode_16.4.0.app<br>/Applications/Xcode.app |
@@ -182,6 +181,7 @@
| macOS 15.5 | macosx15.5 | 16.4 |
| macOS 26.0 | macosx26.0 | 26.0.1 |
| macOS 26.1 | macosx26.1 | 26.1.1 |
| macOS 26.2 | macosx26.2 | 26.2, 26.3 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
@@ -189,6 +189,7 @@
| iOS 18.5 | iphoneos18.5 | 16.4 |
| iOS 26.0 | iphoneos26.0 | 26.0.1 |
| iOS 26.1 | iphoneos26.1 | 26.1.1 |
| iOS 26.2 | iphoneos26.2 | 26.2, 26.3 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
@@ -196,6 +197,7 @@
| Simulator - iOS 18.5 | iphonesimulator18.5 | 16.4 |
| Simulator - iOS 26.0 | iphonesimulator26.0 | 26.0.1 |
| Simulator - iOS 26.1 | iphonesimulator26.1 | 26.1.1 |
| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2, 26.3 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
@@ -203,6 +205,7 @@
| tvOS 18.5 | appletvos18.5 | 16.4 |
| tvOS 26.0 | appletvos26.0 | 26.0.1 |
| tvOS 26.1 | appletvos26.1 | 26.1.1 |
| tvOS 26.2 | appletvos26.2 | 26.2, 26.3 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
@@ -210,6 +213,7 @@
| Simulator - tvOS 18.5 | appletvsimulator18.5 | 16.4 |
| Simulator - tvOS 26.0 | appletvsimulator26.0 | 26.0.1 |
| Simulator - tvOS 26.1 | appletvsimulator26.1 | 26.1.1 |
| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2, 26.3 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
@@ -217,6 +221,7 @@
| watchOS 11.5 | watchos11.5 | 16.4 |
| watchOS 26.0 | watchos26.0 | 26.0.1 |
| watchOS 26.1 | watchos26.1 | 26.1.1 |
| watchOS 26.2 | watchos26.2 | 26.2, 26.3 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
@@ -224,6 +229,7 @@
| Simulator - watchOS 11.5 | watchsimulator11.5 | 16.4 |
| Simulator - watchOS 26.0 | watchsimulator26.0 | 26.0.1 |
| Simulator - watchOS 26.1 | watchsimulator26.1 | 26.1.1 |
| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2, 26.3 |
| visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
@@ -231,6 +237,7 @@
| visionOS 2.5 | xros2.5 | 16.4 |
| visionOS 26.0 | xros26.0 | 26.0.1 |
| visionOS 26.1 | xros26.1 | 26.1.1 |
| visionOS 26.2 | xros26.2 | 26.2, 26.3 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
@@ -238,6 +245,7 @@
| Simulator - visionOS 2.5 | xrsimulator2.5 | 16.4 |
| Simulator - visionOS 26.0 | xrsimulator26.0 | 26.0.1 |
| Simulator - visionOS 26.1 | xrsimulator26.1 | 26.1.1 |
| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2, 26.3 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
@@ -245,39 +253,36 @@
| DriverKit 24.5 | driverkit24.5 | 16.4 |
| DriverKit 25.0 | driverkit25.0 | 26.0.1 |
| DriverKit 25.1 | driverkit25.1 | 26.1.1 |
| DriverKit 25.2 | driverkit25.2 | 26.2, 26.3 |
#### Installed Simulators
| Name | OS | Simulators |
| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.4 | 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) |
| iOS 18.5 | 18.5 | 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.6 | 18.6 | 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 26.0 | 26.0.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| iOS 26.1 | 26.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| tvOS 18.2 | 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.4 | 18.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| iOS 26.2 | 26.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| tvOS 18.5 | 18.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.0 | 26.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.1 | 26.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.2 | 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 | 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) |
| tvOS 26.2 | 26.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.5 | 11.5 | 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 26.0 | 26.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.1 | 26.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.2 | 26.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.2.12 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
@@ -295,7 +300,7 @@
#### Environment variables
| Name | Value |
| ----------------- | ----------------------------------------------------------------------------------------- |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.1.2-57293/ParallelsDesktop-26.1.2-57293.dmg |
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v26/26.3.0-57392/ParallelsDesktop-26.3.0-57392.dmg |
##### Notes
```
+101 -95
View File
@@ -1,101 +1,98 @@
| Announcements |
|-|
| [[macOS] Deprecation of Xcode 16.4 on macOS 26 on December 8th.](https://github.com/actions/runner-images/issues/13345) |
| [[macOS] The macOS 13 Ventura based runner images will begin deprecation on September 22nd and will be fully unsupported by December 4th for GitHub and ADO](https://github.com/actions/runner-images/issues/13046) |
| [[macOS] The additional macOS 15 Sonoma Intel-based image will be available in GitHub Actions](https://github.com/actions/runner-images/issues/13045) |
| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 15
- OS Version: macOS 15.7.2 (24G325)
- OS Version: macOS 15.7.4 (24G517)
- Kernel Version: Darwin 24.6.0
- Image Version: 20251203.0057.1
- Image Version: 20260414.0270.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.416, 9.0.102, 9.0.203, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- Bash 3.2.57(1)-release
- Clang/LLVM 17.0.0
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias
- Kotlin 2.2.21-release-469
- Node.js 22.21.1
- Perl 5.40.2
- Python3 3.14.0
- Ruby 3.3.10
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Node.js 22.22.2
- Perl 5.42.2
- Python3 3.14.4
- Ruby 3.3.11
### Package Management
- Bundler 4.0.0
- Bundler 4.0.10
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 5.0.4
- NPM 10.9.4
- Pip3 25.3 (python 3.14)
- Pipx 1.8.0
- RubyGems 4.0.0
- Vcpkg 2025 (build from commit 80d025e829)
- Homebrew 5.1.6
- NPM 10.9.7
- Pip3 26.0.1 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.10
- Vcpkg 2026 (build from commit faadc334fd)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.2.1
- Apache Ant 1.10.17
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.31.0
- bazel 8.4.2
- bazelisk 1.27.0
- azcopy 10.32.2
- bazel 9.0.2
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.1
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.83.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 1.1.1w 11 Sep 2023
- Packer 1.14.3
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.49.2
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.32.8
- AWS SAM CLI 1.149.0
- AWS Session Manager CLI 1.2.764.0
- Azure CLI 2.81.0
- AWS CLI 2.34.30
- AWS SAM CLI 1.158.0
- AWS Session Manager CLI 1.2.804.0
- Azure CLI 2.85.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.39.26
- Cmake 4.2.0
- CodeQL Action Bundle 2.23.6
- Fastlane 2.229.1
- SwiftFormat 0.58.7
- Xcbeautify 3.1.1
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.61.0
- Xcbeautify 3.2.1
- Xcode Command Line Tools 16.4.0.0.1.1747106510
- Xcodes 1.6.2
### Browsers
- Safari 26.1 (20622.2.11.119.1)
- SafariDriver 26.1 (20622.2.11.119.1)
- Google Chrome 143.0.7499.41
- Google Chrome for Testing 143.0.7499.40
- ChromeDriver 143.0.7499.40
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Mozilla Firefox 145.0.2
- Safari 26.3 (20623.2.7.18.1)
- SafariDriver 26.3 (20623.2.7.18.1)
- Google Chrome 147.0.7727.56
- Google Chrome for Testing 147.0.7727.56
- ChromeDriver 147.0.7727.56
- Microsoft Edge 147.0.3912.60
- Microsoft Edge WebDriver 147.0.3912.60
- Mozilla Firefox 149.0.2
- geckodriver 0.36.0
- Selenium server 4.38.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
@@ -107,56 +104,59 @@
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.29+7 | JAVA_HOME_11_arm64 |
| 17.0.17+10 | JAVA_HOME_17_arm64 |
| 21.0.9+10.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.1+8.0 | JAVA_HOME_25_arm64 |
| 11.0.30+7 | JAVA_HOME_11_arm64 |
| 17.0.18+8 | JAVA_HOME_17_arm64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.2+10.0 | JAVA_HOME_25_arm64 |
### Cached Tools
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.11.9
- 3.12.10
- 3.13.10
- 3.14.1
- 3.13.13
- 3.14.4
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.22.12
- 1.23.12
- 1.24.11
- 1.25.5
- 1.24.13
- 1.25.9
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.91
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | ------------------------------ | -------------------------------------------------------------- |
| 26.3 | 17C529 | /Applications/Xcode_26.3.app | /Applications/Xcode_26.3.0.app |
| 26.2 | 17C52 | /Applications/Xcode_26.2.app | /Applications/Xcode_26.2.0.app |
| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app |
| 26.0.1 | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app |
| 16.4 (default) | 16F6 | /Applications/Xcode_16.4.app | /Applications/Xcode_16.4.0.app<br>/Applications/Xcode.app |
@@ -175,6 +175,7 @@
| macOS 15.5 | macosx15.5 | 16.4 |
| macOS 26.0 | macosx26.0 | 26.0.1 |
| macOS 26.1 | macosx26.1 | 26.1.1 |
| macOS 26.2 | macosx26.2 | 26.2, 26.3 |
| iOS 18.0 | iphoneos18.0 | 16.0 |
| iOS 18.1 | iphoneos18.1 | 16.1 |
| iOS 18.2 | iphoneos18.2 | 16.2 |
@@ -182,6 +183,7 @@
| iOS 18.5 | iphoneos18.5 | 16.4 |
| iOS 26.0 | iphoneos26.0 | 26.0.1 |
| iOS 26.1 | iphoneos26.1 | 26.1.1 |
| iOS 26.2 | iphoneos26.2 | 26.2, 26.3 |
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
@@ -189,6 +191,7 @@
| Simulator - iOS 18.5 | iphonesimulator18.5 | 16.4 |
| Simulator - iOS 26.0 | iphonesimulator26.0 | 26.0.1 |
| Simulator - iOS 26.1 | iphonesimulator26.1 | 26.1.1 |
| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2, 26.3 |
| tvOS 18.0 | appletvos18.0 | 16.0 |
| tvOS 18.1 | appletvos18.1 | 16.1 |
| tvOS 18.2 | appletvos18.2 | 16.2 |
@@ -196,6 +199,7 @@
| tvOS 18.5 | appletvos18.5 | 16.4 |
| tvOS 26.0 | appletvos26.0 | 26.0.1 |
| tvOS 26.1 | appletvos26.1 | 26.1.1 |
| tvOS 26.2 | appletvos26.2 | 26.2, 26.3 |
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
@@ -203,6 +207,7 @@
| Simulator - tvOS 18.5 | appletvsimulator18.5 | 16.4 |
| Simulator - tvOS 26.0 | appletvsimulator26.0 | 26.0.1 |
| Simulator - tvOS 26.1 | appletvsimulator26.1 | 26.1.1 |
| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2, 26.3 |
| watchOS 11.0 | watchos11.0 | 16.0 |
| watchOS 11.1 | watchos11.1 | 16.1 |
| watchOS 11.2 | watchos11.2 | 16.2 |
@@ -210,6 +215,7 @@
| watchOS 11.5 | watchos11.5 | 16.4 |
| watchOS 26.0 | watchos26.0 | 26.0.1 |
| watchOS 26.1 | watchos26.1 | 26.1.1 |
| watchOS 26.2 | watchos26.2 | 26.2, 26.3 |
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
@@ -217,6 +223,7 @@
| Simulator - watchOS 11.5 | watchsimulator11.5 | 16.4 |
| Simulator - watchOS 26.0 | watchsimulator26.0 | 26.0.1 |
| Simulator - watchOS 26.1 | watchsimulator26.1 | 26.1.1 |
| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2, 26.3 |
| visionOS 2.0 | xros2.0 | 16.0 |
| visionOS 2.1 | xros2.1 | 16.1 |
| visionOS 2.2 | xros2.2 | 16.2 |
@@ -224,6 +231,7 @@
| visionOS 2.5 | xros2.5 | 16.4 |
| visionOS 26.0 | xros26.0 | 26.0.1 |
| visionOS 26.1 | xros26.1 | 26.1.1 |
| visionOS 26.2 | xros26.2 | 26.2, 26.3 |
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
@@ -231,6 +239,7 @@
| Simulator - visionOS 2.5 | xrsimulator2.5 | 16.4 |
| Simulator - visionOS 26.0 | xrsimulator26.0 | 26.0.1 |
| Simulator - visionOS 26.1 | xrsimulator26.1 | 26.1.1 |
| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2, 26.3 |
| DriverKit 24.0 | driverkit24.0 | 16.0 |
| DriverKit 24.1 | driverkit24.1 | 16.1 |
| DriverKit 24.2 | driverkit24.2 | 16.2 |
@@ -238,44 +247,41 @@
| DriverKit 24.5 | driverkit24.5 | 16.4 |
| DriverKit 25.0 | driverkit25.0 | 26.0.1 |
| DriverKit 25.1 | driverkit25.1 | 26.1.1 |
| DriverKit 25.2 | driverkit25.2 | 26.2, 26.3 |
#### Installed Simulators
| Name | OS | Simulators |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.4 | 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) |
| iOS 18.5 | 18.5 | 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.6 | 18.6 | 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 26.0 | 26.0.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| iOS 26.1 | 26.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| tvOS 18.2 | 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 18.4 | 18.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| iOS 26.2 | 26.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<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 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| tvOS 18.5 | 18.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.0 | 26.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.1 | 26.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.2 | 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 | 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) |
| tvOS 26.2 | 26.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.5 | 11.5 | 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 26.0 | 26.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.1 | 26.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.2 | 26.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 2 (49mm)<br>Apple Watch Ultra 3 (49mm) |
| visionOS 2.3 | 2.3 | Apple Vision Pro |
| visionOS 2.4 | 2.4 | Apple Vision Pro |
| visionOS 2.5 | 2.5 | Apple Vision Pro |
| visionOS 26.0 | 26.0 | Apple Vision Pro |
| visionOS 26.1 | 26.1 | Apple Vision Pro |
| visionOS 26.2 | 26.2 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.2.12 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
+262
View File
@@ -0,0 +1,262 @@
| Announcements |
|-|
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 26
- OS Version: macOS 26.3.1 (25D2128)
- Kernel Version: Darwin 25.3.0
- Image Version: 20260409.0296.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- Bash 3.2.57(1)-release
- Clang/LLVM 17.0.0
- Clang/LLVM (Homebrew) 20.1.8 - available on `$(brew --prefix llvm@20)/bin/clang`
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Node.js 24.14.1
- Perl 5.42.2
- PHP 8.5.4
- Python3 3.14.3
- Ruby 3.4.9
### Package Management
- Bundler 4.0.10
- Carthage 0.40.0
- CocoaPods 1.16.2
- Composer 2.9.5
- Homebrew 5.1.5
- NPM 11.11.0
- Pip3 26.0 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.10
- Vcpkg 2026 (build from commit baababd134)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.16
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.32.2
- bazel 9.0.1
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.19.0
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 3.6.2 7 Apr 2026 (Library: OpenSSL 3.6.2 7 Apr 2026)
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.34.27
- AWS SAM CLI 1.157.1
- AWS Session Manager CLI 1.2.804.0
- Azure CLI 2.85.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.60.1
- Xcbeautify 3.2.1
- Xcode Command Line Tools 26.4.0.0.1774242506
- Xcodes 1.6.2
### Linters
- SwiftLint 0.63.2
### Browsers
- Safari 26.3.1 (21623.2.7.11.7)
- SafariDriver 26.3.1 (21623.2.7.11.7)
- Google Chrome 147.0.7727.56
- Google Chrome for Testing 147.0.7727.56
- ChromeDriver 147.0.7727.56
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Mozilla Firefox 149.0.2
- geckodriver 0.36.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
| --------------- | ------------------------------------- |
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-x64 |
| EDGEWEBDRIVER | /usr/local/share/edge_driver |
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.30+7 | JAVA_HOME_11_X64 |
| 17.0.18+8 | JAVA_HOME_17_X64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_X64 |
| 25.0.2+10.0 | JAVA_HOME_25_X64 |
### Cached Tools
#### Ruby
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.11.9
- 3.12.10
- 3.13.13
- 3.14.4
#### Node.js
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.23.12
- 1.24.13
- 1.25.9
### Rust Tools
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
| -------------- | -------- | --------------------------------- | -------------------------------------------------------------- |
| 26.5 (beta) | 17F5012f | /Applications/Xcode_26.5_beta.app | /Applications/Xcode_26.5.0.app<br>/Applications/Xcode_26.5.app |
| 26.4 | 17E192 | /Applications/Xcode_26.4.app | /Applications/Xcode_26.4.0.app |
| 26.3 | 17C529 | /Applications/Xcode_26.3.app | /Applications/Xcode_26.3.0.app |
| 26.2 (default) | 17C52 | /Applications/Xcode_26.2.app | /Applications/Xcode_26.2.0.app<br>/Applications/Xcode.app |
| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app |
| 26.0.1 | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------- | -------------------- | ------------- |
| macOS 26.0 | macosx26.0 | 26.0.1 |
| macOS 26.1 | macosx26.1 | 26.1.1 |
| macOS 26.2 | macosx26.2 | 26.2, 26.3 |
| macOS 26.4 | macosx26.4 | 26.4 |
| macOS 26.5 | macosx26.5 | 26.5 |
| iOS 26.0 | iphoneos26.0 | 26.0.1 |
| iOS 26.1 | iphoneos26.1 | 26.1.1 |
| iOS 26.2 | iphoneos26.2 | 26.2, 26.3 |
| iOS 26.4 | iphoneos26.4 | 26.4 |
| iOS 26.5 | iphoneos26.5 | 26.5 |
| Simulator - iOS 26.0 | iphonesimulator26.0 | 26.0.1 |
| Simulator - iOS 26.1 | iphonesimulator26.1 | 26.1.1 |
| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2, 26.3 |
| Simulator - iOS 26.4 | iphonesimulator26.4 | 26.4 |
| Simulator - iOS 26.5 | iphonesimulator26.5 | 26.5 |
| tvOS 26.0 | appletvos26.0 | 26.0.1 |
| tvOS 26.1 | appletvos26.1 | 26.1.1 |
| tvOS 26.2 | appletvos26.2 | 26.2, 26.3 |
| tvOS 26.4 | appletvos26.4 | 26.4 |
| tvOS 26.5 | appletvos26.5 | 26.5 |
| Simulator - tvOS 26.0 | appletvsimulator26.0 | 26.0.1 |
| Simulator - tvOS 26.1 | appletvsimulator26.1 | 26.1.1 |
| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2, 26.3 |
| Simulator - tvOS 26.4 | appletvsimulator26.4 | 26.4 |
| Simulator - tvOS 26.5 | appletvsimulator26.5 | 26.5 |
| watchOS 26.0 | watchos26.0 | 26.0.1 |
| watchOS 26.1 | watchos26.1 | 26.1.1 |
| watchOS 26.2 | watchos26.2 | 26.2, 26.3 |
| watchOS 26.4 | watchos26.4 | 26.4 |
| watchOS 26.5 | watchos26.5 | 26.5 |
| Simulator - watchOS 26.0 | watchsimulator26.0 | 26.0.1 |
| Simulator - watchOS 26.1 | watchsimulator26.1 | 26.1.1 |
| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2, 26.3 |
| Simulator - watchOS 26.4 | watchsimulator26.4 | 26.4 |
| Simulator - watchOS 26.5 | watchsimulator26.5 | 26.5 |
| visionOS 26.0 | xros26.0 | 26.0.1 |
| visionOS 26.1 | xros26.1 | 26.1.1 |
| visionOS 26.2 | xros26.2 | 26.2, 26.3 |
| visionOS 26.4 | xros26.4 | 26.4 |
| visionOS 26.5 | xros26.5 | 26.5 |
| Simulator - visionOS 26.0 | xrsimulator26.0 | 26.0.1 |
| Simulator - visionOS 26.1 | xrsimulator26.1 | 26.1.1 |
| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2, 26.3 |
| Simulator - visionOS 26.4 | xrsimulator26.4 | 26.4 |
| Simulator - visionOS 26.5 | xrsimulator26.5 | 26.5 |
| DriverKit 25.0 | driverkit25.0 | 26.0.1 |
| DriverKit 25.1 | driverkit25.1 | 26.1.1 |
| DriverKit 25.2 | driverkit25.2 | 26.2, 26.3 |
| DriverKit 25.4 | driverkit25.4 | 26.4 |
| DriverKit 25.5 | driverkit25.5 | 26.5 |
#### Installed Simulators
| Name | OS | Simulators |
| ------------ | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 26.1 | 26.1 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| iOS 26.2 | 26.2 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| iOS 26.4 | 26.4 | iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone 17e<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M4)<br>iPad Air 13-inch (M4)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| tvOS 26.1 | 26.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.2 | 26.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.4 | 26.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 26.1 | 26.1 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.2 | 26.2 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.4 | 26.4 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
### Android
| Package Name | Version |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
| ----------------------- | --------------------------------------------------- |
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/29.0.14206865 |
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.17
+143 -131
View File
@@ -1,101 +1,98 @@
| Announcements |
|-|
| [[macOS] Deprecation of Xcode 16.4 on macOS 26 on December 8th.](https://github.com/actions/runner-images/issues/13345) |
| [[macOS] The macOS 13 Ventura based runner images will begin deprecation on September 22nd and will be fully unsupported by December 4th for GitHub and ADO](https://github.com/actions/runner-images/issues/13046) |
| [[macOS] The additional macOS 15 Sonoma Intel-based image will be available in GitHub Actions](https://github.com/actions/runner-images/issues/13045) |
| [macOS 26 (Tahoe) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/13008) |
| [[macOS] Deprecation of 4 tools on November 3rd.](https://github.com/actions/runner-images/issues/12873) |
| [macOS 26 (Tahoe) is now generally available in GitHub Actions](https://github.com/actions/runner-images/issues/13739) |
| [[macOS] The macOS 14 Sonoma based runner images will begin deprecation on July 6th and will be fully unsupported by November 2nd for GitHub Actions and Azure DevOps](https://github.com/actions/runner-images/issues/13518) |
***
# macOS 26
- OS Version: macOS 26.0.1 (25A362)
- Kernel Version: Darwin 25.0.0
- Image Version: 20251203.0070.1
- OS Version: macOS 26.3 (25D125)
- Kernel Version: Darwin 25.3.0
- Image Version: 20260408.0337.1
## Installed Software
### Language and Runtime
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.416, 9.0.102, 9.0.203, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.419, 9.0.102, 9.0.203, 9.0.312, 10.0.103, 10.0.201
- Bash 3.2.57(1)-release
- Clang/LLVM 17.0.0
- Clang/LLVM (Homebrew) 20.1.8 - available on `$(brew --prefix llvm@20)/bin/clang`
- GCC 13 (Homebrew GCC 13.4.0) - available by `gcc-13` alias
- GCC 14 (Homebrew GCC 14.3.0) - available by `gcc-14` alias
- GCC 15 (Homebrew GCC 15.2.0) - available by `gcc-15` alias
- GCC 15 (Homebrew GCC 15.2.0_1) - available by `gcc-15` alias
- GNU Fortran 13 (Homebrew GCC 13.4.0) - available by `gfortran-13` alias
- GNU Fortran 14 (Homebrew GCC 14.3.0) - available by `gfortran-14` alias
- GNU Fortran 15 (Homebrew GCC 15.2.0) - available by `gfortran-15` alias
- Kotlin 2.2.21-release-469
- Node.js 24.11.1
- Perl 5.40.2
- Python3 3.14.0
- Ruby 3.4.7
- GNU Fortran 15 (Homebrew GCC 15.2.0_1) - available by `gfortran-15` alias
- Kotlin 2.3.20-release-208
- Node.js 24.14.1
- Perl 5.42.2
- Python3 3.14.3
- Ruby 3.4.9
### Package Management
- Bundler 4.0.0
- Bundler 4.0.10
- Carthage 0.40.0
- CocoaPods 1.16.2
- Homebrew 5.0.4
- NPM 11.6.2
- Pip3 25.3 (python 3.14)
- Pipx 1.8.0
- RubyGems 4.0.0
- Vcpkg 2025 (build from commit 80d025e829)
- Homebrew 5.1.5
- NPM 11.11.0
- Pip3 26.0 (python 3.14)
- Pipx 1.11.1
- RubyGems 4.0.10
- Vcpkg 2026 (build from commit ffffe61956)
- Yarn 1.22.22
### Project Management
- Apache Ant 1.10.15
- Apache Maven 3.9.11
- Gradle 9.2.1
- Apache Ant 1.10.16
- Apache Maven 3.9.14
- Gradle 9.4.1
### Utilities
- 7-Zip 17.05
- aria2 1.37.0
- azcopy 10.31.0
- bazel 8.4.2
- bazelisk 1.27.0
- azcopy 10.32.2
- bazel 9.0.1
- bazelisk 1.28.1
- bsdtar 3.5.3 - available by 'tar' alias
- Curl 8.7.1
- Git 2.50.1
- Git 2.53.0
- Git LFS 3.7.1
- GitHub CLI 2.83.1
- GitHub CLI 2.89.0
- GNU Tar 1.35 - available by 'gtar' alias
- GNU Wget 1.25.0
- gpg (GnuPG) 2.4.8
- gpg (GnuPG) 2.5.18
- jq 1.8.1
- OpenSSL 3.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 2025)
- Packer 1.14.3
- OpenSSL 3.6.1 27 Jan 2026 (Library: OpenSSL 3.6.1 27 Jan 2026)
- Packer 1.15.1
- pkgconf 2.5.1
- Unxip 3.2
- yq 4.49.2
- Unxip 3.3
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### Tools
- AWS CLI 2.32.8
- AWS SAM CLI 1.149.0
- AWS Session Manager CLI 1.2.764.0
- Azure CLI 2.81.0
- AWS CLI 2.34.26
- AWS SAM CLI 1.157.1
- AWS Session Manager CLI 1.2.792.0
- Azure CLI 2.85.0
- Azure CLI (azure-devops) 1.0.2
- Bicep CLI 0.39.26
- Cmake 4.2.0
- CodeQL Action Bundle 2.23.6
- Fastlane 2.229.1
- SwiftFormat 0.58.7
- Xcbeautify 3.1.1
- Xcode Command Line Tools 26.1.0.0.1.1761104275
- Bicep CLI 0.42.1
- Cmake 4.3.1
- CodeQL Action Bundle 2.25.1
- Fastlane 2.232.2
- SwiftFormat 0.60.1
- Xcbeautify 3.2.1
- Xcode Command Line Tools 26.4.0.0.1774242506
- Xcodes 1.6.2
### Browsers
- Safari 26.0.1 (21622.1.22.11.15)
- SafariDriver 26.0.1 (21622.1.22.11.15)
- Google Chrome 143.0.7499.41
- Google Chrome for Testing 143.0.7499.40
- ChromeDriver 143.0.7499.40
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Mozilla Firefox 145.0.2
- Safari 26.3 (21623.2.7.11.6)
- SafariDriver 26.3 (21623.2.7.11.6)
- Google Chrome 147.0.7727.56
- Google Chrome for Testing 147.0.7727.56
- ChromeDriver 147.0.7727.56
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Mozilla Firefox 149.0.2
- geckodriver 0.36.0
- Selenium server 4.38.0
- Selenium server 4.41.0
#### Environment variables
| Name | Value |
@@ -107,134 +104,146 @@
### Java
| Version | Environment Variable |
| --------------------- | -------------------- |
| 11.0.29+7 | JAVA_HOME_11_arm64 |
| 17.0.17+10 | JAVA_HOME_17_arm64 |
| 21.0.9+10.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.1+8.0 | JAVA_HOME_25_arm64 |
| 11.0.30+7 | JAVA_HOME_11_arm64 |
| 17.0.18+8 | JAVA_HOME_17_arm64 |
| 21.0.10+7.0 (default) | JAVA_HOME_21_arm64 |
| 25.0.2+10.0 | JAVA_HOME_25_arm64 |
### Cached Tools
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
#### Python
- 3.11.9
- 3.12.10
- 3.13.10
- 3.14.1
- 3.13.13
- 3.14.4
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Go
- 1.23.12
- 1.24.11
- 1.25.5
- 1.24.13
- 1.25.9
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Clippy 0.1.91
- Clippy 0.1.94
- Rustfmt 1.8.0-stable
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 14.3.0
- Az: 14.6.0
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Xcode
| Version | Build | Path | Symlinks |
| ---------------- | -------- | ----------------------------------- | -------------------------------------------------------------- |
| 26.2 (beta) | 17C5038g | /Applications/Xcode_26.2_beta_2.app | /Applications/Xcode_26.2.0.app<br>/Applications/Xcode_26.2.app |
| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app |
| 26.0.1 (default) | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app<br>/Applications/Xcode.app |
| 16.4 | 16F6 | /Applications/Xcode_16.4.app | /Applications/Xcode_16.4.0.app |
| Version | Build | Path | Symlinks |
| -------------- | -------- | --------------------------------- | -------------------------------------------------------------- |
| 26.5 (beta) | 17F5012f | /Applications/Xcode_26.5_beta.app | /Applications/Xcode_26.5.0.app<br>/Applications/Xcode_26.5.app |
| 26.4 | 17E192 | /Applications/Xcode_26.4.app | /Applications/Xcode_26.4.0.app |
| 26.3 | 17C529 | /Applications/Xcode_26.3.app | /Applications/Xcode_26.3.0.app |
| 26.2 (default) | 17C52 | /Applications/Xcode_26.2.app | /Applications/Xcode_26.2.0.app<br>/Applications/Xcode.app |
| 26.1.1 | 17B100 | /Applications/Xcode_26.1.1.app | /Applications/Xcode_26.1.app |
| 26.0.1 | 17A400 | /Applications/Xcode_26.0.1.app | /Applications/Xcode_26.0.app |
#### Installed SDKs
| SDK | SDK Name | Xcode Version |
| ------------------------- | -------------------- | ------------- |
| macOS 15.5 | macosx15.5 | 16.4 |
| macOS 26.0 | macosx26.0 | 26.0.1 |
| macOS 26.1 | macosx26.1 | 26.1.1 |
| macOS 26.2 | macosx26.2 | 26.2 |
| iOS 18.5 | iphoneos18.5 | 16.4 |
| macOS 26.2 | macosx26.2 | 26.2, 26.3 |
| macOS 26.4 | macosx26.4 | 26.4 |
| macOS 26.5 | macosx26.5 | 26.5 |
| iOS 26.0 | iphoneos26.0 | 26.0.1 |
| iOS 26.1 | iphoneos26.1 | 26.1.1 |
| iOS 26.2 | iphoneos26.2 | 26.2 |
| Simulator - iOS 18.5 | iphonesimulator18.5 | 16.4 |
| iOS 26.2 | iphoneos26.2 | 26.2, 26.3 |
| iOS 26.4 | iphoneos26.4 | 26.4 |
| iOS 26.5 | iphoneos26.5 | 26.5 |
| Simulator - iOS 26.0 | iphonesimulator26.0 | 26.0.1 |
| Simulator - iOS 26.1 | iphonesimulator26.1 | 26.1.1 |
| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2 |
| tvOS 18.5 | appletvos18.5 | 16.4 |
| Simulator - iOS 26.2 | iphonesimulator26.2 | 26.2, 26.3 |
| Simulator - iOS 26.4 | iphonesimulator26.4 | 26.4 |
| Simulator - iOS 26.5 | iphonesimulator26.5 | 26.5 |
| tvOS 26.0 | appletvos26.0 | 26.0.1 |
| tvOS 26.1 | appletvos26.1 | 26.1.1 |
| tvOS 26.2 | appletvos26.2 | 26.2 |
| Simulator - tvOS 18.5 | appletvsimulator18.5 | 16.4 |
| tvOS 26.2 | appletvos26.2 | 26.2, 26.3 |
| tvOS 26.4 | appletvos26.4 | 26.4 |
| tvOS 26.5 | appletvos26.5 | 26.5 |
| Simulator - tvOS 26.0 | appletvsimulator26.0 | 26.0.1 |
| Simulator - tvOS 26.1 | appletvsimulator26.1 | 26.1.1 |
| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2 |
| watchOS 11.5 | watchos11.5 | 16.4 |
| Simulator - tvOS 26.2 | appletvsimulator26.2 | 26.2, 26.3 |
| Simulator - tvOS 26.4 | appletvsimulator26.4 | 26.4 |
| Simulator - tvOS 26.5 | appletvsimulator26.5 | 26.5 |
| watchOS 26.0 | watchos26.0 | 26.0.1 |
| watchOS 26.1 | watchos26.1 | 26.1.1 |
| watchOS 26.2 | watchos26.2 | 26.2 |
| Simulator - watchOS 11.5 | watchsimulator11.5 | 16.4 |
| watchOS 26.2 | watchos26.2 | 26.2, 26.3 |
| watchOS 26.4 | watchos26.4 | 26.4 |
| watchOS 26.5 | watchos26.5 | 26.5 |
| Simulator - watchOS 26.0 | watchsimulator26.0 | 26.0.1 |
| Simulator - watchOS 26.1 | watchsimulator26.1 | 26.1.1 |
| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2 |
| visionOS 2.5 | xros2.5 | 16.4 |
| Simulator - watchOS 26.2 | watchsimulator26.2 | 26.2, 26.3 |
| Simulator - watchOS 26.4 | watchsimulator26.4 | 26.4 |
| Simulator - watchOS 26.5 | watchsimulator26.5 | 26.5 |
| visionOS 26.0 | xros26.0 | 26.0.1 |
| visionOS 26.1 | xros26.1 | 26.1.1 |
| visionOS 26.2 | xros26.2 | 26.2 |
| Simulator - visionOS 2.5 | xrsimulator2.5 | 16.4 |
| visionOS 26.2 | xros26.2 | 26.2, 26.3 |
| visionOS 26.4 | xros26.4 | 26.4 |
| visionOS 26.5 | xros26.5 | 26.5 |
| Simulator - visionOS 26.0 | xrsimulator26.0 | 26.0.1 |
| Simulator - visionOS 26.1 | xrsimulator26.1 | 26.1.1 |
| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2 |
| DriverKit 24.5 | driverkit24.5 | 16.4 |
| Simulator - visionOS 26.2 | xrsimulator26.2 | 26.2, 26.3 |
| Simulator - visionOS 26.4 | xrsimulator26.4 | 26.4 |
| Simulator - visionOS 26.5 | xrsimulator26.5 | 26.5 |
| DriverKit 25.0 | driverkit25.0 | 26.0.1 |
| DriverKit 25.1 | driverkit25.1 | 26.1.1 |
| DriverKit 25.2 | driverkit25.2 | 26.2 |
| DriverKit 25.2 | driverkit25.2 | 26.2, 26.3 |
| DriverKit 25.4 | driverkit25.4 | 26.4 |
| DriverKit 25.5 | driverkit25.5 | 26.5 |
#### Installed Simulators
| Name | OS | Simulators |
| ------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 18.5 | 18.5 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPad (A16)<br>iPad Air 11-inch (M3)<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.6 | 18.6 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone 16e<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
| iOS 26.0 | 26.0.1 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M4)<br>iPad Pro 13-inch (M5) |
| iOS 26.1 | 26.1 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| tvOS 18.5 | 18.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.0 | 26.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.1 | 26.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 11.5 | 11.5 | 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 26.0 | 26.0 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.1 | 26.1 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| visionOS 2.5 | 2.5 | Apple Vision Pro |
| visionOS 26.0 | 26.0 | Apple Vision Pro |
| visionOS 26.1 | 26.1 | Apple Vision Pro |
| Name | OS | Simulators |
| ------------- | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| iOS 26.1 | 26.1 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| iOS 26.2 | 26.2 | iPhone 16e<br>iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M3)<br>iPad Air 13-inch (M3)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| iOS 26.4 | 26.4 | iPhone 17<br>iPhone 17 Pro<br>iPhone 17 Pro Max<br>iPhone 17e<br>iPhone Air<br>iPad (A16)<br>iPad Air 11-inch (M4)<br>iPad Air 13-inch (M4)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M5)<br>iPad Pro 13-inch (M5) |
| tvOS 26.1 | 26.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.2 | 26.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| tvOS 26.4 | 26.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
| watchOS 26.1 | 26.1 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.2 | 26.2 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| watchOS 26.4 | 26.4 | Apple Watch SE 3 (40mm)<br>Apple Watch SE 3 (44mm)<br>Apple Watch Series 11 (42mm)<br>Apple Watch Series 11 (46mm)<br>Apple Watch Ultra 3 (49mm) |
| visionOS 26.1 | 26.1 | Apple Vision Pro |
| visionOS 26.2 | 26.2 | Apple Vision Pro |
| visionOS 26.4 | 26.4 | Apple Vision Pro |
### Android
| Package Name | Version |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.2.12 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2) |
| Android SDK Platform-Tools | 36.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 16.0 |
| Android Emulator | 36.5.10 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>android-36 (rev 2)<br>android-35-ext15 (rev 1)<br>android-35-ext14 (rev 1)<br>android-35 (rev 2) |
| Android SDK Platform-Tools | 37.0.0 |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
@@ -246,3 +255,6 @@
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
### Miscellaneous
- Tcl/Tk 8.6.17
@@ -49,8 +49,3 @@ function Test-SimulatorInstalled {
# First run doesn't provide full data about devices
Get-XcodeInfoList | Out-Null
Write-Host "Validating and fixing Xcode simulators..."
Get-BrokenXcodeSimulatorsList | ForEach-Object {
Test-SimulatorInstalled -RuntimeId $_.RuntimeId -DeviceId $_.DeviceId -SimulatorName $_.SimulatorName -XcodeVersion $_.XcodeVersion
}
@@ -10,9 +10,12 @@ echo "Enabling developer mode..."
sudo /usr/sbin/DevToolsSecurity --enable
# Turn off hibernation and get rid of the sleepimage
sudo pmset hibernatemode 0
sudo pmset -a hibernatemode 0
sudo rm -f /var/vm/sleepimage
# Set computer, disk, and display sleep to never
sudo pmset -a sleep 0 disksleep 0 displaysleep 0
# Disable App Nap System Wide
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
@@ -42,7 +42,7 @@ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.PerfPowerServic
# Remove Parallels Desktop
# https://github.com/actions/runner-images/issues/6105
# https://github.com/actions/runner-images/issues/10143
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
brew uninstall parallels
fi
@@ -48,12 +48,7 @@ systemValuesArray=(
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
)
for values in "${systemValuesArray[@]}"; do
if ! is_Ventura; then
# TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else
configure_system_tccdb "$values"
fi
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
done
# $HOME/Library/Application\ Support/com.apple.TCC/TCC.db
@@ -100,10 +95,5 @@ userValuesArray=(
"'kTCCServiceUbiquity','com.apple.mail',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1551941469"
)
for values in "${userValuesArray[@]}"; do
if ! is_Ventura; then
# TCC access table in Sonoma and later has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
else
configure_user_tccdb "$values"
fi
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
done
@@ -6,7 +6,7 @@
source ~/utils/utils.sh
# Close System Preferences window because in Ventura arm64 it is opened by default on Apperance tab
# Close System Preferences window because since Ventura arm64 it is opened by default on Apperance tab
if is_Arm64; then
echo "Close System Preferences window"
osascript -e 'tell application "System Preferences" to quit'
@@ -17,7 +17,7 @@ for package in $common_packages; do
tcl-tk@8)
brew_smart_install "$package"
if is_VenturaX64 || is_SonomaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64 || is_TahoeX64; then
# Fix for https://github.com/actions/runner-images/issues/11074
ln -sf "$(brew --prefix tcl-tk@8)/lib/libtcl8.6.dylib" /usr/local/lib/libtcl8.6.dylib
ln -sf "$(brew --prefix tcl-tk@8)/lib/libtk8.6.dylib" /usr/local/lib/libtk8.6.dylib
@@ -42,22 +42,19 @@ for package in $cask_packages; do
done
# Load "Parallels International GmbH"
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
fi
# Execute AppleScript to change security preferences for macOS12, macOS13, macOS14 and macOS15
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
for retry in {4..0}; do
echo "Executing AppleScript to change security preferences. Retries left: $retry"
{
set -e
osascript -e 'tell application "System Events" to get application processes where visible is true'
if is_VenturaX64; then
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
fi
osascript -e 'tell application "System Events" to get application processes where visible is true'
if is_SonomaX64; then
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
fi
@@ -65,6 +62,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SequoiaX64; then
osascript $HOME/utils/confirm-identified-developers-macos15.scpt $USER_PASSWORD
fi
} && break
if [[ $retry -eq 0 ]]; then
@@ -78,7 +76,7 @@ if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
fi
# Validate "Parallels International GmbH" kext
if is_SonomaX64 || is_VenturaX64 || is_SequoiaX64; then
if is_SonomaX64 || is_SequoiaX64; then
echo "Closing System Settings window if it is still opened"
killall "System Settings" || true
+1 -9
View File
@@ -7,15 +7,7 @@
source ~/utils/utils.sh
echo "Installing Git..."
#brew_smart_install "git"
# pin Git to 2.50.1 due to problems in the latest Git version 2.51.0
COMMIT=6b39030bc0d0a0a8df99afe37e5ae4d61ba07c88
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/g/git.rb"
FORMULA_PATH="$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/g/git.rb"
mkdir -p "$(dirname $FORMULA_PATH)"
curl -fsSL $FORMULA_URL -o $FORMULA_PATH
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install git
brew_smart_install "git"
git config --global --add safe.directory "*"
@@ -9,5 +9,7 @@ source ~/utils/utils.sh
llvmVersion=$(get_toolset_value '.llvm.version')
brew_smart_install "llvm@${llvmVersion}"
# After brew update to 5.1.0 we have to manually unlink llvm to avoid conflicts with pre-installed llvm on macOS
brew unlink "llvm@${llvmVersion}"
invoke_tests "LLVM"
@@ -1,87 +0,0 @@
#!/bin/bash -e -o pipefail
################################################################################
## File: install-pypy.sh
## Desc: Install PyPy
################################################################################
source ~/utils/utils.sh
InstallPyPy() {
local package_url=$1
PACKAGE_TAR_NAME=$(basename $package_url)
echo "Downloading tar archive '$PACKAGE_TAR_NAME'"
archive_path=$(download_with_retry $package_url)
echo "Expand '$PACKAGE_TAR_NAME' to the /tmp folder"
tar xf $archive_path -C /tmp
# Get Python version
PACKAGE_NAME=${PACKAGE_TAR_NAME/.tar.bz2/}
MAJOR_VERSION=$(echo ${PACKAGE_NAME/pypy/} | cut -d. -f1)
PYTHON_MAJOR="python$MAJOR_VERSION"
if [[ $MAJOR_VERSION != 2 ]]; then
PYPY_MAJOR="pypy$MAJOR_VERSION"
else
PYPY_MAJOR="pypy"
fi
PACKAGE_TEMP_FOLDER="/tmp/$PACKAGE_NAME"
PYTHON_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(sys.version_info[0],sys.version_info[1],sys.version_info[2]))")
PYPY_FULL_VERSION=$("$PACKAGE_TEMP_FOLDER/bin/$PYPY_MAJOR" -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))")
echo "Put '$PYPY_FULL_VERSION' to PYPY_VERSION file"
echo $PYPY_FULL_VERSION > "$PACKAGE_TEMP_FOLDER/PYPY_VERSION"
# PyPy folder structure
PYPY_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/PyPy
PYPY_TOOLCACHE_VERSION_PATH=$PYPY_TOOLCACHE_PATH/$PYTHON_FULL_VERSION
PYPY_TOOLCACHE_VERSION_ARCH_PATH=$PYPY_TOOLCACHE_VERSION_PATH/x64
echo "Check if PyPy hostedtoolcache folder exist..."
if [[ ! -d $PYPY_TOOLCACHE_PATH ]]; then
mkdir -p $PYPY_TOOLCACHE_PATH
fi
echo "Create PyPy '$PYPY_TOOLCACHE_VERSION_PATH' folder"
mkdir $PYPY_TOOLCACHE_VERSION_PATH
echo "Move PyPy $PACKAGE_TEMP_FOLDER binaries to $PYPY_TOOLCACHE_VERSION_ARCH_PATH folder"
mv $PACKAGE_TEMP_FOLDER $PYPY_TOOLCACHE_VERSION_ARCH_PATH
echo "Create additional symlinks (Required for UsePythonVersion Azure DevOps task)"
cd $PYPY_TOOLCACHE_VERSION_ARCH_PATH/bin
PYPY_FULL_VERSION=$(./$PYPY_MAJOR -c "import sys;print('{}.{}.{}'.format(*sys.pypy_version_info[0:3]))")
echo "PYPY_FULL_VERSION is $PYPY_FULL_VERSION"
echo $PYPY_FULL_VERSION > "PYPY_VERSION"
# Starting from PyPy 7.3.4 these links are already included in the package
[[ -f ./$PYTHON_MAJOR ]] || ln -s $PYPY_MAJOR $PYTHON_MAJOR
[[ -f ./python ]] || ln -s $PYTHON_MAJOR python
chmod +x ./python ./$PYTHON_MAJOR
echo "Install latest Pip"
./python -m ensurepip
./python -m pip install --ignore-installed pip
echo "Create complete file"
touch $PYPY_TOOLCACHE_VERSION_PATH/x64.complete
}
arch=$(get_arch)
versions_json_path=$(download_with_retry "https://downloads.python.org/pypy/versions.json")
toolsetVersions=$(get_toolset_value '.toolcache[] | select(.name | contains("PyPy")) | .arch.'$arch'.versions[]')
for toolsetVersion in $toolsetVersions; do
latestMajorPyPyVersion=$(cat $versions_json_path |
jq -r --arg toolsetVersion $toolsetVersion '.[]
| select((.python_version | startswith($toolsetVersion)) and .stable == true).files[]
| select(.platform == "darwin").download_url' | head -1)
if [[ -z $latestMajorPyPyVersion ]]; then
echo "Failed to get PyPy version $toolsetVersion"
exit 1
fi
InstallPyPy $latestMajorPyPyVersion
done
@@ -37,7 +37,7 @@ $languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
$languageAndRuntime.AddNodes($(Get-GccVersions))
$languageAndRuntime.AddNodes($(Get-FortranVersions))
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
if (($os.IsVentura -or $os.IsSonoma)) {
if (($os.IsSonoma)) {
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
}
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
@@ -58,15 +58,13 @@ if ((-not $os.IsArm64)) {
}
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
if (($os.IsVentura -or $os.IsSonoma)) {
if (($os.IsSonoma)) {
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
}
$packageManagement.AddToolVersion("Pip3", $(Get-Pip3Version))
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
if (-not $os.IsVenturaArm64) {
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
}
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
# Project Management
@@ -174,12 +172,12 @@ $android.AddTable($androidTable)
$androidEnv = $android.AddHeader("Environment variables")
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
if ($os.IsSonoma -or $os.IsVentura -or $os.IsSequoia) {
if (($os.IsSonoma -or $os.IsSequoia -or $os.IsTahoe)) {
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
}
if ((-not $os.IsArm64)) {
if (($os.IsSonomaX64 -or $os.IsSequoiaX64)) {
Write-Host "Adding environment variables for parallels"
@@ -1,7 +1,5 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
$os = Get-OSVersion
function Get-ToolcacheRubyVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Ruby"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
@@ -12,17 +10,6 @@ function Get-ToolcachePythonVersions {
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
}
function Get-ToolcachePyPyVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache/PyPy/*/x64"
Get-ChildItem -Path $toolcachePath | Sort-Object { [Version] $_.Parent.Name } | ForEach-Object {
$foundVersionPath = $_.FullName
$foundVersionName = (Get-Item ($foundVersionPath -replace "x64") | Sort-Object -Property {[version]$_.name} -Descending | Select-Object -First 1).name
$arrPyPyVersion = ((& "$foundVersionPath/bin/python" -c "import sys;print(sys.version.split('\n')[1])") -split " ")
$pypyVersion = "$($arrPyPyVersion[0]) $($arrPyPyVersion[1])"
return "{0} {1}]" -f $foundVersionName, $pypyVersion
}
}
function Get-ToolcacheNodeVersions {
$toolcachePath = Join-Path $env:HOME "hostedtoolcache" "Node"
return Get-ChildItem $toolcachePath -Name | Sort-Object { [Version]$_ }
@@ -36,13 +23,6 @@ function Get-ToolcacheGoVersions {
function Build-ToolcacheSection {
$nodes = @()
if ($os.IsVenturaX64) {
$nodes += @(
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
)
}
$nodes += @(
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
@@ -1,8 +1,6 @@
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
Import-Module "$PSScriptRoot/../helpers/Xcode.Helpers.psm1"
$os = Get-OSVersion
function Get-XcodePaths {
$xcodePaths = Get-ChildItem -Path "/Applications" -Filter "Xcode_*.app" | Where-Object { !$_.LinkType }
return $xcodePaths | Select-Object -ExpandProperty Fullname
@@ -29,9 +29,6 @@ function Get-OSVersion {
Version = $osVersion.Version
Platform = $osVersion.Platform
IsArm64 = $processorArchitecture -eq "arm64"
IsVentura = $($osVersion.Version.Major -eq "13")
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
IsVenturaX64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -ne "arm64")
IsSonoma = $($osVersion.Version.Major -eq "14")
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
@@ -39,6 +36,8 @@ function Get-OSVersion {
IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64")
IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64")
IsTahoe = $($osVersion.Version.Major -eq "26")
IsTahoeArm64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -eq "arm64")
IsTahoeX64 = $($osVersion.Version.Major -eq "26" -and $processorArchitecture -ne "arm64")
}
}
@@ -156,157 +156,3 @@ function Invoke-XCVersion {
throw "Command [$Command] has finished with non-zero exit code."
}
}
function Get-BrokenXcodeSimulatorsList {
return @(
# tvOS Simulators
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-2";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-15-4";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple TV 4K (at 1080p) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-2nd-generation-1080p";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.tvOS-16-0";
XcodeVersion = "14.2"
},
# watchOS-8-0 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-0";
XcodeVersion = "13.1"
},
# watchOS-8-3 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-3";
XcodeVersion = "13.2.1"
},
# watchOS-8-5 Simulators
@{
SimulatorName = "Apple Watch Series 5 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 5 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-5-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 40mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-40mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 6 - 44mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-6-44mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 41mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-41mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
@{
SimulatorName = "Apple Watch Series 7 - 45mm"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-7-45mm";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-8-5";
XcodeVersion = "13.4.1"
},
# watchOS-9-0 Simulators
@{
SimulatorName = "Apple Watch SE (40mm) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-40mm-2nd-generation";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0";
XcodeVersion = "14.2"
},
@{
SimulatorName = "Apple Watch SE (44mm) (2nd generation)"
DeviceId = "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-SE-44mm-2nd-generation";
RuntimeId = "com.apple.CoreSimulator.SimRuntime.watchOS-9-0";
XcodeVersion = "14.2"
}
)
}
@@ -98,7 +98,7 @@ function Approve-XcodeLicense {
Write-Host "Approving Xcode license for '$XcodeRootPath'..."
$xcodeBuildPath = Get-XcodeToolPath -XcodeRootPath $XcodeRootPath -ToolName "xcodebuild"
if ($os.IsVentura -or $os.IsSonoma) {
if ($os.IsSonoma) {
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept" -Timeout 15
} else {
Invoke-ValidateCommand -Command "sudo $xcodeBuildPath -license accept"
@@ -142,6 +142,12 @@ function Install-XcodeAdditionalSimulatorRuntimes {
$xcodebuildPath = Get-XcodeToolPath -Version $Version -ToolName 'xcodebuild'
$validRuntimes = @("iOS", "watchOS", "tvOS")
# Determine architecture variant suffix for Xcode 26+
$archSuffix = ""
if ($Version -match '^(\d+)\.' -and [int]$matches[1] -ge 26) {
$archSuffix = "-architectureVariant universal"
}
# visionOS is only available on arm64
if ($Arch -eq "arm64") {
$validRuntimes += "visionOS"
@@ -150,7 +156,7 @@ function Install-XcodeAdditionalSimulatorRuntimes {
# Install all runtimes / skip runtimes
if ($Runtimes -eq "default") {
Write-Host "Installing all runtimes for Xcode $Version ..."
Invoke-ValidateCommand "$xcodebuildPath -downloadAllPlatforms" | Out-Null
Invoke-ValidateCommand "$xcodebuildPath -downloadAllPlatforms $archSuffix" | Out-Null
return
} elseif ($Runtimes -eq "none") {
Write-Host "Skipping runtimes installation for Xcode $Version ..."
@@ -197,17 +203,17 @@ function Install-XcodeAdditionalSimulatorRuntimes {
}
"default" {
Write-Host "Installing default $platform runtime for Xcode $Version ..."
Invoke-ValidateCommand "$xcodebuildPath -downloadPlatform $platform" | Out-Null
Invoke-ValidateCommand "$xcodebuildPath -downloadPlatform $platform $archSuffix" | 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
Invoke-ValidateCommand "$xcodebuildPath -downloadPlatform $platform -buildVersion $platformVersion $archSuffix" | 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)."
throw "$platformVersion is not a valid value for $platform version. Valid values are 'default', or 'skip', or a semver from 0.0 to 99.9.(9), or a build number."
}
}
}
@@ -1,34 +0,0 @@
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
# Steps:
# - Open System Settings -> Privacy & Security
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
# - Enter password for runner
on run argv
set userpassword to item 1 of argv
tell application "System Settings"
activate
delay 5
end tell
tell application "System Events"
tell process "System Settings"
set frontmost to true
repeat until exists window 1
delay 2
end repeat
tell splitter group 1 of group 1 of window 1
select row 20 of outline 1 of scroll area 1 of group 1
delay 5
click UI Element 2 of group 4 of scroll area 1 of group 1 of group 2
delay 5
keystroke userpassword
delay 5
keystroke return
delay 5
end tell
end tell
end tell
end run
+8 -12
View File
@@ -49,6 +49,14 @@ is_Tahoe() {
[ "$OSTYPE" = "darwin25" ]
}
is_TahoeArm64() {
is_Tahoe && is_Arm64
}
is_TahoeX64() {
is_Tahoe && ! is_Arm64
}
is_Sequoia() {
[ "$OSTYPE" = "darwin24" ]
}
@@ -73,18 +81,6 @@ is_SonomaX64() {
is_Sonoma && ! is_Arm64
}
is_Ventura() {
[ "$OSTYPE" = "darwin22" ]
}
is_VenturaArm64() {
is_Ventura && is_Arm64
}
is_VenturaX64() {
is_Ventura && ! is_Arm64
}
get_toolset_value() {
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
local query=$1
@@ -56,7 +56,7 @@ Describe "Perl" {
}
}
Describe "Tcl/Tk" -Skip:(-not ($os.IsVenturaX64 -or $os.IsSonomaX64)) {
Describe "Tcl/Tk" -Skip:($os.IsArm64) {
It "libtcl" {
Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue
Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue
@@ -69,7 +69,7 @@ Describe "bazelisk" {
}
}
Describe "Github CLI" {
Describe "GitHub CLI" {
It "GitHub CLI" {
"gh --version" | Should -ReturnZeroExitCode
}
+1 -1
View File
@@ -33,7 +33,7 @@ Describe "GCC" {
}
}
Describe "vcpkg" -Skip:($os.IsVenturaArm64) {
Describe "vcpkg" {
It "vcpkg" {
"vcpkg version" | Should -ReturnZeroExitCode
}
@@ -9,4 +9,9 @@ Describe "Clang/LLVM" {
$clangVersion = & "$(brew --prefix llvm@$toolsetVersion)/bin/clang" --version
$clangVersion[0] | Should -BeLike "*${toolsetVersion}*"
}
It "Default clang points to Apple clang" {
(Get-CommandResult "which clang").Output.Trim() | Should -Be "/usr/bin/clang"
(Get-CommandResult "clang --version").Output | Should -BeLike "*Apple clang*"
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ BeforeAll {
}
}
if ($os.IsVentura -or $os.IsSonoma) {
if ($os.IsSonoma) {
Describe "Mono" {
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
$monoToolsetVersion = @((Get-ToolsetContent).mono.framework.version)
@@ -99,49 +99,6 @@ Describe "Toolcache" {
}
}
}
Context "PyPy" -Skip:(-not $os.IsVenturaX64) {
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
$testCase = @{ PypyDirectory = $pypyDirectory }
It "Toolcache directory exists" -TestCases $testCase {
param ( [string] $PypyDirectory )
$PypyDirectory | Should -Exist
}
It "Toolcache directory contains at least one version of PyPy" -TestCases $testCase {
param ( [string] $PypyDirectory )
(Get-ChildItem -Path $PypyDirectory -Directory).Count | Should -BeGreaterThan 0
}
$pypyPackage.Versions | Where-Object { $_ } | ForEach-Object {
Context "$_" {
$versionDirectory = Get-ChildItem -Path $pypyDirectory -Directory -Filter "$_*" | Select-Object -First 1
$binFilename = If ($_.StartsWith("3")) { "pypy3" } else { "pypy" }
$pypyBinPath = Join-Path $versionDirectory.FullName $pypyPackage.Arch "bin" $binFilename
$testCase = @{ PypyVersion = $_; PypyBinPath = $pypyBinPath }
It "Version" -TestCases $testCase {
param (
[string] $PypyVersion,
[string] $PypyBinPath
)
$result = Get-CommandResult "$PypyBinPath --version"
$result.Output | Should -BeLike "*$PypyVersion*"
$result.ExitCode | Should -Be 0
}
It "Run test script" -TestCases $testCase {
param ( [string] $PypyBinPath )
"$PypyBinPath -c 'import sys;print(sys.version)'" | Should -ReturnZeroExitCode
}
}
}
}
Context "Node" {
$nodeDirectory = Join-Path $toolcacheDirectory "node"
@@ -1,300 +0,0 @@
packer {
required_plugins {
veertu-anka = {
version = ">= v3.2.0"
source = "github.com/veertuinc/veertu-anka"
}
}
}
locals {
image_folder = "/Users/${var.vm_username}/image-generation"
}
variable "builder_type" {
type = string
default = "veertu-anka-vm-clone"
validation {
condition = contains(["veertu-anka-vm-clone", "null"], var.builder_type)
error_message = "The builder_type value must be one of [veertu-anka-vm-clone, null]."
}
}
variable "source_vm_name" {
type = string
}
variable "source_vm_port" {
type = number
default = 22
}
variable "source_vm_tag" {
type = string
default = ""
}
variable "socks_proxy" {
type = string
default = ""
}
variable "build_id" {
type = string
}
variable "vm_username" {
type = string
sensitive = true
}
variable "vm_password" {
type = string
sensitive = true
}
variable "github_api_pat" {
type = string
sensitive = true
default = ""
}
variable "xcode_install_storage_url" {
type = string
sensitive = true
}
variable "xcode_install_sas" {
type = string
sensitive = true
}
variable "vcpu_count" {
type = string
default = "6"
}
variable "ram_size" {
type = string
default = "24G"
}
variable "image_os" {
type = string
default = "macos13"
}
source "veertu-anka-vm-clone" "template" {
vm_name = "${var.build_id}"
source_vm_name = "${var.source_vm_name}"
source_vm_tag = "${var.source_vm_tag}"
vcpu_count = "${var.vcpu_count}"
ram_size = "${var.ram_size}"
stop_vm = "true"
}
source "null" "template" {
ssh_host = "${var.source_vm_name}"
ssh_port = "${var.source_vm_port}"
ssh_username = "${var.vm_username}"
ssh_password = "${var.vm_password}"
ssh_proxy_host = "${var.socks_proxy}"
}
build {
sources = ["source.${var.builder_type}.template"]
provisioner "shell" {
inline = ["mkdir ${local.image_folder}"]
}
provisioner "file" {
destination = "${local.image_folder}/"
sources = [
"${path.root}/../scripts/tests",
"${path.root}/../scripts/docs-gen",
"${path.root}/../scripts/helpers"
]
}
provisioner "file" {
destination = "${local.image_folder}/docs-gen/"
source = "${path.root}/../../../helpers/software-report-base"
}
provisioner "file" {
destination = "${local.image_folder}/add-certificate.swift"
source = "${path.root}/../assets/add-certificate.swift"
}
provisioner "file" {
destination = ".bashrc"
source = "${path.root}/../assets/bashrc"
}
provisioner "file" {
destination = ".bash_profile"
source = "${path.root}/../assets/bashprofile"
}
provisioner "shell" {
inline = ["mkdir ~/bootstrap"]
}
provisioner "file" {
destination = "bootstrap"
source = "${path.root}/../assets/bootstrap-provisioner/"
}
provisioner "file" {
destination = "${local.image_folder}/toolset.json"
source = "${path.root}/../toolsets/toolset-13.json"
}
provisioner "shell" {
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
inline = [
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mkdir ~/utils",
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos13.scpt ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
]
}
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/install-xcode-clt.sh",
"${path.root}/../scripts/build/install-homebrew.sh"
]
}
provisioner "shell" {
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
"${path.root}/../scripts/build/configure-autologin.sh",
"${path.root}/../scripts/build/configure-auto-updates.sh",
"${path.root}/../scripts/build/configure-ntpconf.sh",
"${path.root}/../scripts/build/configure-shell.sh"
]
}
provisioner "shell" {
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/configure-preimagedata.sh",
"${path.root}/../scripts/build/configure-ssh.sh",
"${path.root}/../scripts/build/configure-machine.sh"
]
}
provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"]
}
provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
pause_before = "30s"
scripts = [
"${path.root}/../scripts/build/configure-windows.sh",
"${path.root}/../scripts/build/install-powershell.sh",
"${path.root}/../scripts/build/install-mono.sh",
"${path.root}/../scripts/build/install-dotnet.sh",
"${path.root}/../scripts/build/install-python.sh",
"${path.root}/../scripts/build/install-azcopy.sh",
"${path.root}/../scripts/build/install-openssl.sh",
"${path.root}/../scripts/build/install-ruby.sh",
"${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-node.sh",
"${path.root}/../scripts/build/install-common-utils.sh",
"${path.root}/../scripts/build/install-unxip.sh"
]
}
provisioner "shell" {
environment_vars = ["XCODE_INSTALL_STORAGE_URL=${var.xcode_install_storage_url}", "XCODE_INSTALL_SAS=${var.xcode_install_sas}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
}
provisioner "shell" {
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
expect_disconnect = true
inline = ["echo 'Reboot VM'", "shutdown -r now"]
}
provisioner "shell" {
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/install-actions-cache.sh",
"${path.root}/../scripts/build/install-llvm.sh",
"${path.root}/../scripts/build/install-swiftlint.sh",
"${path.root}/../scripts/build/install-openjdk.sh",
"${path.root}/../scripts/build/install-php.sh",
"${path.root}/../scripts/build/install-aws-tools.sh",
"${path.root}/../scripts/build/install-rust.sh",
"${path.root}/../scripts/build/install-gcc.sh",
"${path.root}/../scripts/build/install-cocoapods.sh",
"${path.root}/../scripts/build/install-android-sdk.sh",
"${path.root}/../scripts/build/install-vcpkg.sh",
"${path.root}/../scripts/build/install-safari.sh",
"${path.root}/../scripts/build/install-chrome.sh",
"${path.root}/../scripts/build/install-edge.sh",
"${path.root}/../scripts/build/install-firefox.sh",
"${path.root}/../scripts/build/install-pypy.sh",
"${path.root}/../scripts/build/install-bicep.sh",
"${path.root}/../scripts/build/install-codeql-bundle.sh"
]
}
provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/Install-Toolset.ps1",
"${path.root}/../scripts/build/Configure-Toolset.ps1"
]
}
provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1"
}
provisioner "shell" {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
inline = [
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
]
}
provisioner "file" {
destination = "${path.root}/../../image-output/"
direction = "download"
source = "${local.image_folder}/output/"
}
provisioner "shell" {
inline = ["rm -rf \"$(brew --cache)\""]
}
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
scripts = [
"${path.root}/../scripts/build/configure-hostname.sh",
"${path.root}/../scripts/build/configure-system.sh"
]
}
}
@@ -81,7 +81,7 @@ variable "ram_size" {
variable "image_os" {
type = string
default = "macos13"
default = "macos26"
}
source "veertu-anka-vm-clone" "template" {
@@ -149,7 +149,7 @@ build {
provisioner "file" {
destination = "${local.image_folder}/toolset.json"
source = "${path.root}/../toolsets/toolset-13.json"
source = "${path.root}/../toolsets/toolset-26.json"
}
provisioner "shell" {
@@ -158,7 +158,7 @@ build {
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
"mkdir ~/utils",
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
"mv ${local.image_folder}/helpers/utils.sh ~/utils"
]
}
@@ -203,20 +203,16 @@ build {
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
pause_before = "30s"
scripts = [
"${path.root}/../scripts/build/install-rosetta.sh",
"${path.root}/../scripts/build/configure-windows.sh",
"${path.root}/../scripts/build/install-powershell.sh",
"${path.root}/../scripts/build/install-mono.sh",
"${path.root}/../scripts/build/install-dotnet.sh",
"${path.root}/../scripts/build/install-python.sh",
"${path.root}/../scripts/build/install-azcopy.sh",
"${path.root}/../scripts/build/install-openssl.sh",
"${path.root}/../scripts/build/install-ruby.sh",
"${path.root}/../scripts/build/install-rubygems.sh",
"${path.root}/../scripts/build/install-git.sh",
"${path.root}/../scripts/build/install-node.sh",
"${path.root}/../scripts/build/install-common-utils.sh",
"${path.root}/../scripts/build/install-unxip.sh"
"${path.root}/../scripts/build/install-common-utils.sh"
]
}
@@ -238,12 +234,15 @@ build {
scripts = [
"${path.root}/../scripts/build/install-actions-cache.sh",
"${path.root}/../scripts/build/install-llvm.sh",
"${path.root}/../scripts/build/install-swiftlint.sh",
"${path.root}/../scripts/build/install-openjdk.sh",
"${path.root}/../scripts/build/install-php.sh",
"${path.root}/../scripts/build/install-aws-tools.sh",
"${path.root}/../scripts/build/install-rust.sh",
"${path.root}/../scripts/build/install-gcc.sh",
"${path.root}/../scripts/build/install-cocoapods.sh",
"${path.root}/../scripts/build/install-android-sdk.sh",
"${path.root}/../scripts/build/install-vcpkg.sh",
"${path.root}/../scripts/build/install-safari.sh",
"${path.root}/../scripts/build/install-chrome.sh",
"${path.root}/../scripts/build/install-firefox.sh",
@@ -272,15 +271,21 @@ build {
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
inline = [
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output/software-report\" -ImageName ${var.build_id}",
"pwsh -File \"${local.image_folder}/software-report/Generate-SoftwareReport.ps1\" -OutputDirectory \"${local.image_folder}/output\" -ImageName ${var.build_id}",
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
]
}
provisioner "file" {
destination = "${path.root}/../../image-output/"
destination = "${path.root}/../../image-output/macos-26-Readme.md"
direction = "download"
source = "${local.image_folder}/output/"
source = "${local.image_folder}/output/software-report.md"
}
provisioner "file" {
destination = "${path.root}/../../image-output/software-report.json"
direction = "download"
source = "${local.image_folder}/output/software-report.json"
}
provisioner "shell" {
-258
View File
@@ -1,258 +0,0 @@
{
"xcode": {
"default": "15.2",
"x64": {
"versions": [
{ "link": "15.2", "filename": "Xcode_15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
{ "link": "15.1", "filename": "Xcode_15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
{ "link": "15.0.1", "filename": "Xcode_15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
{ "link": "14.3.1", "filename": "Xcode_14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
{ "link": "14.2", "filename": "Xcode_14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
{ "link": "14.1", "filename": "Xcode_14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
]
},
"arm64":{
"versions": [
{ "link": "15.2", "filename": "Xcode_15.2", "version": "15.2.0+15C500b", "install_runtimes": "default", "sha256": "04E93680C6DDBEC84666531BE412DE778AFC8EAC6AB2037F4C2BE7290818B59B"},
{ "link": "15.1", "filename": "Xcode_15.1", "version": "15.1.0+15C65", "install_runtimes": "default", "sha256": "857D8DB537BAC82BF99DE0E1D3895D214D4D02101C1340CEF3DAF6E821BA1D05"},
{ "link": "15.0.1", "filename": "Xcode_15.0.1", "version": "15.0.1+15A507", "symlinks": ["15.0"], "install_runtimes": "default", "sha256": "5AC17AE6060CAFC3C7112C6DA0B153450BE21F1DE6632777FBA9FBC9D999C9E8"},
{ "link": "14.3.1", "filename": "Xcode_14.3.1", "version": "14.3.1+14E300c","symlinks": ["14.3"], "install_runtimes": "default", "sha256": "B5CC7BF37447C32A971B37D71C7DA1AF7ABB45CEE4B96FE126A1D3B0D2C260AF"},
{ "link": "14.2", "filename": "Xcode_14.2", "version": "14.2.0+14C18", "install_runtimes": "default", "sha256": "686B9D53CA49E50D563BC0104B1E8B4F7CCFE80064A6D689965FB819BF8EFE72"},
{ "link": "14.1", "filename": "Xcode_14.1", "version": "14.1.0+14B47b", "install_runtimes": "default", "sha256": "12F8A3AEF78BF354470AD8B351ADDD925C8EDAD888137D138CA50A8130EB9F2F"}
]
}
},
"java": {
"x64": {
"default": "17",
"versions": [ "8", "11", "17", "21"]
},
"arm64": {
"default": "17",
"versions": [ "11", "17", "21"]
}
},
"android": {
"cmdline-tools": "commandlinetools-mac-10406996_latest.zip",
"sdk-tools": "sdk-tools-darwin-4333796.zip",
"platform_min_version": "33",
"build_tools_min_version": "33.0.2",
"extras": [
"android;m2repository", "google;m2repository", "google;google_play_services"
],
"addons": [],
"additional_tools": [
"cmake;3.31.5"
],
"ndk": {
"default": "26",
"versions": [
"26", "27", "28"
]
}
},
"powershellModules": [
{
"name": "Az",
"versions": [
"12.5.0"
]
},
{ "name": "Pester" },
{ "name": "PSScriptAnalyzer" }
],
"brew": {
"common_packages": [
"ant",
"aria2",
"azure-cli",
"bazelisk",
"carthage",
"cmake",
"gh",
"gnupg",
"gnu-tar",
"kotlin",
"libpq",
"p7zip",
"packer",
"perl",
"pkgconf",
"swiftformat",
"tcl-tk@8",
"zstd",
"ninja",
"gmp",
"yq",
"xcbeautify",
"xcodes"
],
"cask_packages": [
"parallels"
]
},
"gcc": {
"versions": [
"12",
"13",
"14",
"15"
]
},
"dotnet": {
"arch":{
"x64": {
"versions": [
"8.0",
"9.0"
]
},
"arm64": {
"versions": [
"8.0",
"9.0"
]
}
}
},
"ruby": {
"default": "3.3",
"rubygems": [
"cocoapods",
"bundler",
"fastlane"
]
},
"toolcache": [
{
"name": "Python",
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"3.8.*",
"3.9.*",
"3.10.*",
"3.11.*",
"3.12.*",
"3.13.*",
"3.14.*"
]
},
"arm64": {
"versions": [
"3.11.*",
"3.12.*",
"3.13.*",
"3.14.*"
]
}
}
},
{
"name": "PyPy",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"2.7",
"3.7",
"3.8",
"3.9",
"3.10"
]
}
}
},
{
"name": "Node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"18.*",
"20.*",
"22.*"
]
},
"arm64": {
"versions": [
"18.*",
"20.*",
"22.*"
]
}
}
},
{
"name": "Go",
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [
"1.22.*",
"1.23.*",
"1.24.*",
"1.25.*"
]
},
"arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [
"1.22.*",
"1.23.*",
"1.24.*",
"1.25.*"
]
}
}
},
{
"name": "Ruby",
"arch": {
"x64": {
"versions": [
"3.1.*",
"3.2.*",
"3.3.*",
"3.4.*"
]
},
"arm64": {
"versions": [
"3.1.*",
"3.2.*",
"3.3.*",
"3.4.*"
]
}
}
}
],
"node": {
"default": "20"
},
"llvm": {
"version": "15"
},
"php": {
"version": "8.4"
},
"mono": {
"framework":{
"version": "6.12.0.188",
"sha256": "07cdd4e5e72b562892960b7fc73af470db7a4ffc2f68bb834eb3d0a874bbd12c"
},
"nunit": {
"version": "3.15.4",
"sha256": "356dab61433b5be76b76fd0e2e979bda56d164f6d85a900e55c3a4a5fffa28de"
}
},
"pwsh": {
"version": "7.4"
}
}
+9 -8
View File
@@ -132,8 +132,8 @@
"android": {
"cmdline-tools": "commandlinetools-mac-10406996_latest.zip",
"sdk-tools": "sdk-tools-darwin-4333796.zip",
"platform_min_version": "33",
"build_tools_min_version": "33.0.2",
"platform_min_version": "34",
"build_tools_min_version": "34.0.0",
"extras": [
"android;m2repository", "google;m2repository", "google;google_play_services"
],
@@ -143,9 +143,9 @@
"cmake;4.1.2"
],
"ndk": {
"default": "26",
"default": "27",
"versions": [
"26", "27", "28", "29"
"27", "28", "29"
]
}
},
@@ -153,7 +153,7 @@
{
"name": "Az",
"versions": [
"12.5.0"
"14.6.0"
]
},
{ "name": "Pester" },
@@ -232,7 +232,6 @@
"arch": {
"x64": {
"versions": [
"3.9.*",
"3.10.*",
"3.11.*",
"3.12.*",
@@ -303,14 +302,16 @@
"versions": [
"3.2.*",
"3.3.*",
"3.4.*"
"3.4.*",
"4.0.*"
]
},
"arm64": {
"versions": [
"3.2.*",
"3.3.*",
"3.4.*"
"3.4.*",
"4.0.*"
]
}
}
+61 -14
View File
@@ -3,6 +3,24 @@
"default": "16.4",
"x64": {
"versions": [
{
"link": "26.3",
"filename": "Xcode_26.3_Universal",
"version": "26.3+17C529",
"sha256": "cf87232e0419785170edcfa070b750f28808ec00b489ab540c08b7d197c79ae4",
"install_runtimes": "none"
},
{
"link": "26.2",
"filename": "Xcode_26.2_Universal",
"version": "26.2+17C52",
"sha256": "8f29ab6a9ac6670d3cf53545ffdb1c317d11607fa8db38fc56d3391df7783fbd",
"install_runtimes": [
{ "iOS": ["26.2"] },
{ "watchOS": ["default"] },
{ "tvOS": ["default"] }
]
},
{
"link": "26.1.1",
"filename": "Xcode_26.1.1_Universal",
@@ -17,7 +35,11 @@
"version": "26.0.1+17A400",
"symlinks": ["26.0"],
"sha256": "9881c457068c86ac91e94cca2d7116dfd01cb7179c22b0863b63c7f3bb7e7695",
"install_runtimes": "default"
"install_runtimes": [
{ "iOS": ["default"] },
{ "watchOS": ["skip"] },
{ "tvOS": ["skip"] }
]
},
{
"link": "16.4",
@@ -25,10 +47,10 @@
"version": "16.4.0+16F6",
"sha256": "2dbf65ba28fb85b34e72c14c529a42d5c3189ab0f11fb29fdebd5f4ee6c87900",
"install_runtimes": [
{ "iOS": ["18.4", "18.5", "18.6"] },
{ "watchOS": ["11.2", "11.4", "11.5"] },
{ "tvOS": ["18.2", "18.4", "18.5"] }
]
{ "iOS": ["18.5", "18.6"] },
{ "watchOS": ["11.5"] },
{ "tvOS": ["18.5"] }
]
},
{
"link": "16.3",
@@ -63,6 +85,25 @@
},
"arm64":{
"versions": [
{
"link": "26.3",
"filename": "Xcode_26.3_Universal",
"version": "26.3+17C529",
"sha256": "cf87232e0419785170edcfa070b750f28808ec00b489ab540c08b7d197c79ae4",
"install_runtimes": "none"
},
{
"link": "26.2",
"filename": "Xcode_26.2_Universal",
"version": "26.2+17C52",
"sha256": "8f29ab6a9ac6670d3cf53545ffdb1c317d11607fa8db38fc56d3391df7783fbd",
"install_runtimes": [
{ "iOS": ["26.2"] },
{ "watchOS": ["default"] },
{ "tvOS": ["default"] },
{ "visionOS": ["default"] }
]
},
{
"link": "26.1.1",
"filename": "Xcode_26.1.1_Universal",
@@ -77,7 +118,12 @@
"version": "26.0.1+17A400",
"symlinks": ["26.0"],
"sha256": "9881c457068c86ac91e94cca2d7116dfd01cb7179c22b0863b63c7f3bb7e7695",
"install_runtimes": "default"
"install_runtimes": [
{ "iOS": ["default"] },
{ "watchOS": ["skip"] },
{ "tvOS": ["skip"] },
{ "visionOS": ["skip"] }
]
},
{
"link": "16.4",
@@ -85,9 +131,9 @@
"version": "16.4.0+16F6",
"sha256": "2dbf65ba28fb85b34e72c14c529a42d5c3189ab0f11fb29fdebd5f4ee6c87900",
"install_runtimes": [
{ "iOS": ["18.4", "18.5", "18.6"] },
{ "watchOS": ["11.2", "11.4", "11.5"] },
{ "tvOS": ["18.2", "18.4", "18.5"] },
{ "iOS": ["18.5", "18.6"] },
{ "watchOS": ["11.5"] },
{ "tvOS": ["18.5"] },
{ "visionOS": ["2.3", "2.4", "2.5"] }
]
},
@@ -149,7 +195,7 @@
"ndk": {
"default": "27",
"versions": [
"26", "27","28", "29"
"27", "28", "29"
]
}
},
@@ -157,7 +203,7 @@
{
"name": "Az",
"versions": [
"12.5.0"
"14.6.0"
]
},
{ "name": "Pester" },
@@ -236,7 +282,6 @@
"arch": {
"x64": {
"versions": [
"3.9.*",
"3.10.*",
"3.11.*",
"3.12.*",
@@ -307,14 +352,16 @@
"versions": [
"3.2.*",
"3.3.*",
"3.4.*"
"3.4.*",
"4.0.*"
]
},
"arm64": {
"versions": [
"3.2.*",
"3.3.*",
"3.4.*"
"3.4.*",
"4.0.*"
]
}
}
+132 -12
View File
@@ -1,16 +1,41 @@
{
"xcode": {
"default": "26.0.1",
"arm64":{
"default": "26.2",
"x64": {
"versions": [
{
"link": "26.2_Release_Candidate",
"filename": "Xcode_26.2_Release_Candidate_Universal",
"version": "26.2_Release_Candidate+17C48",
"symlinks": ["26.2"],
"sha256": "63743df751791508ac8e4f01a33e3f28f3a59a86ff3f33c8c155c3046daedf42",
"link": "26.5_beta",
"filename": "Xcode_26.5_beta_Universal",
"version": "26.5+17F5012f",
"symlinks": ["26.5"],
"sha256": "1342821cc2b93a64dfe06c4697617208df537cbfde4b66c4548e2310e4cb374e",
"install_runtimes": "none"
},
{
"link": "26.4",
"filename": "Xcode_26.4_Universal",
"version": "26.4+17E192",
"sha256": "1049032d89389cc7d803d7097359a7420c2e9747b4ce2b9cf4b81c9f3f634dfa",
"install_runtimes": "default"
},
{
"link": "26.3",
"filename": "Xcode_26.3_Universal",
"version": "26.3+17C529",
"sha256": "cf87232e0419785170edcfa070b750f28808ec00b489ab540c08b7d197c79ae4",
"install_runtimes": "none"
},
{
"link": "26.2",
"filename": "Xcode_26.2_Universal",
"version": "26.2+17C52",
"sha256": "8f29ab6a9ac6670d3cf53545ffdb1c317d11607fa8db38fc56d3391df7783fbd",
"install_runtimes": [
{ "iOS": ["26.2"] },
{ "watchOS": ["default"] },
{ "tvOS": ["default"] }
]
},
{
"link": "26.1.1",
"filename": "Xcode_26.1.1_Universal",
@@ -25,7 +50,61 @@
"version": "26.0.1+17A400",
"symlinks": ["26.0"],
"sha256": "9881c457068c86ac91e94cca2d7116dfd01cb7179c22b0863b63c7f3bb7e7695",
"install_runtimes": "none"
}
]
},
"arm64": {
"versions": [
{
"link": "26.5_beta",
"filename": "Xcode_26.5_beta_Universal",
"version": "26.5+17F5012f",
"symlinks": ["26.5"],
"sha256": "1342821cc2b93a64dfe06c4697617208df537cbfde4b66c4548e2310e4cb374e",
"install_runtimes": "none"
},
{
"link": "26.4",
"filename": "Xcode_26.4_Universal",
"version": "26.4+17E192",
"sha256": "1049032d89389cc7d803d7097359a7420c2e9747b4ce2b9cf4b81c9f3f634dfa",
"install_runtimes": "default"
},
{
"link": "26.3",
"filename": "Xcode_26.3_Universal",
"version": "26.3+17C529",
"sha256": "cf87232e0419785170edcfa070b750f28808ec00b489ab540c08b7d197c79ae4",
"install_runtimes": "none"
},
{
"link": "26.2",
"filename": "Xcode_26.2_Universal",
"version": "26.2+17C52",
"sha256": "8f29ab6a9ac6670d3cf53545ffdb1c317d11607fa8db38fc56d3391df7783fbd",
"install_runtimes": [
{ "iOS": ["26.2"] },
{ "watchOS": ["default"] },
{ "tvOS": ["default"] },
{ "visionOS": ["default"] }
]
},
{
"link": "26.1.1",
"filename": "Xcode_26.1.1_Universal",
"version": "26.1.1+17B100",
"symlinks": ["26.1"],
"sha256": "ed55d55fa28455c11a65e0809ba8fdf7d83fdeb268aabf9af7fcc1ee911543eb",
"install_runtimes": "default"
},
{
"link": "26.0.1",
"filename": "Xcode_26.0.1_Universal",
"version": "26.0.1+17A400",
"symlinks": ["26.0"],
"sha256": "9881c457068c86ac91e94cca2d7116dfd01cb7179c22b0863b63c7f3bb7e7695",
"install_runtimes": "none"
}
]
}
@@ -64,7 +143,7 @@
{
"name": "Az",
"versions": [
"14.3.0"
"14.6.0"
]
},
{ "name": "Pester" },
@@ -90,6 +169,7 @@
"perl",
"pkgconf",
"swiftformat",
"tcl-tk@8",
"zstd",
"ninja",
"gmp",
@@ -98,9 +178,7 @@
"xcbeautify",
"xcodes"
],
"cask_packages": [
"parallels"
]
"cask_packages": []
},
"gcc": {
"versions": [
@@ -111,6 +189,13 @@
},
"dotnet": {
"arch":{
"x64": {
"versions": [
"8.0",
"9.0",
"10.0"
]
},
"arm64": {
"versions": [
"8.0",
@@ -134,6 +219,14 @@
"url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"3.11.*",
"3.12.*",
"3.13.*",
"3.14.*"
]
},
"arm64": {
"versions": [
"3.11.*",
@@ -149,6 +242,13 @@
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"versions": [
"20.*",
"22.*",
"24.*"
]
},
"arm64": {
"versions": [
"20.*",
@@ -163,6 +263,14 @@
"url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json",
"platform" : "darwin",
"arch": {
"x64": {
"variable_template" : "GOROOT_{0}_{1}_X64",
"versions": [
"1.23.*",
"1.24.*",
"1.25.*"
]
},
"arm64": {
"variable_template" : "GOROOT_{0}_{1}_ARM64",
"versions": [
@@ -176,11 +284,20 @@
{
"name": "Ruby",
"arch": {
"x64": {
"versions": [
"3.2.*",
"3.3.*",
"3.4.*",
"4.0.*"
]
},
"arm64": {
"versions": [
"3.2.*",
"3.3.*",
"3.4.*"
"3.4.*",
"4.0.*"
]
}
}
@@ -192,6 +309,9 @@
"llvm": {
"version": "20"
},
"php": {
"version": "8.5"
},
"pwsh": {
"version": "7.4"
}
+65
View File
@@ -0,0 +1,65 @@
FROM ubuntu:24.04 AS base
ARG IMAGE_VERSION=1.0.0
ARG IMAGE_OWNER="GitHub"
ENV IMAGE_OWNER=$IMAGE_OWNER
ENV ImageVersion=$IMAGE_VERSION
ENV IMAGE_VERSION=$IMAGE_VERSION
ENV ImageOS="Linux"
ENV IMAGE_TARGET_PLATFORM="GitHub"
ENV POWERSHELL_DISTRIBUTION_CHANNEL="GitHub-Actions-$ImageOS"
ENV IMAGEDATA_NAME="ubuntu:24.04"
ENV NVM_DIR="/etc/skel/.nvm"
ENV HELPER_SCRIPTS="/tmp/scripts/helpers"
ENV INSTALLER_SCRIPT_FOLDER="/tmp/toolsets"
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
COPY scripts/build /tmp/scripts/build
COPY scripts/helpers /tmp/scripts/helpers
COPY toolsets/ /tmp/toolsets/
RUN find /tmp/scripts -name "*.sh" -type f -exec chmod +x {} \;
COPY scripts/entrypoint.sh /opt/entrypoint.sh
RUN chmod +x /opt/entrypoint.sh
RUN echo 'set -eo pipefail' >> /etc/bash.bashrc
RUN apt-get update && apt-get upgrade -y && apt-get install -y sudo lsb-release jq dpkg && \
touch /run/.containerenv && \
/tmp/scripts/build/configure-apt-sources.sh && \
/tmp/scripts/build/configure-apt.sh && \
/tmp/scripts/build/install-apt-vital.sh && \
/tmp/scripts/build/install-ms-repos.sh && \
/tmp/scripts/build/configure-image-data-file.sh && \
/tmp/scripts/build/configure-environment.sh && \
/tmp/scripts/build/install-actions-cache.sh && \
/tmp/scripts/build/install-apt-common.sh && \
/tmp/scripts/build/install-azcopy.sh && \
/tmp/scripts/build/install-azure-cli.sh && \
/tmp/scripts/build/install-azure-devops-cli.sh && \
/tmp/scripts/build/install-bicep.sh && \
/tmp/scripts/build/install-aws-tools.sh && \
/tmp/scripts/build/install-git.sh && \
/tmp/scripts/build/install-git-lfs.sh && \
/tmp/scripts/build/install-github-cli.sh && \
/tmp/scripts/build/install-google-cloud-cli.sh && \
/tmp/scripts/build/install-nvm.sh && \
/tmp/scripts/build/install-nodejs.sh && \
/tmp/scripts/build/install-powershell.sh && \
/tmp/scripts/build/configure-dpkg.sh && \
/tmp/scripts/build/install-yq.sh && \
/tmp/scripts/build/install-python.sh && \
/tmp/scripts/build/install-zstd.sh && \
/tmp/scripts/build/install-pipx-packages.sh && \
/tmp/scripts/build/install-docker-cli.sh && \
/tmp/scripts/build/configure-system.sh && \
/tmp/scripts/helpers/cleanup.sh
RUN sed -i '/set -eo pipefail/d' /etc/bash.bashrc
ENTRYPOINT ["/opt/entrypoint.sh"]
CMD [ "bash" ]
+83
View File
@@ -0,0 +1,83 @@
#!/bin/bash -e
show_help() {
echo "Usage: $0 [IMAGE_NAME]"
echo ""
echo "Generate a software report for a Docker image."
echo ""
echo "Arguments:"
echo " IMAGE_NAME Docker image name to generate report for (default: ubuntu-slim:test)"
echo ""
echo "Examples:"
echo " $0 # Generate report for ubuntu-slim:test (builds image first)"
echo " $0 my-registry/ubuntu:latest # Generate report for existing image"
echo " $0 ubuntu-slim:v1.2.3 # Generate report for tagged image"
echo ""
echo "Options:"
echo " -h, --help Show this help message"
}
# Handle help flags
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
show_help
exit 0
fi
# Set the image name from parameter or use default
IMAGE_NAME="${1:-ubuntu-slim:test}"
# Build the image only if using the default name (for backward compatibility)
if [[ "$IMAGE_NAME" == "ubuntu-slim:test" ]]; then
echo "Building image: $IMAGE_NAME"
docker build --debug --progress plain -t "$IMAGE_NAME" .
else
# Check if the image exists
if ! docker image inspect "$IMAGE_NAME" >/dev/null 2>&1; then
echo "Error: Image '$IMAGE_NAME' does not exist. Please build it first or provide a valid image name."
echo "Run '$0 --help' for usage information."
exit 1
fi
fi
echo "Generating software report for image: $IMAGE_NAME"
# Get the script directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BASE_DIR="$(cd ../../helpers/software-report-base && pwd)"
echo $BASE_DIR
# Create a temporary directory for output
OUTPUT_DIR=$(mktemp -d)
echo "Using temporary directory: $OUTPUT_DIR"
# Run the container and execute the PowerShell script inside it
echo "Running Generate-SoftwareReport.ps1 inside the container..."
docker run --rm \
-v "$OUTPUT_DIR:/output" \
-v "$SCRIPT_DIR/scripts/docs-gen:/scripts/docs-gen:ro" \
-v "$BASE_DIR:/scripts/software-report-base:ro" \
"$IMAGE_NAME" \
pwsh /scripts/docs-gen/Generate-SoftwareReport.ps1 -OutputDirectory /output
if [ -f "$OUTPUT_DIR/software-report.md" ]; then
cp "$OUTPUT_DIR/software-report.md" ubuntu-slim-Readme.md
echo "✓ Copied software-report.md to current directory"
else
echo "✗ Error: software-report.md was not generated"
rm -rf "$OUTPUT_DIR"
exit 1
fi
if [ -f "$OUTPUT_DIR/software-report.json" ]; then
cp "$OUTPUT_DIR/software-report.json" ubuntu-slim-Report.json
echo "✓ Copied software-report.json to current directory"
else
echo "✗ Error: software-report.json was not generated"
rm -rf "$OUTPUT_DIR"
exit 1
fi
# Clean up temporary directory
rm -rf "$OUTPUT_DIR"
echo "✓ Software report generation complete"
@@ -0,0 +1,19 @@
#!/bin/bash -e
################################################################################
## File: configure-apt-sources.sh
## Desc: Configure apt sources with failover from Azure to Ubuntu archives.
################################################################################
source $HELPER_SCRIPTS/os.sh
touch /etc/apt/apt-mirrors.txt
printf "http://azure.archive.ubuntu.com/ubuntu/\tpriority:1\n" | tee -a /etc/apt/apt-mirrors.txt
printf "https://archive.ubuntu.com/ubuntu/\tpriority:2\n" | tee -a /etc/apt/apt-mirrors.txt
printf "https://security.ubuntu.com/ubuntu/\tpriority:3\n" | tee -a /etc/apt/apt-mirrors.txt
if is_ubuntu24; then
sed -i 's|http://archive\.ubuntu\.com/ubuntu/|mirror+file:/etc/apt/apt-mirrors.txt|' /etc/apt/sources.list.d/ubuntu.sources
else
sed -i 's|http://archive\.ubuntu\.com/ubuntu/|mirror+file:/etc/apt/apt-mirrors.txt|' /etc/apt/sources.list
fi
@@ -0,0 +1,48 @@
#!/bin/bash -e
################################################################################
## File: configure-apt.sh
## Desc: Configure apt, install jq and apt-fast packages.
################################################################################
source $HELPER_SCRIPTS/os.sh
# Stop and disable apt-daily upgrade services;
# systemctl stop apt-daily.timer
# systemctl disable apt-daily.timer
# systemctl disable apt-daily.service
# systemctl stop apt-daily-upgrade.timer
# systemctl disable apt-daily-upgrade.timer
# systemctl disable apt-daily-upgrade.service
# Enable retry logic for apt up to 10 times
echo "APT::Acquire::Retries \"10\";" > /etc/apt/apt.conf.d/80-retries
# Configure apt to always assume Y
echo "APT::Get::Assume-Yes \"true\";" > /etc/apt/apt.conf.d/90assumeyes
# APT understands a field called Phased-Update-Percentage which can be used to control the rollout of a new version. It is an integer between 0 and 100.
# In case you have multiple systems that you want to receive the same set of updates,
# you can set APT::Machine-ID to a UUID such that they all phase the same,
# or set APT::Get::Never-Include-Phased-Updates or APT::Get::Always-Include-Phased-Updates to true such that APT will never/always consider phased updates.
# apt-cache policy pkgname
echo 'APT::Get::Always-Include-Phased-Updates "true";' > /etc/apt/apt.conf.d/99-phased-updates
# Fix bad proxy and http headers settings
cat <<EOF >> /etc/apt/apt.conf.d/99bad_proxy
Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::https::Pipeline-Depth 0;
Acquire::https::No-Cache true;
Acquire::BrokenProxy true;
EOF
echo 'APT sources'
if ! is_ubuntu24; then
cat /etc/apt/sources.list
else
cat /etc/apt/sources.list.d/ubuntu.sources
fi
apt-get update
echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
@@ -0,0 +1,42 @@
#!/bin/bash -e
################################################################################
## File: configure-dpkg.sh
## Desc: Configure dpkg
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh
# This is the anti-frontend. It never interacts with you at all,
# and makes the default answers be used for all questions. It
# might mail error messages to root, but that's it; otherwise it
# is completely silent and unobtrusive, a perfect frontend for
# automatic installs. If you are using this front-end, and require
# non-default answers to questions, you will need to pre-seed the
# debconf database
set_etc_environment_variable "DEBIAN_FRONTEND" "noninteractive"
# dpkg can be instructed not to ask for confirmation
# when replacing a configuration file (with the --force-confdef --force-confold options)
cat <<EOF >> /etc/apt/apt.conf.d/10dpkg-options
Dpkg::Options {
"--force-confdef";
"--force-confold";
}
EOF
# hide information about packages that are no longer required
cat <<EOF >> /etc/apt/apt.conf.d/10apt-autoremove
APT::Get::AutomaticRemove "0";
APT::Get::HideAutoRemove "1";
EOF
# Install libicu70 package for Ubuntu 24
if is_ubuntu24 ; then
wget https://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu70_70.1-2_amd64.deb
EXPECTED_LIBICU_SHA512="a6315482d93606e375c272718d2458870b95e4ed4b672ea8640cf7bc2d2c2f41aea13b798b1e417e1ffc472a90c6aad150d3d293aa9bddec48e39106e4042807"
ACTUAL_LIBICU_SHA512="$(sha512sum "./libicu70_70.1-2_amd64.deb" | awk '{print $1}')"
[ "$EXPECTED_LIBICU_SHA512" = "$ACTUAL_LIBICU_SHA512" ] || { echo "libicu checksum mismatch in configure-dpkg.sh"; exit 1;}
sudo apt-get install -y ./libicu70_70.1-2_amd64.deb
fi
@@ -0,0 +1,72 @@
#!/bin/bash -e
################################################################################
## File: configure-environment.sh
## Desc: Configure system and environment
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/os.sh
source $HELPER_SCRIPTS/etc-environment.sh
whoami
# Set ImageVersion and ImageOS env variables
set_etc_environment_variable "ImageVersion" "${IMAGE_VERSION}"
set_etc_environment_variable "ImageOS" "${IMAGE_OS}"
# Set the ACCEPT_EULA variable to Y value to confirm your acceptance of the End-User Licensing Agreement
set_etc_environment_variable "ACCEPT_EULA" "Y"
# This directory is supposed to be created in $HOME and owned by user(https://github.com/actions/runner-images/issues/491)
mkdir -p /etc/skel/.config/configstore
set_etc_environment_variable "XDG_CONFIG_HOME" '$HOME/.config'
# Prepare directory and env variable for toolcache
echo "Setting up AGENT_TOOLSDIRECTORY and RUNNER_TOOL_CACHE variable to /opt/hostedtoolcache"
AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
mkdir $AGENT_TOOLSDIRECTORY
set_etc_environment_variable "AGENT_TOOLSDIRECTORY" "${AGENT_TOOLSDIRECTORY}"
set_etc_environment_variable "RUNNER_TOOL_CACHE" "${AGENT_TOOLSDIRECTORY}"
chmod -R 777 $AGENT_TOOLSDIRECTORY
# https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
# https://www.suse.com/support/kb/doc/?id=000016692
echo 'vm.max_map_count=262144' | tee -a /etc/sysctl.conf
# https://kind.sigs.k8s.io/docs/user/known-issues/#pod-errors-due-to-too-many-open-files
echo 'fs.inotify.max_user_watches=655360' | tee -a /etc/sysctl.conf
echo 'fs.inotify.max_user_instances=1280' | tee -a /etc/sysctl.conf
# https://github.com/actions/runner-images/issues/9491
echo 'vm.mmap_rnd_bits=28' | tee -a /etc/sysctl.conf
# https://github.com/actions/runner-images/pull/7860
netfilter_rule='/etc/udev/rules.d/50-netfilter.rules'
rules_directory="$(dirname "${netfilter_rule}")"
mkdir -p $rules_directory
touch $netfilter_rule
echo 'ACTION=="add", SUBSYSTEM=="module", KERNEL=="nf_conntrack", RUN+="/usr/sbin/sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1"' | tee -a $netfilter_rule
# Remove fwupd if installed. 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
# Check if fwupd-refresh.timer exists in systemd
if systemctl list-unit-files fwupd-refresh.timer &>/dev/null; then
echo "Masking fwupd-refresh.timer..."
systemctl mask fwupd-refresh.timer
fi
# This is a legacy check, leaving for earlier versions of Ubuntu
# If fwupd config still exists, disable the motd updates
if [[ -f "/etc/fwupd/daemon.conf" ]]; then
sed -i 's/UpdateMotd=true/UpdateMotd=false/g' /etc/fwupd/daemon.conf
fi
# Disable to load providers
# https://github.com/microsoft/azure-pipelines-agent/issues/3834
if is_ubuntu22; then
sed -i 's/openssl_conf = openssl_init/#openssl_conf = openssl_init/g' /etc/ssl/openssl.cnf
fi
# # Disable man-db auto update
# echo "set man-db/auto-update false" | debconf-communicate
# dpkg-reconfigure man-db
@@ -0,0 +1,40 @@
#!/bin/bash -e
function create_imagedata_json() {
arch=$(uname -m)
if [[ $arch == "x86_64" ]]; then
arch="x64"
elif [[ $arch == "aarch64" ]]; then
arch="arm64"
else
echo "Unsupported architecture: $arch"
exit 1
fi
if [[ -n "$IMAGEDATA_INCLUDED_SOFTWARE" ]]; then
included_software="- Included Software: ${IMAGEDATA_INCLUDED_SOFTWARE}"
fi
imagedata_file="/imagegeneration/imagedata.json"
cat <<EOF > $imagedata_file
[
{
"group": "VM Image",
"detail": "- OS: Linux (${arch})\n- Source: Docker\n- Name: ${IMAGEDATA_NAME}\n- Version: ${IMAGE_VERSION}\n${included_software}"
}
]
EOF
}
mkdir -p /imagegeneration
# Generate the imagedata JSON file displayed on workflow initialization
if [[ -n "$IMAGEDATA_NAME" ]]; then
echo "Generating imagedata JSON file"
create_imagedata_json
else
echo "IMAGEDATA_NAME is null or empty. Skipping imagedata JSON generation."
fi
@@ -0,0 +1,20 @@
#!/bin/bash -e
################################################################################
## File: configure-system.sh
## Desc: Post deployment system configuration actions
################################################################################
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh
echo "chmod -R 777 /opt"
chmod -R 777 /opt
echo "chmod -R 777 /usr/share"
chmod -R 777 /usr/share
# Remove quotes around PATH
ENVPATH=$(grep 'PATH=' /etc/environment | head -n 1 | sed -z 's/^PATH=*//')
ENVPATH=${ENVPATH#"\""}
ENVPATH=${ENVPATH%"\""}
replace_etc_environment_variable "PATH" "${ENVPATH}"
echo "Updated /etc/environment: $(cat /etc/environment)"
@@ -0,0 +1,22 @@
#!/bin/bash -e
################################################################################
## File: install-actions-cache.sh
## Desc: Download latest release from https://github.com/actions/action-versions
## Maintainer: #actions-runtime and @TingluoHuang
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/etc-environment.sh
# Prepare directory and env variable for ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
ACTION_ARCHIVE_CACHE_DIR=/opt/actionarchivecache
mkdir -p $ACTION_ARCHIVE_CACHE_DIR
chmod -R 777 $ACTION_ARCHIVE_CACHE_DIR
echo "Setting up ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE variable to ${ACTION_ARCHIVE_CACHE_DIR}"
set_etc_environment_variable "ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE" "${ACTION_ARCHIVE_CACHE_DIR}"
# Download latest release from github.com/actions/action-versions and untar to /opt/actionarchivecache
download_url=$(resolve_github_release_asset_url "actions/action-versions" "endswith(\"action-versions.tar.gz\")" "latest")
archive_path=$(download_with_retry "$download_url")
tar -xzf "$archive_path" -C $ACTION_ARCHIVE_CACHE_DIR
@@ -0,0 +1,18 @@
#!/bin/bash -e
################################################################################
## File: install-apt-common.sh
## Desc: Install basic command line utilities and dev packages
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
common_packages=$(get_toolset_value .apt.common_packages[])
cmd_packages=$(get_toolset_value .apt.cmd_packages[])
apt-get install --no-install-recommends $common_packages $cmd_packages
# for package in $common_packages $cmd_packages; do
# echo "Install $package"
# apt-get install --no-install-recommends $package
# done
@@ -0,0 +1,12 @@
#!/bin/bash -e
################################################################################
## File: install-apt-vital.sh
## Desc: Install vital command line utilities
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
vital_packages=$(get_toolset_value .apt.vital_packages[])
apt-get install --no-install-recommends $vital_packages
@@ -0,0 +1,30 @@
#!/bin/bash -e
################################################################################
## File: install-aws-tools.sh
## Desc: Install the AWS CLI, Session Manager plugin for the AWS CLI, and AWS SAM CLI
## Supply chain security: AWS SAM CLI - checksum validation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
awscliv2_archive_path=$(download_with_retry "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip")
unzip -qq "$awscliv2_archive_path" -d /tmp/installers/
/tmp/installers/aws/install -i /usr/local/aws-cli -b /usr/local/bin
smplugin_deb_path=$(download_with_retry "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb")
apt-get install "$smplugin_deb_path"
# Download the latest aws sam cli release
aws_sam_cli_archive_name="aws-sam-cli-linux-x86_64.zip"
sam_cli_download_url=$(resolve_github_release_asset_url "aws/aws-sam-cli" "endswith(\"$aws_sam_cli_archive_name\")" "latest")
aws_sam_cli_archive_path=$(download_with_retry "$sam_cli_download_url")
# Supply chain security - AWS SAM CLI
aws_sam_cli_hash=$(get_checksum_from_github_release "aws/aws-sam-cli" "${aws_sam_cli_archive_name}.. " "latest" "SHA256")
use_checksum_comparison "$aws_sam_cli_archive_path" "$aws_sam_cli_hash"
# Install the latest aws sam cli release
mkdir -p /tmp/installers/aws-sam-cli
unzip "$aws_sam_cli_archive_path" -d /tmp/installers/aws-sam-cli
/tmp/installers/aws-sam-cli/install -i /usr/local/aws-sam-cli -b /usr/local/bin
@@ -0,0 +1,16 @@
#!/bin/bash -e
################################################################################
## File: install-azcopy.sh
## Desc: Install AzCopy
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Install AzCopy10
archive_path=$(download_with_retry "https://aka.ms/downloadazcopy-v10-linux")
tar xzf "$archive_path" --strip-components=1 -C /tmp
install /tmp/azcopy /usr/local/bin/azcopy
# Create azcopy 10 alias for backward compatibility
ln -sf /usr/local/bin/azcopy /usr/local/bin/azcopy10
@@ -0,0 +1,13 @@
#!/bin/bash -e
################################################################################
## File: install-azure-cli.sh
## Desc: Install Azure CLI (az)
################################################################################
# Install Azure CLI (instructions taken from https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
curl -fsSL https://aka.ms/InstallAzureCLIDeb | sudo bash
echo "azure-cli https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux?pivots=apt" >> $HELPER_SCRIPTS/apt-sources.txt
rm -f /etc/apt/sources.list.d/azure-cli.list
rm -f /etc/apt/sources.list.d/azure-cli.list.save
@@ -0,0 +1,16 @@
#!/bin/bash -e
################################################################################
## File: install-azure-devops-cli.sh
## Desc: Install Azure DevOps CLI (az devops)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
# AZURE_EXTENSION_DIR shell variable defines where modules are installed
# https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
export AZURE_EXTENSION_DIR=/opt/az/azcliextensions
set_etc_environment_variable "AZURE_EXTENSION_DIR" "${AZURE_EXTENSION_DIR}"
# install azure devops Cli extension
az extension add -n azure-devops
@@ -0,0 +1,15 @@
#!/bin/bash -e
################################################################################
## File: install-bicep.sh
## Desc: Install bicep cli
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Install Bicep CLI
download_url=$(resolve_github_release_asset_url "Azure/bicep" "endswith(\"bicep-linux-x64\")" "latest")
bicep_binary_path=$(download_with_retry "${download_url}")
# Mark it as executable
install "$bicep_binary_path" /usr/local/bin/bicep
@@ -0,0 +1,25 @@
#!/bin/bash -e
################################################################################
## File: install-docker-cli.sh
## Desc: Install Docker CLI and plugins (Compose, Buildx) but not the engine.
## The Docker daemon is not included since ubuntu-slim runs as a container.
## ubuntu-slim does not run in Privileged mode, so functionality from these tools is limited.
## It cannot build or run containers locally.
################################################################################
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
# Install Docker CLI components (not the daemon)
# docker-ce-cli: Docker command line interface
# docker-buildx-plugin: Build with BuildKit
# docker-compose-plugin: Docker Compose V2
apt-get install --no-install-recommends -y \
docker-ce-cli \
docker-buildx-plugin \
docker-compose-plugin
@@ -0,0 +1,20 @@
#!/bin/bash -e
################################################################################
## File: install-git-lfs.sh
## Desc: Install Git-lfs
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
GIT_LFS_REPO="https://packagecloud.io/install/repositories/github/git-lfs"
# Install git-lfs
curl -fsSL $GIT_LFS_REPO/script.deb.sh | bash
apt-get install git-lfs
# Remove source repo's
rm /etc/apt/sources.list.d/github_git-lfs.list
# Document apt source repo's
echo "git-lfs $GIT_LFS_REPO" >> $HELPER_SCRIPTS/apt-sources.txt
@@ -0,0 +1,34 @@
#!/bin/bash -e
################################################################################
## File: install-git.sh
## Desc: Install Git and Git-FTP
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
GIT_REPO="ppa:git-core/ppa"
## Install git
add-apt-repository $GIT_REPO -y
apt-get update
apt-get install git
# Git version 2.35.2 introduces security fix that breaks action\checkout https://github.com/actions/checkout/issues/760
cat <<EOF >> /etc/gitconfig
[safe]
directory = *
EOF
# Install git-ftp
apt-get install git-ftp
# Remove source repo's
add-apt-repository --remove $GIT_REPO
# Document apt source repo's
echo "git-core $GIT_REPO" >> $HELPER_SCRIPTS/apt-sources.txt
# Add well-known SSH host keys to known_hosts
ssh-keyscan -t rsa,ecdsa,ed25519 github.com >> /etc/ssh/ssh_known_hosts
ssh-keyscan -t rsa ssh.dev.azure.com >> /etc/ssh/ssh_known_hosts
@@ -0,0 +1,22 @@
#!/bin/bash -e
################################################################################
## File: install-github-cli.sh
## Desc: Install GitHub CLI
## Must be run as non-root user after homebrew
## Supply chain security: GitHub CLI - checksum validation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Download GitHub CLI
gh_cli_url=$(resolve_github_release_asset_url "cli/cli" "contains(\"linux\") and contains(\"amd64\") and endswith(\".deb\")" "latest")
gh_cli_deb_path=$(download_with_retry "$gh_cli_url")
# Supply chain security - GitHub CLI
hash_url=$(resolve_github_release_asset_url "cli/cli" "endswith(\"checksums.txt\")" "latest")
external_hash=$(get_checksum_from_url "$hash_url" "linux_amd64.deb" "SHA256")
use_checksum_comparison "$gh_cli_deb_path" "$external_hash"
# Install GitHub CLI
apt-get install "$gh_cli_deb_path"
@@ -0,0 +1,20 @@
#!/bin/bash -e
################################################################################
## File: install-google-cloud-cli.sh
## Desc: Install the Google Cloud CLI
################################################################################
REPO_URL="https://packages.cloud.google.com/apt"
# Install the Google Cloud CLI
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] $REPO_URL cloud-sdk main" > /etc/apt/sources.list.d/google-cloud-sdk.list
wget -qO- https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor > /usr/share/keyrings/cloud.google.gpg
apt-get update
apt-get install google-cloud-cli
# remove apt
rm /etc/apt/sources.list.d/google-cloud-sdk.list
rm /usr/share/keyrings/cloud.google.gpg
# add repo to the apt-sources.txt
echo "google-cloud-sdk $REPO_URL" >> $HELPER_SCRIPTS/apt-sources.txt
@@ -0,0 +1,16 @@
#!/bin/bash -e
################################################################################
## File: install-ms-repos.sh
## Desc: Install official Microsoft package repos for the distribution
################################################################################
os_label=$(lsb_release -rs)
# Install Microsoft repository
wget https://packages.microsoft.com/config/ubuntu/$os_label/packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
# update
apt-get install apt-transport-https ca-certificates curl software-properties-common
apt-get update
apt-get dist-upgrade
@@ -0,0 +1,29 @@
#!/bin/bash -e
################################################################################
## File: install-nodejs.sh
## Desc: Install Node.js LTS and related tooling (Gulp, Grunt)
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Install default Node.js
default_version=$(get_toolset_value '.node.default')
curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n -o ~/n
sudo bash ~/n $default_version
# Install node modules
node_modules=$(get_toolset_value '.node_modules[].name')
if [ -n "$node_modules" ]; then
npm install -g $node_modules
else
echo "No node modules to install"
fi
# fix global modules installation as regular user
# related issue https://github.com/actions/runner-images/issues/3727
sudo chmod -R 777 /usr/local/lib/node_modules
sudo chmod -R 777 /usr/local/bin
rm -rf ~/n
@@ -0,0 +1,22 @@
#!/bin/bash -e
################################################################################
## File: install-nvm.sh
## Desc: Install Nvm
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
export NVM_DIR="/etc/skel/.nvm"
mkdir ${NVM_DIR}
nvm_version=$(curl -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh | bash
set_etc_environment_variable "NVM_DIR" '$HOME/.nvm'
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' | tee -a /etc/skel/.bash_profile
[ -s "${NVM_DIR}/nvm.sh" ] && \. "${NVM_DIR}/nvm.sh"
echo "source ${NVM_DIR}/nvm.sh" | tee -a /etc/skel/.bashrc
# set system node.js as default one
nvm alias default system
@@ -0,0 +1,28 @@
#!/bin/bash -e
################################################################################
## File: install-pipx-packages.sh
## Desc: Install tools via pipx
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
export PATH="$PATH:/opt/pipx_bin"
pipx_packages=$(get_toolset_value ".pipx[] .package")
if [ -z "$pipx_packages" ]; then
echo "No pipx packages defined in toolset. Skipping pipx installation."
exit 0
fi
for package in $pipx_packages; do
echo "Install $package into default python"
pipx install $package
# https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
# Install ansible into an existing ansible-core Virtual Environment
if [[ $package == "ansible-core" ]]; then
pipx inject $package ansible
fi
done
@@ -0,0 +1,15 @@
#!/bin/bash -e
################################################################################
## File: install-powershell.sh
## Desc: Install PowerShell Core
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
source $HELPER_SCRIPTS/os.sh
pwsh_version=$(get_toolset_value .pwsh.version)
# Install Powershell
apt-get install powershell=$pwsh_version*
@@ -0,0 +1,37 @@
#!/bin/bash -e
################################################################################
## File: install-python.sh
## Desc: Install Python 3
################################################################################
set -e
# Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/os.sh
# Install Python, Python 3, pip, pip3
apt-get install -y --no-install-recommends python3 python3-dev python3-pip python3-venv
if is_ubuntu24; then
# Create temporary workaround to allow user to continue using pip
sudo cat <<EOF > /etc/pip.conf
[global]
break-system-packages = true
EOF
fi
# Install pipx
# Set pipx custom directory
export PIPX_BIN_DIR=/opt/pipx_bin
export PIPX_HOME=/opt/pipx
python3 -m pip install pipx
python3 -m pipx ensurepath
# Update /etc/environment
set_etc_environment_variable "PIPX_BIN_DIR" $PIPX_BIN_DIR
set_etc_environment_variable "PIPX_HOME" $PIPX_HOME
prepend_etc_environment_path $PIPX_BIN_DIR
# Adding this dir to PATH will make installed pip commands are immediately available.
prepend_etc_environment_path '$HOME/.local/bin'
@@ -0,0 +1,22 @@
#!/bin/bash -e
################################################################################
## File: install-yq.sh
## Desc: Install yq - a command-line YAML, JSON and XML processor
## Supply chain security: yq - checksum validation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Download yq
yq_url=$(resolve_github_release_asset_url "mikefarah/yq" "endswith(\"yq_linux_amd64\")" "latest")
binary_path=$(download_with_retry "${yq_url}")
# Supply chain security - yq
hash_url=$(resolve_github_release_asset_url "mikefarah/yq" "endswith(\"checksums\")" "latest")
external_hash=$(get_checksum_from_url "${hash_url}" "yq_linux_amd64 " "SHA256" "true" " " "19")
use_checksum_comparison "$binary_path" "$external_hash"
# Install yq
install "$binary_path" /usr/bin/yq
@@ -0,0 +1,36 @@
#!/bin/bash -e
################################################################################
## File: install-zstd.sh
## Desc: Install zstd
## Supply chain security: zstd - checksum validation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Download zstd
release_tag=$(curl -fsSL https://api.github.com/repos/facebook/zstd/releases/latest | jq -r '.tag_name')
release_name="zstd-${release_tag//v}"
download_url="https://github.com/facebook/zstd/releases/download/${release_tag}/${release_name}.tar.gz"
archive_path=$(download_with_retry "${download_url}")
# Supply chain security - zstd
external_hash=$(get_checksum_from_url "${download_url}.sha256" "${release_name}.tar.gz" "SHA256")
use_checksum_comparison "$archive_path" "$external_hash"
# Install zstd
apt-get install liblz4-dev
tar xzf "$archive_path" -C /tmp
make -C "/tmp/${release_name}/contrib/pzstd" -j $(nproc) all
make -C "/tmp/${release_name}" -j $(nproc) zstd-release
for copyprocess in zstd zstdless zstdgrep; do
cp "/tmp/${release_name}/programs/${copyprocess}" /usr/local/bin/
done
cp "/tmp/${release_name}/contrib/pzstd/pzstd" /usr/local/bin/
for symlink in zstdcat zstdmt unzstd; do
ln -sf /usr/local/bin/zstd /usr/local/bin/${symlink}
done
@@ -0,0 +1,152 @@
function Get-CommandResult {
<#
.SYNOPSIS
Runs a command in bash and returns the output and exit code.
.DESCRIPTION
Function runs a provided command in bash and returns the output and exit code as hashtable.
.PARAMETER Command
The command to run.
.PARAMETER ExpectedExitCode
The expected exit code. If the actual exit code does not match, an exception is thrown.
.PARAMETER Multiline
If true, the output is returned as an array of strings. Otherwise, the output is returned as a single string.
.PARAMETER ValidateExitCode
If true, the actual exit code is compared to the expected exit code.
.EXAMPLE
$result = Get-CommandResult "ls -la"
This command runs "ls -la" in bash and returns the output and exit code as hashtable.
#>
param(
[Parameter(Mandatory=$true)]
[string] $Command,
[int[]] $ExpectedExitCode = 0,
[switch] $Multiline,
[bool] $ValidateExitCode = $true
)
# Bash trick to suppress and show error output because some commands write to stderr (for example, "python --version")
$stdout = & bash -c "$Command 2>&1"
$exitCode = $LASTEXITCODE
if ($ValidateExitCode) {
if ($ExpectedExitCode -notcontains $exitCode) {
try {
throw "StdOut: '$stdout' ExitCode: '$exitCode'"
} catch {
Write-Host $_.Exception.Message
Write-Host $_.ScriptStackTrace
exit $LASTEXITCODE
}
}
}
return @{
Output = If ($Multiline -eq $true) { $stdout } else { [string] $stdout }
ExitCode = $exitCode
}
}
function Test-IsUbuntu22 {
return (lsb_release -rs) -eq "22.04"
}
function Test-IsUbuntu24 {
return (lsb_release -rs) -eq "24.04"
}
function Get-ToolsetContent {
<#
.SYNOPSIS
Retrieves the content of the toolset.json file.
.DESCRIPTION
This function reads the toolset.json in path provided by INSTALLER_SCRIPT_FOLDER
environment variable and returns the content as a PowerShell object.
#>
$toolsetPath = Join-Path $env:INSTALLER_SCRIPT_FOLDER "toolset.json"
$toolsetJson = Get-Content -Path $toolsetPath -Raw
ConvertFrom-Json -InputObject $toolsetJson
}
function Invoke-DownloadWithRetry {
<#
.SYNOPSIS
Downloads a file from a given URL with retry functionality.
.DESCRIPTION
The Invoke-DownloadWithRetry function downloads a file from the specified URL
to the specified path. It includes retry functionality in case the download fails.
.PARAMETER Url
The URL of the file to download.
.PARAMETER Path
The path where the downloaded file will be saved. If not provided, a temporary path
will be used.
.EXAMPLE
Invoke-DownloadWithRetry -Url "https://example.com/file.zip" -Path "/usr/local/bin"
Downloads the file from the specified URL and saves it to the specified path.
.EXAMPLE
Invoke-DownloadWithRetry -Url "https://example.com/file.zip"
Downloads the file from the specified URL and saves it to a temporary path.
.OUTPUTS
The path where the downloaded file is saved.
#>
param(
[Parameter(Mandatory)]
[string] $Url,
[Alias("Destination")]
[string] $DestinationPath
)
if (-not $DestinationPath) {
$invalidChars = [IO.Path]::GetInvalidFileNameChars() -join ''
$re = "[{0}]" -f [RegEx]::Escape($invalidChars)
$fileName = [IO.Path]::GetFileName($Url) -replace $re
if ([String]::IsNullOrEmpty($fileName)) {
$fileName = [System.IO.Path]::GetRandomFileName()
}
$DestinationPath = Join-Path -Path "/tmp" -ChildPath $fileName
}
Write-Host "Downloading package from $Url to $DestinationPath..."
$interval = 30
$downloadStartTime = Get-Date
for ($retries = 20; $retries -gt 0; $retries--) {
try {
$attemptStartTime = Get-Date
Invoke-WebRequest -Uri $Url -Outfile $DestinationPath
$attemptSeconds = [math]::Round(($(Get-Date) - $attemptStartTime).TotalSeconds, 2)
Write-Host "Package downloaded in $attemptSeconds seconds"
break
} catch {
$attemptSeconds = [math]::Round(($(Get-Date) - $attemptStartTime).TotalSeconds, 2)
Write-Warning "Package download failed in $attemptSeconds seconds"
Write-Warning $_.Exception.Message
}
if ($retries -eq 0) {
$totalSeconds = [math]::Round(($(Get-Date) - $downloadStartTime).TotalSeconds, 2)
throw "Package download failed after $totalSeconds seconds"
}
Write-Warning "Waiting $interval seconds before retrying (retries left: $retries)..."
Start-Sleep -Seconds $interval
}
return $DestinationPath
}
@@ -0,0 +1,77 @@
using module ../software-report-base/SoftwareReport.psm1
using module ../software-report-base/SoftwareReport.Nodes.psm1
param (
[Parameter(Mandatory)]
[string] $OutputDirectory
)
$global:ErrorActionPreference = "Stop"
$global:ErrorView = "NormalView"
Set-StrictMode -Version Latest
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Common.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Helpers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "Common.Helpers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "SoftwareReport.Tools.psm1") -DisableNameChecking
# Restore file owner in user profile
sudo chown -R ${env:USER}: $env:HOME
# Software report
$softwareReport = [SoftwareReport]::new("Ubuntu-Slim")
$softwareReport.Root.AddToolVersion("OS Version:", $(Get-OSVersionFull))
$softwareReport.Root.AddToolVersion("Image Version:", $env:IMAGE_VERSION)
$softwareReport.Root.AddToolVersion("Systemd version:", $(Get-SystemdVersion))
$installedSoftware = $softwareReport.Root.AddHeader("Installed Software")
# Language and Runtime
$languageAndRuntime = $installedSoftware.AddHeader("Language and Runtime")
$languageAndRuntime.AddToolVersion("Bash", $(Get-BashVersion))
$languageAndRuntime.AddToolVersion("Dash", $(Get-DashVersion))
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
# Package Management
$packageManagement = $installedSoftware.AddHeader("Package Management")
$packageManagement.AddToolVersion("Npm", $(Get-NpmVersion))
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion))
$packageManagement.AddToolVersion("Pip3", $(Get-Pip3Version))
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
# Tools
$tools = $installedSoftware.AddHeader("Tools")
$tools.AddToolVersion("AzCopy", $(Get-AzCopyVersion))
$tools.AddToolVersion("Bicep", $(Get-BicepVersion))
$tools.AddToolVersion("Docker Compose v2", $(Get-DockerComposeV2Version))
$tools.AddToolVersion("Docker-Buildx", $(Get-DockerBuildxVersion))
$tools.AddToolVersion("Docker Client", $(Get-DockerClientVersion))
$tools.AddToolVersion("Git", $(Get-GitVersion))
$tools.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
$tools.AddToolVersion("Git-ftp", $(Get-GitFTPVersion))
$tools.AddToolVersion("jq", $(Get-JqVersion))
$tools.AddToolVersion("nvm", $(Get-NvmVersion))
$tools.AddToolVersion("OpenSSL", $(Get-OpensslVersion))
$tools.AddToolVersion("yq", $(Get-YqVersion))
$tools.AddToolVersion("zstd", $(Get-ZstdVersion))
# CLI Tools
$cliTools = $installedSoftware.AddHeader("CLI Tools")
$cliTools.AddToolVersion("AWS CLI", $(Get-AWSCliVersion))
$cliTools.AddToolVersion("AWS CLI Session Manager Plugin", $(Get-AWSCliSessionManagerPluginVersion))
$cliTools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMVersion))
$cliTools.AddToolVersion("Azure CLI", $(Get-AzureCliVersion))
$cliTools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
$cliTools.AddToolVersion("GitHub CLI", $(Get-GitHubCliVersion))
$cliTools.AddToolVersion("Google Cloud CLI", $(Get-GoogleCloudCLIVersion))
# PowerShell Tools
$powerShellTools = $installedSoftware.AddHeader("PowerShell Tools")
$powerShellTools.AddToolVersion("PowerShell", $(Get-PowershellVersion))
$installedSoftware.AddHeader("Installed apt packages").AddTable($(Get-AptPackages))
$softwareReport.ToJson() | Out-File -FilePath "${OutputDirectory}/software-report.json" -Encoding UTF8NoBOM
$softwareReport.ToMarkdown() | Out-File -FilePath "${OutputDirectory}/software-report.md" -Encoding UTF8NoBOM
@@ -0,0 +1,81 @@
function Get-BashVersion {
$version = bash -c 'echo ${BASH_VERSION}'
return $version
}
function Get-DashVersion {
$version = dpkg-query -W -f '${Version}' dash
return $version
}
function Get-NodeVersion {
$nodeVersion = $(node --version).Substring(1)
return $nodeVersion
}
function Get-OpensslVersion {
$opensslVersion = $(dpkg-query -W -f '${Version}' openssl)
return $opensslVersion
}
function Get-PerlVersion {
$version = $(perl -e 'print substr($^V,1)')
return $version
}
function Get-PythonVersion {
$result = Get-CommandResult "python --version"
$version = $result.Output | Get-StringPart -Part 1
return $version
}
function Get-PowershellVersion {
$pwshVersion = $(pwsh --version) | Get-StringPart -Part 1
return $pwshVersion
}
function Get-NpmVersion {
$npmVersion = npm --version
return $npmVersion
}
function Get-PipVersion {
$pipVersion = pip --version | Get-StringPart -Part 1
return $pipVersion
}
function Get-Pip3Version {
$pip3Version = pip3 --version | Get-StringPart -Part 1
return $pip3Version
}
function Get-AptPackages {
$apt = (Get-ToolsetContent).Apt
$output = @()
ForEach ($pkg in ($apt.vital_packages + $apt.common_packages + $apt.cmd_packages)) {
$version = $(dpkg-query -W -f '${Version}' $pkg)
if ($null -eq $version) {
$version = $(dpkg-query -W -f '${Version}' "$pkg*")
}
$version = $version -replace '~','\~'
$output += [PSCustomObject] @{
Name = $pkg
Version = $version
}
}
return ($output | Sort-Object Name)
}
function Get-PipxVersion {
$result = (Get-CommandResult "pipx --version").Output
$result -match "(?<version>\d+\.\d+\.\d+\.?\d*)" | Out-Null
return $Matches.Version
}
function Get-SystemdVersion {
$matchCollection = [regex]::Matches((systemctl --version | head -n 1), "\((.*?)\)")
$result = foreach ($match in $matchCollection) {$match.Groups[1].Value}
return $result
}
@@ -0,0 +1,37 @@
function Get-StringPart {
param (
[Parameter(ValueFromPipeline)]
[string] $ToolOutput,
[string] $Delimiter = " ",
[int[]] $Part
)
$parts = $ToolOutput.Split($Delimiter, [System.StringSplitOptions]::RemoveEmptyEntries)
$selectedParts = $parts[$Part]
return [string]::Join($Delimiter, $selectedParts)
}
function Get-PathWithLink {
param (
[string] $InputPath
)
$link = Get-Item $InputPath | Select-Object -ExpandProperty Target
if (-not [string]::IsNullOrEmpty($link)) {
return "${InputPath} -> ${link}"
}
return "${InputPath}"
}
function Get-OSVersionShort {
$(Get-OSVersionFull) | Get-StringPart -Delimiter '.' -Part 0,1
}
function Get-OSVersionFull {
lsb_release -ds | Get-StringPart -Part 1, 2
}
function Get-KernelVersion {
$kernelVersion = uname -r
return $kernelVersion
}
@@ -0,0 +1,94 @@
function Get-AzCopyVersion {
$azcopyVersion = [string]$(azcopy --version) | Get-StringPart -Part 2
return "$azcopyVersion - available by ``azcopy`` and ``azcopy10`` aliases"
}
function Get-BicepVersion {
(bicep --version | Out-String) -match "bicep cli version (?<version>\d+\.\d+\.\d+)" | Out-Null
return $Matches.Version
}
function Get-GitVersion {
$gitVersion = git --version | Get-StringPart -Part -1
return $gitVersion
}
function Get-GitLFSVersion {
$result = Get-CommandResult "git-lfs --version"
$gitlfsversion = $result.Output | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/"
return $gitlfsversion
}
function Get-GitFTPVersion {
$gitftpVersion = git-ftp --version | Get-StringPart -Part 2
return $gitftpVersion
}
function Get-GoogleCloudCLIVersion {
return (gcloud --version | Select-Object -First 1) | Get-StringPart -Part 3
}
function Get-NvmVersion {
$nvmVersion = bash -c "source /etc/skel/.nvm/nvm.sh && nvm --version"
return $nvmVersion
}
function Get-JqVersion {
$jqVersion = jq --version | Get-StringPart -Part 1 -Delimiter "-"
return $jqVersion
}
function Get-AzureCliVersion {
$azcliVersion = (az version | ConvertFrom-Json).'azure-cli'
return $azcliVersion
}
function Get-AzureDevopsVersion {
$azdevopsVersion = (az version | ConvertFrom-Json).extensions.'azure-devops'
return $azdevopsVersion
}
function Get-AWSCliVersion {
$result = Get-CommandResult "aws --version"
$awsVersion = $result.Output | Get-StringPart -Part 0 | Get-StringPart -Part 1 -Delimiter "/"
return $awsVersion
}
function Get-AWSCliSessionManagerPluginVersion {
$result = (Get-CommandResult "session-manager-plugin --version").Output
return $result
}
function Get-AWSSAMVersion {
return $(sam --version | Get-StringPart -Part -1)
}
function Get-GitHubCliVersion {
$ghVersion = gh --version | Select-String "gh version" | Get-StringPart -Part 2
return $ghVersion
}
function Get-ZstdVersion {
$zstdVersion = zstd --version | Get-StringPart -Part 1 -Delimiter "v" | Get-StringPart -Part 0 -Delimiter ","
return "$zstdVersion"
}
function Get-YqVersion {
$yqVersion = $(yq -V) | Get-StringPart -Part 3
return $yqVersion.TrimStart("v").Trim()
}
function Get-DockerComposeV2Version {
$composeVersion = docker compose version | Get-StringPart -Part 3 | Get-StringPart -Part 0 -Delimiter "v"
return $composeVersion
}
function Get-DockerClientVersion {
$dockerClientVersion = sudo docker version --format '{{.Client.Version}}'
return $dockerClientVersion
}
function Get-DockerBuildxVersion {
$buildxVersion = docker buildx version | Get-StringPart -Part 1 | Get-StringPart -Part 0 -Delimiter "v"
return $buildxVersion
}
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
# /opt/entrypoint.sh
# Load environment variables from file
set -a
source /etc/environment
set +a
# Execute the actual command
exec "$@"
@@ -0,0 +1,12 @@
#!/bin/bash -e
# delete all .gz and rotated file
find /var/log -type f -regex ".*\.gz$" -delete
find /var/log -type f -regex ".*\.[0-9]$" -delete
# wipe log files
find /var/log/ -type f -exec cp /dev/null {} \;
rm -rf /tmp/downloads /tmp/installers
apt-get clean
@@ -0,0 +1,89 @@
#!/bin/bash -e
################################################################################
## File: etc-environment.sh
## Desc: Helper functions for source and modify /etc/environment
################################################################################
# NB: sed expression use '%' as a delimiter in order to simplify handling
# values containing slashes (i.e. directory path)
# The values containing '%' will break the functions
get_etc_environment_variable() {
local variable_name=$1
# remove `variable_name=` and possible quotes from the line
grep "^${variable_name}=" /etc/environment | sed -E "s%^${variable_name}=\"?([^\"]+)\"?.*$%\1%"
}
add_etc_environment_variable() {
local variable_name=$1
local variable_value=$2
echo "${variable_name}=${variable_value}" | sudo tee -a /etc/environment
}
replace_etc_environment_variable() {
local variable_name=$1
local variable_value=$2
# modify /etc/environment in place by replacing a string that begins with variable_name
sudo sed -i -e "s%^${variable_name}=.*$%${variable_name}=${variable_value}%" /etc/environment
}
set_etc_environment_variable() {
local variable_name=$1
local variable_value=$2
if grep "^${variable_name}=" /etc/environment > /dev/null; then
replace_etc_environment_variable $variable_name $variable_value
else
add_etc_environment_variable $variable_name $variable_value
fi
}
prepend_etc_environment_variable() {
local variable_name=$1
local element=$2
# TODO: handle the case if the variable does not exist
existing_value=$(get_etc_environment_variable "${variable_name}")
set_etc_environment_variable "${variable_name}" "${element}:${existing_value}"
}
append_etc_environment_variable() {
local variable_name=$1
local element=$2
# TODO: handle the case if the variable does not exist
existing_value=$(get_etc_environment_variable "${variable_name}")
set_etc_environment_variable "${variable_name}" "${existing_value}:${element}"
}
prepend_etc_environment_path() {
local element=$1
prepend_etc_environment_variable PATH "${element}"
}
append_etc_environment_path() {
local element=$1
append_etc_environment_variable PATH "${element}"
}
# Process /etc/environment as if it were shell script with `export VAR=...` expressions
# The PATH variable is handled specially in order to do not override the existing PATH
# variable. The value of PATH variable read from /etc/environment is added to the end
# of value of the exiting PATH variable exactly as it would happen with real PAM app read
# /etc/environment
#
# TODO: there might be the others variables to be processed in the same way as "PATH" variable
# ie MANPATH, INFOPATH, LD_*, etc. In the current implementation the values from /etc/environment
# replace the values of the current environment
reload_etc_environment() {
# add `export ` to every variable of /etc/environment except PATH and eval the result shell script
eval $(grep -v '^PATH=' /etc/environment | sed -e 's%^%export %')
# handle PATH specially
etc_path=$(get_etc_environment_variable PATH)
export PATH="$PATH:$etc_path"
}
@@ -0,0 +1,243 @@
#!/bin/bash -e
################################################################################
## File: install.sh
## Desc: Helper functions for installing tools
################################################################################
download_with_retry() {
local url=$1
local download_path=$2
if [ -z "$download_path" ]; then
mkdir -p /tmp/downloads
download_path="/tmp/downloads/$(basename "$url")"
fi
echo "Downloading package from $url to $download_path..." >&2
interval=30
download_start_time=$(date +%s)
for ((retries=20; retries>0; retries--)); do
attempt_start_time=$(date +%s)
if http_code=$(curl -4sSLo "$download_path" "$url" -w '%{http_code}'); then
attempt_seconds=$(($(date +%s) - attempt_start_time))
if [ "$http_code" -eq 200 ]; then
echo "Package downloaded in $attempt_seconds seconds" >&2
break
else
echo "Received HTTP status code $http_code after $attempt_seconds seconds" >&2
fi
else
attempt_seconds=$(($(date +%s) - attempt_start_time))
echo "Package download failed in $attempt_seconds seconds" >&2
fi
if [ "$retries" -le 1 ]; then
total_seconds=$(($(date +%s) - download_start_time))
echo "Package download failed after $total_seconds seconds" >&2
exit 1
fi
echo "Waiting $interval seconds before retrying (retries left: $retries)..." >&2
sleep $interval
done
echo "$download_path"
}
get_github_releases_by_version() {
local repo=$1
local version=${2:-".+"}
local allow_pre_release=${3:-false}
local with_assets_only=${4:-false}
page_size="100"
json=$(curl -fsSL "https://api.github.com/repos/${repo}/releases?per_page=${page_size}")
if [[ -z "$json" ]]; then
echo "Failed to get releases" >&2
exit 1
fi
if [[ $with_assets_only == "true" ]]; then
json=$(echo $json | jq -r '.[] | select(.assets | length > 0)')
else
json=$(echo $json | jq -r '.[]')
fi
if [[ $allow_pre_release == "true" ]]; then
json=$(echo $json | jq -r '.')
else
json=$(echo $json | jq -r '. | select(.prerelease==false)')
fi
# Filter out rc/beta/etc releases, convert to numeric version and sort
json=$(echo $json | jq '. | select(.tag_name | test(".*-[a-z]|beta") | not)' | jq '.tag_name |= gsub("[^\\d.]"; "")' | jq -s 'sort_by(.tag_name | split(".") | map(tonumber))')
# Select releases matching version
if [[ $version == "latest" ]]; then
json_filtered=$(echo $json | jq .[-1])
elif [[ $version == *"+"* ]] || [[ $version == *"*"* ]]; then
json_filtered=$(echo $json | jq --arg version $version '.[] | select(.tag_name | test($version))')
else
json_filtered=$(echo $json | jq --arg version $version '.[] | select(.tag_name | contains($version))')
fi
if [[ -z "$json_filtered" ]]; then
echo "Failed to get releases from ${repo} matching version ${version}" >&2
echo "Available versions: $(echo "$json" | jq -r '.tag_name')" >&2
exit 1
fi
echo $json_filtered
}
resolve_github_release_asset_url() {
local repo=$1
local url_filter=$2
local version=${3:-".+"}
local allow_pre_release=${4:-false}
local allow_multiple_matches=${5:-false}
matching_releases=$(get_github_releases_by_version "${repo}" "${version}" "${allow_pre_release}" "true")
matched_url=$(echo $matching_releases | jq -r ".assets[].browser_download_url | select(${url_filter})")
if [[ -z "$matched_url" ]]; then
echo "Found no download urls matching pattern: ${url_filter}" >&2
echo "Available download urls: $(echo "$matching_releases" | jq -r '.assets[].browser_download_url')" >&2
exit 1
fi
if [[ "$(echo "$matched_url" | wc -l)" -gt 1 ]]; then
if [[ $allow_multiple_matches == "true" ]]; then
matched_url=$(echo "$matched_url" | tail -n 1)
else
echo "Multiple matches found for ${version} version and ${url_filter} URL filter. Please make filters more specific" >&2
exit 1
fi
fi
echo $matched_url
}
get_checksum_from_github_release() {
local repo=$1
local file_name=$2
local version=${3:-".+"}
local hash_type=$4
local allow_pre_release=${5:-false}
if [[ -z "$file_name" ]]; then
echo "File name is not specified." >&2
exit 1
fi
if [[ "$hash_type" == "SHA256" ]]; then
hash_pattern="[A-Fa-f0-9]{64}"
elif [[ "$hash_type" == "SHA512" ]]; then
hash_pattern="[A-Fa-f0-9]{128}"
else
echo "Unknown hash type: ${hash_type}" >&2
exit 1
fi
matching_releases=$(get_github_releases_by_version "${repo}" "${version}" "${allow_pre_release}" "true")
matched_line=$(printf "$(echo $matching_releases | jq '.body')\n" | grep "$file_name")
if [[ -z "$matched_line" ]]; then
echo "File name ${file_name} not found in release body" >&2
exit 1
fi
if [[ "$(echo "$matched_line" | wc -l)" -gt 1 ]]; then
echo "Multiple matches found for ${file_name} in release body: ${matched_line}" >&2
exit 1
fi
hash=$(echo $matched_line | grep -oP "$hash_pattern")
if [[ -z "$hash" ]]; then
echo "Found ${file_name} in body of release, but failed to get hash from it: ${matched_line}" >&2
exit 1
fi
echo "$hash"
}
get_checksum_from_url() {
local url=$1
local file_name=$2
local hash_type=$3
local use_custom_search_pattern=${4:-false}
local delimiter=${5:-' '}
local word_number=${6:-1}
if [[ "$hash_type" == "SHA256" ]]; then
hash_pattern="[A-Fa-f0-9]{64}"
elif [[ "$hash_type" == "SHA512" ]]; then
hash_pattern="[A-Fa-f0-9]{128}"
else
echo "Unknown hash type: ${hash_type}" >&2
exit 1
fi
checksums_file_path=$(download_with_retry "$url")
checksums=$(cat "$checksums_file_path")
rm "$checksums_file_path"
matched_line=$(printf "$checksums\n" | grep "$file_name")
if [[ "$(echo "$matched_line" | wc -l)" -gt 1 ]]; then
echo "Found multiple lines matching file name ${file_name} in checksum file." >&2
exit 1
fi
if [[ -z "$matched_line" ]]; then
echo "File name ${file_name} not found in checksum file." >&2
exit 1
fi
if [[ $use_custom_search_pattern == "true" ]]; then
hash=$(echo "$matched_line" | sed 's/ */ /g' | cut -d "$delimiter" -f "$word_number" | tr -d -c '[:alnum:]')
else
hash=$(echo $matched_line | grep -oP "$hash_pattern")
fi
if [[ -z "$hash" ]]; then
echo "Found ${file_name} in checksum file, but failed to get hash from it: ${matched_line}" >&2
exit 1
fi
echo "$hash"
}
use_checksum_comparison() {
local file_path=$1
local checksum=$2
local sha_type=${3:-"256"}
echo "Performing checksum verification"
if [[ ! -f "$file_path" ]]; then
echo "File not found: $file_path"
exit 1
fi
local_file_hash=$(shasum --algorithm "$sha_type" "$file_path" | awk '{print $1}')
if [[ "$local_file_hash" != "$checksum" ]]; then
echo "Checksum verification failed. Expected hash: $checksum; Actual hash: $local_file_hash."
exit 1
else
echo "Checksum verification passed. Expected hash: $checksum; Actual hash: $local_file_hash."
fi
}
get_toolset_value() {
local toolset_path="${INSTALLER_SCRIPT_FOLDER}/toolset.json"
local query=$1
echo "$(jq -r "$query" $toolset_path)"
}
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash -e
################################################################################
## File: os.sh
## Desc: Helper functions for OS releases
################################################################################
is_ubuntu22() {
lsb_release -rs | grep -q '22.04'
}
is_ubuntu24() {
lsb_release -rs | grep -q '24.04'
}
+101
View File
@@ -0,0 +1,101 @@
#!/bin/bash -e
# This script builds and runs various tests on the ubuntu-slim Docker image
# to ensure it contains the expected software and configurations.
# The build and test workflows for docker images expect this script to be present.
#
# Usage: test.sh [IMAGE_NAME]
# If IMAGE_NAME is not provided, defaults to ubuntu-slim:test
set -eo pipefail
show_help() {
echo "Usage: $0 [IMAGE_NAME]"
echo ""
echo "Test a Docker image to ensure it contains the expected software and configurations."
echo ""
echo "Arguments:"
echo " IMAGE_NAME Docker image name to test (default: ubuntu-slim:test)"
echo ""
echo "Examples:"
echo " $0 # Test ubuntu-slim:test (builds image first)"
echo " $0 my-registry/ubuntu:latest # Test existing image"
echo " $0 ubuntu-slim:v1.2.3 # Test tagged image"
echo ""
echo "Options:"
echo " -h, --help Show this help message"
}
# Handle help flags
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
show_help
exit 0
fi
# Set the image name from parameter or use default
IMAGE_NAME="${1:-ubuntu-slim:test}"
echo "Testing image: $IMAGE_NAME"
run_test() {
local desc="$1"
shift
if output=$(docker run --rm "$IMAGE_NAME" "$@" 2>&1); then
echo "PASS: $desc"
echo "$output" | sed 's/^/ /'
else
echo "FAIL: $desc"
echo "$output" | sed 's/^/ /'
exit 1
fi
}
# Build the image only if using the default name (for backward compatibility)
if [[ "$IMAGE_NAME" == "ubuntu-slim:test" ]]; then
echo "Building image: $IMAGE_NAME"
if ! docker build --no-cache --debug --progress plain -t "$IMAGE_NAME" .; then
echo "Error: Docker build failed"
exit 1
fi
else
# Check if the image exists
if ! docker image inspect "$IMAGE_NAME" >/dev/null 2>&1; then
echo "Error: Image '$IMAGE_NAME' does not exist. Please build it first or provide a valid image name."
echo "Run '$0 --help' for usage information."
exit 1
fi
fi
echo "Running tests on image: $IMAGE_NAME"
docker history --no-trunc "$IMAGE_NAME"
docker inspect -f "{{ .Size }}" "$IMAGE_NAME" | numfmt --to=iec | sed 's/^/Image size: /'
# Ensure key software is installed and runnable
run_test "GitHub CLI is installed" gh --version
run_test "Azure CLI is installed" az version
run_test "AWS CLI is installed" aws --version
run_test "Session Manager plugin is installed" session-manager-plugin --version
run_test "AWS SAM CLI is installed" sam --version
run_test "jq is installed" jq --version
run_test "git is installed" git --version
run_test "node is installed" node --version
run_test "npm is installed" npm --version
run_test "python3 is installed" python3 --version
run_test "python is aliased" python --version
run_test "pipx is installed" pipx --version
run_test "curl is installed" curl --version
run_test "wget is installed" wget --version
run_test "yq is installed" yq --version
run_test "parallel is installed" parallel --version
run_test "bc is installed" bc --version
run_test "zstd is installed" zstd --version
run_test "google cloud SDK is installed" gcloud --version
run_test "git lfs is installed" git lfs version
run_test "powershell is installed" pwsh --version
run_test "docker-cli is installed" docker --version
run_test "docker compose is installed" docker compose version
run_test "docker buildx is installed" docker buildx version
# Quick check: ensure the imagedata JSON file was created during image build
run_test "imagedata JSON file exists" test -f /imagegeneration/imagedata.json
+109
View File
@@ -0,0 +1,109 @@
{
"toolcache": [
{
"name": "node",
"url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json",
"platform" : "linux",
"arch": "x64",
"versions": [
"22.*",
"24.*"
]
},
{
"name": "CodeQL",
"platform" : "linux",
"arch": "x64",
"versions": [
"*"
]
}
],
"apt": {
"vital_packages": [
"apt-utils",
"bzip2",
"ca-certificates",
"curl",
"g++",
"gcc",
"make",
"jq",
"tar",
"unzip",
"wget"
],
"common_packages": [
"autoconf",
"automake",
"bc",
"dbus",
"dnsutils",
"dpkg",
"dpkg-dev",
"fakeroot",
"fonts-noto-color-emoji",
"gnupg2",
"iproute2",
"iputils-ping",
"libyaml-dev",
"libtool",
"libssl-dev",
"libsqlite3-dev",
"locales",
"lzma",
"mercurial",
"openssh-client",
"p7zip-rar",
"pkg-config",
"python-is-python3",
"rpm",
"texinfo",
"tk",
"tree",
"tzdata",
"upx",
"xvfb",
"xz-utils",
"zsync"
],
"cmd_packages": [
"acl",
"binutils",
"libnss3-tools",
"coreutils",
"file",
"findutils",
"flex",
"ftp",
"haveged",
"lz4",
"netcat-openbsd",
"net-tools",
"p7zip-full",
"parallel",
"patchelf",
"pigz",
"pollinate",
"rsync",
"shellcheck",
"sqlite3",
"ssh",
"sshpass",
"sudo",
"systemd-coredump",
"telnet",
"time",
"zip"
]
},
"brew": [
],
"node": {
"default": "24"
},
"node_modules": [ ],
"pwsh": {
"version": "7.5"
}
}
+120
View File
@@ -0,0 +1,120 @@
# Ubuntu-Slim
- OS Version: 24.04.3 LTS
- Image Version: 20260120.46.1
- Systemd version: 255.4-1ubuntu8.12
## Installed Software
### Language and Runtime
- Bash 5.2.21(1)-release
- Dash 0.5.12-6ubuntu5
- Node.js 24.13.0
- Perl 5.38.2
- Python 3.12.3
### Package Management
- Npm 11.6.2
- Pip 24.0
- Pip3 24.0
- Pipx 1.8.0
### Tools
- AzCopy 10.31.1 - available by `azcopy` and `azcopy10` aliases
- Bicep 0.39.26
- Docker Compose v2 5.0.1
- Docker-Buildx 0.30.1
- Docker Client 29.1.5
- Git 2.52.0
- Git LFS 3.7.1
- Git-ftp 1.6.0
- jq 1.7
- nvm 0.40.3
- OpenSSL 3.0.13-0ubuntu3.6
- yq 4.50.1
- zstd 1.5.7
### CLI Tools
- AWS CLI 2.33.2
- AWS CLI Session Manager Plugin 1.2.764.0
- AWS SAM CLI 1.151.0
- Azure CLI 2.82.0
- Azure CLI (azure-devops) 1.0.2
- GitHub CLI 2.85.0
- Google Cloud CLI 552.0.0
### PowerShell Tools
- PowerShell 7.5.4
### Installed apt packages
| Name | Version |
| ---------------------- | ---------------------------- |
| acl | 2.3.2-1build1.1 |
| apt-utils | 2.8.3 |
| autoconf | 2.71-3 |
| automake | 1:1.16.5-1.3ubuntu1 |
| bc | 1.07.1-3ubuntu4 |
| binutils | 2.42-4ubuntu2.8 |
| bzip2 | 1.0.8-5.1build0.1 |
| ca-certificates | 20240203 |
| coreutils | 9.4-3ubuntu6.1 |
| curl | 8.5.0-2ubuntu10.6 |
| dbus | 1.14.10-4ubuntu4.1 |
| dnsutils | 1:9.18.39-0ubuntu0.24.04.2 |
| dpkg | 1.22.6ubuntu6.5 |
| dpkg-dev | 1.22.6ubuntu6.5 |
| fakeroot | 1.33-1 |
| file | 1:5.45-3build1 |
| findutils | 4.9.0-5build1 |
| flex | 2.6.4-8.2build1 |
| fonts-noto-color-emoji | 2.047-0ubuntu0.24.04.1 |
| ftp | 20230507-2build3 |
| g++ | 4:13.2.0-7ubuntu1 |
| gcc | 4:13.2.0-7ubuntu1 |
| gnupg2 | 2.4.4-2ubuntu17.4 |
| haveged | 1.9.14-1ubuntu2 |
| iproute2 | 6.1.0-1ubuntu6.2 |
| iputils-ping | 3:20240117-1ubuntu0.1 |
| jq | 1.7.1-3ubuntu0.24.04.1 |
| libnss3-tools | 2:3.98-1build1 |
| libsqlite3-dev | 3.45.1-1ubuntu2.5 |
| libssl-dev | 3.0.13-0ubuntu3.6 |
| libtool | 2.4.7-7build1 |
| libyaml-dev | 0.2.5-1build1 |
| locales | 2.39-0ubuntu8.6 |
| lz4 | 1.9.4-1build1.1 |
| lzma | 9.22-2.2 |
| make | 4.3-4.1build2 |
| mercurial | 6.7.2-1ubuntu2.2 |
| net-tools | 2.10-0.1ubuntu4.4 |
| netcat-openbsd | 1.226-1ubuntu2 |
| openssh-client | 1:9.6p1-3ubuntu13.14 |
| p7zip-full | 16.02+transitional.1 |
| p7zip-rar | 16.02+transitional.1 |
| parallel | 20231122+ds-1 |
| patchelf | 0.18.0-1.1build1 |
| pigz | 2.8-1 |
| pkg-config | 1.8.1-2build1 |
| pollinate | 4.33-3.1ubuntu1.1 |
| python-is-python3 | 3.11.4-1 |
| rpm | 4.18.2+dfsg-2.1build2 |
| rsync | 3.2.7-1ubuntu1.2 |
| shellcheck | 0.9.0-1 |
| sqlite3 | 3.45.1-1ubuntu2.5 |
| ssh | 1:9.6p1-3ubuntu13.14 |
| sshpass | 1.09-1 |
| sudo | 1.9.15p5-3ubuntu5.24.04.1 |
| systemd-coredump | 255.4-1ubuntu8.12 |
| tar | 1.35+dfsg-3build1 |
| telnet | 0.17+2.5-3ubuntu4 |
| texinfo | 7.1-3build2 |
| time | 1.9-0.2build1 |
| tk | 8.6.14build1 |
| tree | 2.1.1-2ubuntu3.24.04.2 |
| tzdata | 2025b-0ubuntu0.24.04.1 |
| unzip | 6.0-28ubuntu4.1 |
| upx | 4.2.2-3 |
| wget | 1.21.4-1ubuntu4.1 |
| xvfb | 2:21.1.12-1ubuntu1.5 |
| xz-utils | 5.6.1+really5.4.5-1ubuntu0.2 |
| zip | 3.0-13ubuntu0.2 |
| zsync | 0.6.2-5build1 |
+285
View File
@@ -0,0 +1,285 @@
{
"NodeType": "HeaderNode",
"Title": "Ubuntu-Slim",
"Children": [
{
"NodeType": "ToolVersionNode",
"ToolName": "OS Version:",
"Version": "24.04.3 LTS"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Image Version:",
"Version": "20260120.46.1"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Systemd version:",
"Version": "255.4-1ubuntu8.12"
},
{
"NodeType": "HeaderNode",
"Title": "Installed Software",
"Children": [
{
"NodeType": "HeaderNode",
"Title": "Language and Runtime",
"Children": [
{
"NodeType": "ToolVersionNode",
"ToolName": "Bash",
"Version": "5.2.21(1)-release"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Dash",
"Version": "0.5.12-6ubuntu5"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Node.js",
"Version": "24.13.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Perl",
"Version": "5.38.2"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Python",
"Version": "3.12.3"
}
]
},
{
"NodeType": "HeaderNode",
"Title": "Package Management",
"Children": [
{
"NodeType": "ToolVersionNode",
"ToolName": "Npm",
"Version": "11.6.2"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Pip",
"Version": "24.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Pip3",
"Version": "24.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Pipx",
"Version": "1.8.0"
}
]
},
{
"NodeType": "HeaderNode",
"Title": "Tools",
"Children": [
{
"NodeType": "ToolVersionNode",
"ToolName": "AzCopy",
"Version": "10.31.1 - available by `azcopy` and `azcopy10` aliases"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Bicep",
"Version": "0.39.26"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Docker Compose v2",
"Version": "5.0.1"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Docker-Buildx",
"Version": "0.30.1"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Docker Client",
"Version": "29.1.5"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Git",
"Version": "2.52.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Git LFS",
"Version": "3.7.1"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Git-ftp",
"Version": "1.6.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "jq",
"Version": "1.7"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "nvm",
"Version": "0.40.3"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "OpenSSL",
"Version": "3.0.13-0ubuntu3.6"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "yq",
"Version": "4.50.1"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "zstd",
"Version": "1.5.7"
}
]
},
{
"NodeType": "HeaderNode",
"Title": "CLI Tools",
"Children": [
{
"NodeType": "ToolVersionNode",
"ToolName": "AWS CLI",
"Version": "2.33.2"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "AWS CLI Session Manager Plugin",
"Version": "1.2.764.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "AWS SAM CLI",
"Version": "1.151.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Azure CLI",
"Version": "2.82.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Azure CLI (azure-devops)",
"Version": "1.0.2"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "GitHub CLI",
"Version": "2.85.0"
},
{
"NodeType": "ToolVersionNode",
"ToolName": "Google Cloud CLI",
"Version": "552.0.0"
}
]
},
{
"NodeType": "HeaderNode",
"Title": "PowerShell Tools",
"Children": {
"NodeType": "ToolVersionNode",
"ToolName": "PowerShell",
"Version": "7.5.4"
}
},
{
"NodeType": "HeaderNode",
"Title": "Installed apt packages",
"Children": {
"NodeType": "TableNode",
"Headers": "Name|Version",
"Rows": [
"acl|2.3.2-1build1.1",
"apt-utils|2.8.3",
"autoconf|2.71-3",
"automake|1:1.16.5-1.3ubuntu1",
"bc|1.07.1-3ubuntu4",
"binutils|2.42-4ubuntu2.8",
"bzip2|1.0.8-5.1build0.1",
"ca-certificates|20240203",
"coreutils|9.4-3ubuntu6.1",
"curl|8.5.0-2ubuntu10.6",
"dbus|1.14.10-4ubuntu4.1",
"dnsutils|1:9.18.39-0ubuntu0.24.04.2",
"dpkg|1.22.6ubuntu6.5",
"dpkg-dev|1.22.6ubuntu6.5",
"fakeroot|1.33-1",
"file|1:5.45-3build1",
"findutils|4.9.0-5build1",
"flex|2.6.4-8.2build1",
"fonts-noto-color-emoji|2.047-0ubuntu0.24.04.1",
"ftp|20230507-2build3",
"g++|4:13.2.0-7ubuntu1",
"gcc|4:13.2.0-7ubuntu1",
"gnupg2|2.4.4-2ubuntu17.4",
"haveged|1.9.14-1ubuntu2",
"iproute2|6.1.0-1ubuntu6.2",
"iputils-ping|3:20240117-1ubuntu0.1",
"jq|1.7.1-3ubuntu0.24.04.1",
"libnss3-tools|2:3.98-1build1",
"libsqlite3-dev|3.45.1-1ubuntu2.5",
"libssl-dev|3.0.13-0ubuntu3.6",
"libtool|2.4.7-7build1",
"libyaml-dev|0.2.5-1build1",
"locales|2.39-0ubuntu8.6",
"lz4|1.9.4-1build1.1",
"lzma|9.22-2.2",
"make|4.3-4.1build2",
"mercurial|6.7.2-1ubuntu2.2",
"net-tools|2.10-0.1ubuntu4.4",
"netcat-openbsd|1.226-1ubuntu2",
"openssh-client|1:9.6p1-3ubuntu13.14",
"p7zip-full|16.02+transitional.1",
"p7zip-rar|16.02+transitional.1",
"parallel|20231122+ds-1",
"patchelf|0.18.0-1.1build1",
"pigz|2.8-1",
"pkg-config|1.8.1-2build1",
"pollinate|4.33-3.1ubuntu1.1",
"python-is-python3|3.11.4-1",
"rpm|4.18.2+dfsg-2.1build2",
"rsync|3.2.7-1ubuntu1.2",
"shellcheck|0.9.0-1",
"sqlite3|3.45.1-1ubuntu2.5",
"ssh|1:9.6p1-3ubuntu13.14",
"sshpass|1.09-1",
"sudo|1.9.15p5-3ubuntu5.24.04.1",
"systemd-coredump|255.4-1ubuntu8.12",
"tar|1.35+dfsg-3build1",
"telnet|0.17+2.5-3ubuntu4",
"texinfo|7.1-3build2",
"time|1.9-0.2build1",
"tk|8.6.14build1",
"tree|2.1.1-2ubuntu3.24.04.2",
"tzdata|2025b-0ubuntu0.24.04.1",
"unzip|6.0-28ubuntu4.1",
"upx|4.2.2-3",
"wget|1.21.4-1ubuntu4.1",
"xvfb|2:21.1.12-1ubuntu1.5",
"xz-utils|5.6.1+really5.4.5-1ubuntu0.2",
"zip|3.0-13ubuntu0.2",
"zsync|0.6.2-5build1"
]
}
}
]
}
]
}
+126 -145
View File
@@ -1,12 +1,12 @@
| Announcements |
|-|
| [[Ubuntu & Windows] Four tools scheduled for deprecation on November 3, 2025](https://github.com/actions/runner-images/issues/12898) |
| [[Windows/Ubuntu] Docker Server and Client will be updated to version 29.1.*, Docker Compose will be updated to version 2.40.3 on February 9th, 2026](https://github.com/actions/runner-images/issues/13474) |
***
# Ubuntu 22.04
- OS Version: 22.04.5 LTS
- Kernel Version: 6.8.0-1041-azure
- Image Version: 20251125.163.1
- Systemd version: 249.11-0ubuntu3.17
- Kernel Version: 6.8.0-1044-azure
- Image Version: 20260406.82.1
- Systemd version: 249.11-0ubuntu3.19
## Installed Software
@@ -18,28 +18,28 @@
- Dash 0.5.11+git20210903+057cd650a4ed-3build1
- GNU C++: 10.5.0, 11.4.0, 12.3.0
- GNU Fortran: 10.5.0, 11.4.0, 12.3.0
- Julia 1.12.2
- Kotlin 2.2.21-release-469
- Julia 1.12.5
- Kotlin 2.3.20-release-208
- Mono 6.12.0.200
- MSBuild 16.10.1.31701 (Mono 6.12.0.200)
- Node.js 20.19.6
- Node.js 20.20.2
- Perl 5.34.0
- Python 3.10.12
- Ruby 3.0.2p107
- Swift 6.2.1
- Swift 6.3
### Package Management
- cpan 1.64
- Helm 3.19.2
- Homebrew 5.0.3
- Miniconda 25.9.1
- Helm 3.20.1
- Homebrew 5.1.4
- Miniconda 26.1.1
- Npm 10.8.2
- NuGet 6.6.1.2
- Pip 22.0.2
- Pip3 22.0.2
- Pipx 1.8.0
- Pipx 1.11.1
- RubyGems 3.3.5
- Vcpkg (build from commit 9aee6e968f)
- Vcpkg (build from commit 14de8214a1)
- Yarn 1.22.22
#### Environment variables
@@ -58,117 +58,117 @@ to accomplish this.
### Project Management
- Ant 1.10.12
- Gradle 9.2.1
- Lerna 9.0.1
- Maven 3.9.11
- Sbt 1.11.7
- Gradle 9.4.1
- Lerna 9.0.7
- Maven 3.9.14
- Sbt 1.12.8
### Tools
- Ansible 2.17.14
- apt-fast 1.10.0
- AzCopy 10.31.0 - available by `azcopy` and `azcopy10` aliases
- Bazel 8.4.2
- Bazelisk 1.26.0
- Bicep 0.39.26
- AzCopy 10.32.2 - available by `azcopy` and `azcopy10` aliases
- Bazel 9.0.1
- Bazelisk 1.28.1
- Bicep 0.42.1
- Buildah 1.23.1
- CMake 3.31.6
- CodeQL Action Bundle 2.23.6
- Docker Amazon ECR Credential Helper 0.11.0
- CodeQL Action Bundle 2.25.1
- Docker Amazon ECR Credential Helper 0.12.0
- Docker Compose v2 2.38.2
- Docker-Buildx 0.30.1
- Docker-Buildx 0.33.0
- Docker Client 28.0.4
- Docker Server 28.0.4
- Fastlane 2.229.1
- Git 2.52.0
- Fastlane 2.232.2
- Git 2.53.0
- Git LFS 3.7.1
- Git-ftp 1.6.0
- Haveged 1.9.14
- Heroku 10.15.1
- Heroku 11.1.1
- jq 1.6
- Kind 0.30.0
- Kubectl 1.34.2
- Kustomize 5.8.0
- Kind 0.31.0
- Kubectl 1.35.3
- Kustomize 5.8.1
- Leiningen 2.12.0
- MediaInfo 21.09
- Mercurial 6.1.1
- Minikube 1.37.0
- Minikube 1.38.1
- n 10.2.0
- Newman 6.2.1
- nvm 0.40.3
- OpenSSL 3.0.2-0ubuntu1.20
- Packer 1.14.3
- Parcel 2.16.1
- Newman 6.2.2
- nvm 0.40.4
- OpenSSL 3.0.2-0ubuntu1.21
- Packer 1.15.1
- Parcel 2.16.4
- Podman 3.4.4
- Pulumi 3.208.0
- R 4.5.2
- Pulumi 3.229.0
- R 4.5.3
- Skopeo 1.4.1
- Sphinx Open Source Search Server 2.2.11
- SVN 1.14.1
- Terraform 1.14.0
- yamllint 1.37.1
- yq 4.49.2
- Terraform 1.14.8
- yamllint 1.38.0
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### CLI Tools
- Alibaba Cloud CLI 3.1.5
- AWS CLI 2.32.5
- AWS CLI Session Manager Plugin 1.2.764.0
- AWS SAM CLI 1.148.0
- Azure CLI 2.80.0
- Alibaba Cloud CLI 3.3.4
- AWS CLI 2.34.25
- AWS CLI Session Manager Plugin 1.2.804.0
- AWS SAM CLI 1.157.1
- Azure CLI 2.84.0
- Azure CLI (azure-devops) 1.0.2
- GitHub CLI 2.83.1
- Google Cloud CLI 548.0.0
- Netlify CLI 23.11.1
- OpenShift CLI 4.20.5
- ORAS CLI 1.3.0
- Vercel CLI 48.10.13
- GitHub CLI 2.89.0
- Google Cloud CLI 563.0.0
- Netlify CLI 24.10.0
- OpenShift CLI 4.21.8
- ORAS CLI 1.3.1
- Vercel CLI 50.40.0
### Java
| Version | Environment Variable |
| ------------------- | -------------------- |
| 8.0.472+8 | JAVA_HOME_8_X64 |
| 11.0.29+7 (default) | JAVA_HOME_11_X64 |
| 17.0.17+10 | JAVA_HOME_17_X64 |
| 21.0.9+10 | JAVA_HOME_21_X64 |
| 25.0.1+8 | JAVA_HOME_25_X64 |
| 8.0.482+8 | JAVA_HOME_8_X64 |
| 11.0.30+7 (default) | JAVA_HOME_11_X64 |
| 17.0.18+8 | JAVA_HOME_17_X64 |
| 21.0.10+7 | JAVA_HOME_21_X64 |
| 25.0.2+10 | JAVA_HOME_25_X64 |
### PHP Tools
- PHP: 8.1.2
- Composer 2.9.2
- PHPUnit 8.5.48
- Composer 2.9.5
- PHPUnit 8.5.52
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
```
### Haskell Tools
- Cabal 3.16.0.0
- GHC 9.12.2
- Cabal 3.16.1.0
- GHC 9.14.1
- GHCup 0.1.50.2
- Stack 3.7.1
- Stack 3.9.3
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Bindgen 0.72.1
- Cargo audit 0.22.0
- Cargo clippy 0.1.91
- Cargo audit 0.22.1
- Cargo clippy 0.1.94
- Cargo outdated 0.17.0
- Cbindgen 0.29.2
- Rustfmt 1.8.0
### Browsers and Drivers
- Google Chrome 142.0.7444.175
- ChromeDriver 142.0.7444.175
- Chromium 142.0.7444.0
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Selenium server 4.38.0
- Mozilla Firefox 145.0.2
- Google Chrome 146.0.7680.177
- ChromeDriver 146.0.7680.165
- Chromium 146.0.7680.0
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Selenium server 4.41.0
- Mozilla Firefox 149.0
- Geckodriver 0.36.0
#### Environment variables
@@ -180,14 +180,14 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
- .NET Core SDK: 8.0.122, 8.0.206, 8.0.319, 8.0.416, 9.0.112, 9.0.205, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.125, 8.0.206, 8.0.319, 8.0.419, 9.0.115, 9.0.205, 9.0.312, 10.0.105, 10.0.201
- nbgv 3.9.50+6feeb89450
### Databases
- sqlite3 3.37.2
#### PostgreSQL
- PostgreSQL 14.20
- PostgreSQL 14.22
```
User: postgres
PostgreSQL service is disabled by default.
@@ -195,7 +195,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
```
#### MySQL
- MySQL 8.0.44-0ubuntu0.22.04.1
- MySQL 8.0.45-0ubuntu0.22.04.1
```
User: root
Password: root
@@ -205,50 +205,50 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### MS SQL
- sqlcmd 17.10.0001.1
- SqlPackage 170.2.70.1
- SqlPackage 170.3.93.6
### Cached Tools
#### Go
- 1.22.12
- 1.23.12
- 1.24.10
- 1.25.4
- 1.24.13
- 1.25.8
#### Node.js
- 20.19.5
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Python
- 3.9.25
- 3.10.19
- 3.11.14
- 3.12.12
- 3.13.9
- 3.14.0
- 3.10.20
- 3.11.15
- 3.12.13
- 3.13.12
- 3.14.3
#### PyPy
- 3.7.13 [PyPy 7.3.9]
- 3.8.16 [PyPy 7.3.11]
- 3.9.19 [PyPy 7.3.16]
- 3.10.16 [PyPy 7.3.19]
- 3.11.13 [PyPy 7.3.20]
- 3.11.15 [PyPy 7.3.21]
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Az: 14.6.0
- MarkdownPS: 1.10
- Microsoft.Graph: 2.32.0
- Microsoft.Graph: 2.36.1
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
@@ -257,17 +257,17 @@ Use the following command as a part of your job to start the service: 'sudo syst
| nginx | 1.18.0 | /etc/nginx/nginx.conf | inactive | 80 |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1<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 Platform-Tools | 36.0.0 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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)<br>android-32 (rev 1)<br>android-31 (rev 1) |
| Android Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.3.13750724 (default) |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 9.0 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0 |
| Android SDK Platform-Tools | 37.0.0 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android Support Repository | 47.0.0 |
| CMake | 3.18.1<br>3.22.1<br>3.31.5 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
@@ -275,29 +275,10 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ANDROID_HOME | /usr/local/lib/android/sdk |
| ANDROID_NDK | /usr/local/lib/android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_HOME | /usr/local/lib/android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/27.3.13750724 |
| ANDROID_NDK_LATEST_HOME | /usr/local/lib/android/sdk/ndk/29.0.14206865 |
| ANDROID_NDK_ROOT | /usr/local/lib/android/sdk/ndk/27.3.13750724 |
| ANDROID_SDK_ROOT | /usr/local/lib/android/sdk |
### Cached Docker images
| Repository:Tag | Digest | Created |
| -------------------- | ------------------------------------------------------------------------ | ---------- |
| alpine:3.16 | sha256:452e7292acee0ee16c332324d7de05fa2c99f9994ecc9f0779c602916a672ae4 | 2024-01-27 |
| alpine:3.17 | sha256:8fc3dacfb6d69da8d44e42390de777e48577085db99aa4e4af35f483eb08b989 | 2024-09-06 |
| alpine:3.18 | sha256:de0eb0b3f2a47ba1eb89389859a9bd88b28e82f5826b6969ad604979713c2d4f | 2025-02-14 |
| alpine:3.19 | sha256:6baf43584bcb78f2e5847d1de515f23499913ac9f12bdf834811a3145eb11ca1 | 2025-10-08 |
| debian:10 | sha256:58ce6f1271ae1c8a2006ff7d3e54e9874d839f573d8009c20154ad0f2fb0a225 | 2024-06-13 |
| debian:11 | sha256:ee239c601913c0d3962208299eef70dcffcb7aac1787f7a02f6d3e2b518755e6 | 2025-11-17 |
| moby/buildkit:latest | sha256:de10faf919fc71ba4eb1dd7bd6449566d012b0c9436b1c61bfee21d621b009aa | 2025-11-20 |
| node:18 | sha256:c6ae79e38498325db67193d391e6ec1d224d96c693a8a4d943498556716d3783 | 2025-03-27 |
| node:18-alpine | sha256:8d6421d663b4c28fd3ebc498332f249011d118945588d0a35cb9bc4b8ca09d9e | 2025-03-27 |
| node:20 | sha256:66d2eb8b463114d1f416d61dbd5fa9cea83e8fc250feb997338467728a06124b | 2025-11-25 |
| node:20-alpine | sha256:16858294071a56ffd4cce9f17b57136cc39e41507b40e245b4f8e906f7a19463 | 2025-11-25 |
| node:22 | sha256:4ad2c2b350ab49fb637ab40a269ffe207c61818bb7eb3a4ea122001a0c605e1f | 2025-11-18 |
| node:22-alpine | sha256:b2358485e3e33bc3a33114d2b1bdb18cdbe4df01bd2b257198eb51beb1f026c5 | 2025-10-29 |
| ubuntu:20.04 | sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214 | 2025-04-08 |
| ubuntu:22.04 | sha256:104ae83764a5119017b8e8d6218fa0832b09df65aae7d5a6de29a85d813da2fb | 2025-10-13 |
### Installed apt packages
| Name | Version |
| ---------------------- | ----------------------------------- |
@@ -305,14 +286,14 @@ Use the following command as a part of your job to start the service: 'sudo syst
| aria2 | 1.36.0-1 |
| autoconf | 2.71-2 |
| automake | 1:1.16.5-1.3 |
| binutils | 2.38-4ubuntu2.10 |
| binutils | 2.38-4ubuntu2.12 |
| bison | 2:3.8.2+dfsg-1build1 |
| brotli | 1.0.9-2build6 |
| bzip2 | 1.0.8-5build1 |
| coreutils | 8.32-4.1ubuntu1.2 |
| curl | 7.81.0-1ubuntu1.21 |
| coreutils | 8.32-4.1ubuntu1.3 |
| curl | 7.81.0-1ubuntu1.23 |
| dbus | 1.12.20-2ubuntu4.1 |
| dnsutils | 1:9.18.39-0ubuntu0.22.04.2 |
| dnsutils | 1:9.18.39-0ubuntu0.22.04.3 |
| dpkg | 1.21.1ubuntu2.6 |
| dpkg-dev | 1.21.1ubuntu2.6 |
| fakeroot | 1.28-1ubuntu1 |
@@ -323,7 +304,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ftp | 20210827-4build1 |
| g++ | 4:11.2.0-1ubuntu1 |
| gcc | 4:11.2.0-1ubuntu1 |
| gnupg2 | 2.2.27-3ubuntu2.4 |
| gnupg2 | 2.2.27-3ubuntu2.5 |
| haveged | 1.9.14-1ubuntu1 |
| imagemagick | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 |
| iproute2 | 5.15.0-1ubuntu2 |
@@ -332,8 +313,8 @@ Use the following command as a part of your job to start the service: 'sudo syst
| lib32z1 | 1:1.2.11.dfsg-2ubuntu9.2 |
| libc++-dev | 1:14.0-55\~exp2 |
| libc++abi-dev | 1:14.0-55\~exp2 |
| libc6-dev | 2.35-0ubuntu3.11 |
| libcurl4 | 7.81.0-1ubuntu1.21 |
| libc6-dev | 2.35-0ubuntu3.13 |
| libcurl4 | 7.81.0-1ubuntu1.23 |
| libgbm-dev | 23.2.1-1ubuntu3.1\~22.04.3 |
| libgconf-2-4 | 3.2.6-7ubuntu2 |
| libgsl-dev | 2.7.1+dfsg-3 |
@@ -341,16 +322,16 @@ Use the following command as a part of your job to start the service: 'sudo syst
| libmagic-dev | 1:5.41-3ubuntu0.1 |
| libmagickcore-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 |
| libmagickwand-dev | 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.5 |
| libnss3-tools | 2:3.98-0ubuntu0.22.04.2 |
| libnss3-tools | 2:3.98-0ubuntu0.22.04.3 |
| libsecret-1-dev | 0.20.5-2 |
| libsqlite3-dev | 3.37.2-2ubuntu0.5 |
| libssl-dev | 3.0.2-0ubuntu1.20 |
| libssl-dev | 3.0.2-0ubuntu1.21 |
| libtool | 2.4.6-15build2 |
| libunwind8 | 1.3.2-2build2.1 |
| libxkbfile-dev | 1:1.1.0-1build3 |
| libxss1 | 1:1.2.3-1build2 |
| libyaml-dev | 0.2.2-1build2 |
| locales | 2.35-0ubuntu3.11 |
| locales | 2.35-0ubuntu3.13 |
| lz4 | 1.9.3-2build2 |
| m4 | 1.4.18-5ubuntu2 |
| make | 4.3-4.1build1 |
@@ -358,7 +339,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
| mercurial | 6.1.1-1ubuntu1 |
| net-tools | 1.60+git20181103.0eebece-1ubuntu5.4 |
| netcat | 1.218-4ubuntu1 |
| openssh-client | 1:8.9p1-3ubuntu0.13 |
| openssh-client | 1:8.9p1-3ubuntu0.14 |
| p7zip-full | 16.02+dfsg-8 |
| p7zip-rar | 16.02-3build1 |
| parallel | 20210822+ds-2 |
@@ -366,25 +347,25 @@ Use the following command as a part of your job to start the service: 'sudo syst
| patchelf | 0.14.3-1 |
| pigz | 2.6-1 |
| pkg-config | 0.29.2-1ubuntu3 |
| pollinate | 4.33-3ubuntu2.1 |
| pollinate | 4.33-3ubuntu2.3 |
| python-is-python3 | 3.9.2-2 |
| rpm | 4.17.0+dfsg1-4build1 |
| rsync | 3.2.7-0ubuntu0.22.04.4 |
| shellcheck | 0.8.0-2 |
| sphinxsearch | 2.2.11-8 |
| sqlite3 | 3.37.2-2ubuntu0.5 |
| ssh | 1:8.9p1-3ubuntu0.13 |
| ssh | 1:8.9p1-3ubuntu0.14 |
| sshpass | 1.09-1 |
| subversion | 1.14.1-3ubuntu0.22.04.1 |
| sudo | 1.9.9-1ubuntu2.5 |
| sudo | 1.9.9-1ubuntu2.6 |
| swig | 4.0.2-1ubuntu1 |
| systemd-coredump | 249.11-0ubuntu3.17 |
| systemd-coredump | 249.11-0ubuntu3.19 |
| tar | 1.34+dfsg-1ubuntu0.1.22.04.2 |
| telnet | 0.17-44build1 |
| texinfo | 6.8-4build1 |
| time | 1.9-0.1build2 |
| tk | 8.6.11+1build2 |
| tzdata | 2025b-0ubuntu0.22.04.1 |
| tzdata | 2026a-0ubuntu0.22.04.1 |
| unzip | 6.0-26ubuntu3.2 |
| upx | 3.96-3 |
| wget | 1.21.2-2ubuntu1.1 |
+116 -116
View File
@@ -1,12 +1,12 @@
| Announcements |
|-|
| [[Ubuntu & Windows] Four tools scheduled for deprecation on November 3, 2025](https://github.com/actions/runner-images/issues/12898) |
| [[Windows/Ubuntu] Docker Server and Client will be updated to version 29.1.*, Docker Compose will be updated to version 2.40.3 on February 9th, 2026](https://github.com/actions/runner-images/issues/13474) |
***
# Ubuntu 24.04
- OS Version: 24.04.3 LTS
- Kernel Version: 6.11.0-1018-azure
- Image Version: 20251126.144.1
- Systemd version: 255.4-1ubuntu8.11
- OS Version: 24.04.4 LTS
- Kernel Version: 6.17.0-1010-azure
- Image Version: 20260406.80.1
- Systemd version: 255.4-1ubuntu8.14
## Installed Software
@@ -18,25 +18,25 @@
- Dash 0.5.12-6ubuntu5
- GNU C++: 12.4.0, 13.3.0, 14.2.0
- GNU Fortran: 12.4.0, 13.3.0, 14.2.0
- Julia 1.12.2
- Kotlin 2.2.21-release-469
- Node.js 20.19.6
- Julia 1.12.5
- Kotlin 2.3.20-release-208
- Node.js 20.20.2
- Perl 5.38.2
- Python 3.12.3
- Ruby 3.2.3
- Swift 6.2.1
- Swift 6.3
### Package Management
- cpan 1.64
- Helm 3.19.2
- Homebrew 5.0.3
- Miniconda 25.9.1
- Helm 3.20.1
- Homebrew 5.1.4
- Miniconda 26.1.1
- Npm 10.8.2
- Pip 24.0
- Pip3 24.0
- Pipx 1.8.0
- Pipx 1.11.1
- RubyGems 3.4.20
- Vcpkg (build from commit da93ad9cab)
- Vcpkg (build from commit 14de8214a1)
- Yarn 1.22.22
#### Environment variables
@@ -55,100 +55,100 @@ to accomplish this.
### Project Management
- Ant 1.10.14
- Gradle 9.2.1
- Lerna 9.0.1
- Maven 3.9.11
- Gradle 9.4.1
- Lerna 9.0.7
- Maven 3.9.14
### Tools
- Ansible 2.20.0
- AzCopy 10.31.0 - available by `azcopy` and `azcopy10` aliases
- Bazel 8.4.2
- Bazelisk 1.26.0
- Bicep 0.39.26
- Ansible 2.20.4
- AzCopy 10.32.2 - available by `azcopy` and `azcopy10` aliases
- Bazel 9.0.1
- Bazelisk 1.28.1
- Bicep 0.42.1
- Buildah 1.33.7
- CMake 3.31.6
- CodeQL Action Bundle 2.23.6
- Docker Amazon ECR Credential Helper 0.11.0
- CodeQL Action Bundle 2.25.1
- Docker Amazon ECR Credential Helper 0.12.0
- Docker Compose v2 2.38.2
- Docker-Buildx 0.30.1
- Docker-Buildx 0.33.0
- Docker Client 28.0.4
- Docker Server 28.0.4
- Fastlane 2.229.1
- Git 2.52.0
- Fastlane 2.232.2
- Git 2.53.0
- Git LFS 3.7.1
- Git-ftp 1.6.0
- Haveged 1.9.14
- jq 1.7
- Kind 0.30.0
- Kubectl 1.34.2
- Kustomize 5.8.0
- Kind 0.31.0
- Kubectl 1.35.3
- Kustomize 5.8.1
- MediaInfo 24.01
- Mercurial 6.7.2
- Minikube 1.37.0
- Minikube 1.38.1
- n 10.2.0
- Newman 6.2.1
- nvm 0.40.3
- OpenSSL 3.0.13-0ubuntu3.6
- Packer 1.14.3
- Parcel 2.16.1
- Newman 6.2.2
- nvm 0.40.4
- OpenSSL 3.0.13-0ubuntu3.7
- Packer 1.15.1
- Parcel 2.16.4
- Podman 4.9.3
- Pulumi 3.209.0
- Pulumi 3.229.0
- Skopeo 1.13.3
- Sphinx Open Source Search Server 2.2.11
- yamllint 1.37.1
- yq 4.49.2
- yamllint 1.38.0
- yq 4.52.5
- zstd 1.5.7
- Ninja 1.13.2
### CLI Tools
- AWS CLI 2.32.5
- AWS CLI Session Manager Plugin 1.2.764.0
- AWS SAM CLI 1.148.0
- Azure CLI 2.80.0
- AWS CLI 2.34.25
- AWS CLI Session Manager Plugin 1.2.804.0
- AWS SAM CLI 1.157.1
- Azure CLI 2.84.0
- Azure CLI (azure-devops) 1.0.2
- GitHub CLI 2.83.1
- Google Cloud CLI 548.0.0
- GitHub CLI 2.89.0
- Google Cloud CLI 563.0.0
### Java
| Version | Environment Variable |
| -------------------- | -------------------- |
| 8.0.472+8 | JAVA_HOME_8_X64 |
| 11.0.29+7 | JAVA_HOME_11_X64 |
| 17.0.17+10 (default) | JAVA_HOME_17_X64 |
| 21.0.9+10 | JAVA_HOME_21_X64 |
| 25.0.1+8 | JAVA_HOME_25_X64 |
| Version | Environment Variable |
| ------------------- | -------------------- |
| 8.0.482+8 | JAVA_HOME_8_X64 |
| 11.0.30+7 | JAVA_HOME_11_X64 |
| 17.0.18+8 (default) | JAVA_HOME_17_X64 |
| 21.0.10+7 | JAVA_HOME_21_X64 |
| 25.0.2+10 | JAVA_HOME_25_X64 |
### PHP Tools
- PHP: 8.3.6
- Composer 2.9.2
- PHPUnit 8.5.48
- Composer 2.9.5
- PHPUnit 8.5.52
```
Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
```
### Haskell Tools
- Cabal 3.16.0.0
- GHC 9.12.2
- Cabal 3.16.1.0
- GHC 9.14.1
- GHCup 0.1.50.2
- Stack 3.7.1
- Stack 3.9.3
### Rust Tools
- Cargo 1.91.1
- Rust 1.91.1
- Rustdoc 1.91.1
- Rustup 1.28.2
- Cargo 1.94.1
- Rust 1.94.1
- Rustdoc 1.94.1
- Rustup 1.29.0
#### Packages
- Rustfmt 1.8.0
### Browsers and Drivers
- Google Chrome 142.0.7444.175
- ChromeDriver 142.0.7444.175
- Chromium 142.0.7444.0
- Microsoft Edge 142.0.3595.94
- Microsoft Edge WebDriver 142.0.3595.94
- Selenium server 4.38.0
- Mozilla Firefox 145.0.2
- Google Chrome 146.0.7680.177
- ChromeDriver 146.0.7680.165
- Chromium 146.0.7680.0
- Microsoft Edge 146.0.3856.97
- Microsoft Edge WebDriver 146.0.3856.97
- Selenium server 4.41.0
- Mozilla Firefox 149.0
- Geckodriver 0.36.0
#### Environment variables
@@ -160,14 +160,14 @@ Both Xdebug and PCOV extensions are installed, but only Xdebug is enabled.
| SELENIUM_JAR_PATH | /usr/share/java/selenium-server.jar |
### .NET Tools
- .NET Core SDK: 8.0.122, 8.0.206, 8.0.319, 8.0.416, 9.0.112, 9.0.205, 9.0.308, 10.0.100
- .NET Core SDK: 8.0.125, 8.0.206, 8.0.319, 8.0.419, 9.0.115, 9.0.205, 9.0.312, 10.0.105, 10.0.201
- nbgv 3.9.50+6feeb89450
### Databases
- sqlite3 3.45.1
#### PostgreSQL
- PostgreSQL 16.11
- PostgreSQL 16.13
```
User: postgres
PostgreSQL service is disabled by default.
@@ -175,7 +175,7 @@ Use the following command as a part of your job to start the service: 'sudo syst
```
#### MySQL
- MySQL 8.0.44-0ubuntu0.24.04.1
- MySQL 8.0.45-0ubuntu0.24.04.1
```
User: root
Password: root
@@ -188,40 +188,40 @@ Use the following command as a part of your job to start the service: 'sudo syst
#### Go
- 1.22.12
- 1.23.12
- 1.24.10
- 1.25.4
- 1.24.13
- 1.25.8
#### Node.js
- 20.19.6
- 22.21.1
- 24.11.1
- 20.20.2
- 22.22.2
- 24.14.1
#### Python
- 3.9.25
- 3.10.19
- 3.11.14
- 3.12.12
- 3.13.9
- 3.14.0
- 3.10.20
- 3.11.15
- 3.12.13
- 3.13.12
- 3.14.3
#### PyPy
- 3.9.19 [PyPy 7.3.16]
- 3.10.16 [PyPy 7.3.19]
- 3.11.13 [PyPy 7.3.20]
- 3.11.15 [PyPy 7.3.21]
#### Ruby
- 3.2.9
- 3.3.10
- 3.4.7
- 3.2.11
- 3.3.11
- 3.4.9
- 4.0.2
### PowerShell Tools
- PowerShell 7.4.13
- PowerShell 7.4.14
#### PowerShell Modules
- Az: 12.5.0
- Microsoft.Graph: 2.32.0
- Az: 14.6.0
- Microsoft.Graph: 2.36.1
- Pester: 5.7.1
- PSScriptAnalyzer: 1.24.0
- PSScriptAnalyzer: 1.25.0
### Web Servers
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
@@ -230,17 +230,17 @@ Use the following command as a part of your job to start the service: 'sudo syst
| nginx | 1.24.0 | /etc/nginx/nginx.conf | inactive | 80 |
### Android
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 12.0 |
| Android SDK Build-tools | 36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0 |
| Android SDK Platform-Tools | 36.0.0 |
| Android SDK Platforms | android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 26.3.11579264<br>27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
| Package Name | Version |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Android Command Line Tools | 12.0 |
| Android SDK Build-tools | 37.0.0<br>36.0.0 36.1.0<br>35.0.0 35.0.1<br>34.0.0 |
| Android SDK Platform-Tools | 37.0.0 |
| Android SDK Platforms | android-37.0 (rev 1)<br>android-36.1 (rev 1)<br>android-36-ext19 (rev 1)<br>android-36-ext18 (rev 1)<br>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) |
| Android Support Repository | 47.0.0 |
| CMake | 3.31.5<br>4.1.2 |
| Google Play services | 49 |
| Google Repository | 58 |
| NDK | 27.3.13750724 (default)<br>28.2.13676358<br>29.0.14206865 |
#### Environment variables
| Name | Value |
@@ -259,14 +259,14 @@ Use the following command as a part of your job to start the service: 'sudo syst
| aria2 | 1.37.0+debian-1build3 |
| autoconf | 2.71-3 |
| automake | 1:1.16.5-1.3ubuntu1 |
| binutils | 2.42-4ubuntu2.6 |
| binutils | 2.42-4ubuntu2.10 |
| bison | 2:3.8.2+dfsg-1build2 |
| brotli | 1.1.0-2build2 |
| bzip2 | 1.0.8-5.1build0.1 |
| coreutils | 9.4-3ubuntu6.1 |
| curl | 8.5.0-2ubuntu10.6 |
| coreutils | 9.4-3ubuntu6.2 |
| curl | 8.5.0-2ubuntu10.8 |
| dbus | 1.14.10-4ubuntu4.1 |
| dnsutils | 1:9.18.39-0ubuntu0.24.04.2 |
| dnsutils | 1:9.18.39-0ubuntu0.24.04.3 |
| dpkg | 1.22.6ubuntu6.5 |
| dpkg-dev | 1.22.6ubuntu6.5 |
| fakeroot | 1.33-1 |
@@ -277,17 +277,17 @@ Use the following command as a part of your job to start the service: 'sudo syst
| ftp | 20230507-2build3 |
| g++ | 4:13.2.0-7ubuntu1 |
| gcc | 4:13.2.0-7ubuntu1 |
| gnupg2 | 2.4.4-2ubuntu17.3 |
| gnupg2 | 2.4.4-2ubuntu17.4 |
| haveged | 1.9.14-1ubuntu2 |
| iproute2 | 6.1.0-1ubuntu6.2 |
| iputils-ping | 3:20240117-1ubuntu0.1 |
| jq | 1.7.1-3ubuntu0.24.04.1 |
| libnss3-tools | 2:3.98-1build1 |
| libnss3-tools | 2:3.98-1ubuntu0.1 |
| libsqlite3-dev | 3.45.1-1ubuntu2.5 |
| libssl-dev | 3.0.13-0ubuntu3.6 |
| libssl-dev | 3.0.13-0ubuntu3.7 |
| libtool | 2.4.7-7build1 |
| libyaml-dev | 0.2.5-1build1 |
| locales | 2.39-0ubuntu8.6 |
| locales | 2.39-0ubuntu8.7 |
| lz4 | 1.9.4-1build1.1 |
| m4 | 1.4.19-4build1 |
| make | 4.3-4.1build2 |
@@ -295,32 +295,32 @@ Use the following command as a part of your job to start the service: 'sudo syst
| mercurial | 6.7.2-1ubuntu2.2 |
| net-tools | 2.10-0.1ubuntu4.4 |
| netcat | 1.226-1ubuntu2 |
| openssh-client | 1:9.6p1-3ubuntu13.14 |
| openssh-client | 1:9.6p1-3ubuntu13.15 |
| p7zip-full | 16.02+transitional.1 |
| p7zip-rar | 16.02+transitional.1 |
| parallel | 20231122+ds-1 |
| patchelf | 0.18.0-1.1build1 |
| pigz | 2.8-1 |
| pkg-config | 1.8.1-2build1 |
| pollinate | 4.33-3.1ubuntu1.1 |
| pollinate | 4.33-3.1ubuntu1.3 |
| python-is-python3 | 3.11.4-1 |
| rpm | 4.18.2+dfsg-2.1build2 |
| rsync | 3.2.7-1ubuntu1.2 |
| shellcheck | 0.9.0-1 |
| sphinxsearch | 2.2.11-8build1 |
| sqlite3 | 3.45.1-1ubuntu2.5 |
| ssh | 1:9.6p1-3ubuntu13.14 |
| ssh | 1:9.6p1-3ubuntu13.15 |
| sshpass | 1.09-1 |
| sudo | 1.9.15p5-3ubuntu5.24.04.1 |
| sudo | 1.9.15p5-3ubuntu5.24.04.2 |
| swig | 4.2.0-2ubuntu1 |
| systemd-coredump | 255.4-1ubuntu8.11 |
| systemd-coredump | 255.4-1ubuntu8.14 |
| tar | 1.35+dfsg-3build1 |
| telnet | 0.17+2.5-3ubuntu4 |
| telnet | 0.17+2.5-3ubuntu4.1 |
| texinfo | 7.1-3build2 |
| time | 1.9-0.2build1 |
| tk | 8.6.14build1 |
| tree | 2.1.1-2ubuntu3.24.04.2 |
| tzdata | 2025b-0ubuntu0.24.04.1 |
| tzdata | 2026a-0ubuntu0.24.04.1 |
| unzip | 6.0-28ubuntu4.1 |
| upx | 4.2.2-3 |
| wget | 1.21.4-1ubuntu4.1 |
@@ -11,6 +11,7 @@ Import-Module "$env:HELPER_SCRIPTS/../tests/Helpers.psm1"
# Get modules content from toolset
$modules = (Get-ToolsetContent).azureModules
$installPSModulePath = "/usr/share"
$psModuleMachinePath = $env:PSModulePath + ":"
foreach ($module in $modules) {
$moduleName = $module.name
@@ -19,9 +20,12 @@ foreach ($module in $modules) {
foreach ($version in $module.versions) {
$modulePath = Join-Path -Path $installPSModulePath -ChildPath "${moduleName}_${version}"
Write-Host " - $version [$modulePath]"
$psModuleMachinePath += ($modulePath + ":")
Save-Module -Path $modulePath -Name $moduleName -RequiredVersion $version -Force
}
}
$finalLine = "PSModulePath=$($psModuleMachinePath.TrimEnd(':').Replace("\root", '$HOME'))"
Add-Content -Path "/etc/environment" -Value $finalLine
Invoke-PesterTests -TestFile "PowerShellModules" -TestName "AzureModules"
@@ -26,6 +26,15 @@ while [ \$i -le 30 ];do
if grep -q 'Could not get lock' \$err;then
# apt db locked needs retry
retry=true
elif grep -q 'Could not get lock /var/lib/apt/lists/lock' \$err;then
# apt update did not complete (race condition), needs retry
retry=true
elif grep -q 'Problem renaming the file /var/cache/apt/pkgcache.bin.* to /var/cache/apt/pkgcache.bin' \$err;then
# apt-get did not complete (race condition), needs retry
retry=true
elif grep -q 'Problem renaming the file /var/cache/apt/srcpkgcache.bin.* to /var/cache/apt/srcpkgcache.bin' \$err;then
# apt update did not complete (race condition), needs retry
retry=true
elif grep -q 'Could not open file /var/lib/apt/lists' \$err;then
# apt update is not completed, needs retry
retry=true

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