Compare commits
559
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5237201e5 | ||
|
|
ee530b00e3 | ||
|
|
af0df29967 | ||
|
|
021b320d3b | ||
|
|
f27bce4030 | ||
|
|
d0ef4c965f | ||
|
|
ffc156c381 | ||
|
|
7ac5d59cf5 | ||
|
|
1bb89cd279 | ||
|
|
9f1c73e473 | ||
|
|
620d17380f | ||
|
|
4a67880dbe | ||
|
|
250b209850 | ||
|
|
8b7d5f6fee | ||
|
|
f92a9551a8 | ||
|
|
97c57828ed | ||
|
|
47ef77b32b | ||
|
|
8184167b25 | ||
|
|
d1852f561f | ||
|
|
131105315a | ||
|
|
b127d3a973 | ||
|
|
0b3c476cb6 | ||
|
|
8085da95cb | ||
|
|
976232da21 | ||
|
|
237fc1c4e2 | ||
|
|
c2491bb469 | ||
|
|
981fb1eb13 | ||
|
|
05c04b5275 | ||
|
|
2d35c44cec | ||
|
|
186e26bc97 | ||
|
|
5d3ec3ef99 | ||
|
|
402d029f44 | ||
|
|
f7416ed524 | ||
|
|
989ed18117 | ||
|
|
6d67eed162 | ||
|
|
bb3043b2c5 | ||
|
|
4ac5909191 | ||
|
|
bc116668f0 | ||
|
|
e51332054c | ||
|
|
3d5f09a90f | ||
|
|
ffe7e6a514 | ||
|
|
19e81a096c | ||
|
|
c2becfafdd | ||
|
|
c4f58658b6 | ||
|
|
aff0eea2a1 | ||
|
|
6cc2576b1b | ||
|
|
92c3eccf8d | ||
|
|
b8e122b1b1 | ||
|
|
03a8b0fd82 | ||
|
|
5a7153bb52 | ||
|
|
5e69d9c205 | ||
|
|
0a970d8e11 | ||
|
|
9bdf288d3e | ||
|
|
45226c1116 | ||
|
|
2d6d4f7714 | ||
|
|
3373b502f7 | ||
|
|
c9d728fd25 | ||
|
|
bcf2ea82ad | ||
|
|
9dbed1b18a | ||
|
|
70cee3d2bd | ||
|
|
f55af58f30 | ||
|
|
f983f3da95 | ||
|
|
832c038b81 | ||
|
|
39222c24c4 | ||
|
|
7c2da160a2 | ||
|
|
ee68afd89e | ||
|
|
ee59bae245 | ||
|
|
2899593d7a | ||
|
|
ad23bf9f93 | ||
|
|
600fb502b3 | ||
|
|
5c8a14c94c | ||
|
|
0e631a89e8 | ||
|
|
cee689db9f | ||
|
|
591df9aa44 | ||
|
|
225dce0cbd | ||
|
|
b14867a5eb | ||
|
|
4ef6e91929 | ||
|
|
6b5e85899d | ||
|
|
d0a65206e5 | ||
|
|
7cd7c6a18a | ||
|
|
019a2c6edc | ||
|
|
cb92b7c5b2 | ||
|
|
9e06b648c0 | ||
|
|
625a3cb7eb | ||
|
|
9a4df3f591 | ||
|
|
87aba9f412 | ||
|
|
6bbddd20d7 | ||
|
|
ddfcef3f6a | ||
|
|
3dca722ddb | ||
|
|
cb088fbe48 | ||
|
|
c2c0261ea4 | ||
|
|
b74c33ad6e | ||
|
|
de16eefce8 | ||
|
|
1346c98b00 | ||
|
|
26a47c5357 | ||
|
|
d7a4f1a864 | ||
|
|
5ae5d85800 | ||
|
|
f839529975 | ||
|
|
d7901f6e93 | ||
|
|
d868709391 | ||
|
|
3362e8dadf | ||
|
|
e6d18766e6 | ||
|
|
07869434fe | ||
|
|
2d0360379c | ||
|
|
cc762854bd | ||
|
|
4730894910 | ||
|
|
c8985638bc | ||
|
|
49a87ab9a3 | ||
|
|
a0b19fa01b | ||
|
|
e3ba729b37 | ||
|
|
6c768837be | ||
|
|
004bb48b9e | ||
|
|
5a263020f5 | ||
|
|
9b0a6c08c9 | ||
|
|
20d0451bdd | ||
|
|
6eccdcc56f | ||
|
|
6d5e92cd22 | ||
|
|
50bb5e8967 | ||
|
|
a63a87f6a0 | ||
|
|
ced65c7a3c | ||
|
|
153e15c52e | ||
|
|
a03f6d0ec3 | ||
|
|
f391328279 | ||
|
|
00f102b4cc | ||
|
|
1e3d72af6d | ||
|
|
aba30c31f0 | ||
|
|
b3342fe129 | ||
|
|
fc643c2fc8 | ||
|
|
a9d89fa563 | ||
|
|
75e2e796b8 | ||
|
|
ffd458e263 | ||
|
|
166ca4e9c2 | ||
|
|
6e8ddff8ff | ||
|
|
26b592de2b | ||
|
|
d22a5ec4c1 | ||
|
|
e6fd81684d | ||
|
|
183bef9022 | ||
|
|
53c3ba89fe | ||
|
|
6c6545011c | ||
|
|
2c013247b1 | ||
|
|
7a40bc62eb | ||
|
|
cb9e36698d | ||
|
|
b20550951d | ||
|
|
c0b1588684 | ||
|
|
fd9befaf96 | ||
|
|
c2ef078c78 | ||
|
|
187f9f5904 | ||
|
|
277110d088 | ||
|
|
5934916ad9 | ||
|
|
d0d851b2c2 | ||
|
|
67857a41a1 | ||
|
|
c27b1a395f | ||
|
|
56187189cf | ||
|
|
a56a1d3dc7 | ||
|
|
5cd2ef1b0a | ||
|
|
9b55b80556 | ||
|
|
d29e71f0c5 | ||
|
|
918263378c | ||
|
|
e96b8f37d5 | ||
|
|
ccbc0f9b26 | ||
|
|
d43ea5c42a | ||
|
|
5d604b9dc5 | ||
|
|
126e725070 | ||
|
|
23478d3106 | ||
|
|
445bbb0d61 | ||
|
|
6b5924aa06 | ||
|
|
a070c8516f | ||
|
|
06e844f299 | ||
|
|
2be7150808 | ||
|
|
07f291cacf | ||
|
|
0819844238 | ||
|
|
5a82897b98 | ||
|
|
84c4b32b94 | ||
|
|
b4c921107c | ||
|
|
909878ffc5 | ||
|
|
d3f705c429 | ||
|
|
adf6d83ab9 | ||
|
|
e74605cd6d | ||
|
|
c53958b30e | ||
|
|
10abbce9e6 | ||
|
|
32f3b67f86 | ||
|
|
bf6ac0db93 | ||
|
|
2d27578911 | ||
|
|
a29761eb60 | ||
|
|
2111b3e225 | ||
|
|
640581936d | ||
|
|
4d7c677f1c | ||
|
|
a8d59b2440 | ||
|
|
a531b96b21 | ||
|
|
ec00dd1a31 | ||
|
|
24b91c995e | ||
|
|
a1633b0193 | ||
|
|
02babd3573 | ||
|
|
422d7a028e | ||
|
|
e054e2bcdc | ||
|
|
fbbb9d7303 | ||
|
|
83a93373e6 | ||
|
|
1136c0f644 | ||
|
|
d4872d4c2e | ||
|
|
4c67970f91 | ||
|
|
f1bf50f507 | ||
|
|
e38398ad37 | ||
|
|
25f1053fed | ||
|
|
6a79f14748 | ||
|
|
fb37f140d8 | ||
|
|
7b927d9898 | ||
|
|
c6a4b16561 | ||
|
|
fc001c0493 | ||
|
|
949eeedc32 | ||
|
|
4a0b4ab1fb | ||
|
|
e2b01435e8 | ||
|
|
b03e99b0d2 | ||
|
|
0077a0756a | ||
|
|
0136427b07 | ||
|
|
954995809e | ||
|
|
fcc4cdb1d0 | ||
|
|
2997ec866b | ||
|
|
a177c07699 | ||
|
|
3fbcce7888 | ||
|
|
c152328e5a | ||
|
|
e065c9ac28 | ||
|
|
011a640c94 | ||
|
|
f08266d9d0 | ||
|
|
b3b23d5faa | ||
|
|
f3ad9cadef | ||
|
|
499aa8a821 | ||
|
|
c6ea5e3564 | ||
|
|
9b4274cda9 | ||
|
|
6becb4037c | ||
|
|
58e54334b0 | ||
|
|
dae0f77971 | ||
|
|
1838f0f3dc | ||
|
|
75f145b104 | ||
|
|
09ff567de6 | ||
|
|
7ca41de8b8 | ||
|
|
bd333c6236 | ||
|
|
dfca60f766 | ||
|
|
948c9e2df6 | ||
|
|
3e37de50ef | ||
|
|
2cb9b917c5 | ||
|
|
52279a9048 | ||
|
|
20de906028 | ||
|
|
1229dfcf19 | ||
|
|
2889cfe878 | ||
|
|
59b3801509 | ||
|
|
6d85c4873e | ||
|
|
7bf4ada29d | ||
|
|
768c456091 | ||
|
|
7256777a6b | ||
|
|
2e94c1de50 | ||
|
|
fdbe51d78c | ||
|
|
0a7abf330f | ||
|
|
f251d50781 | ||
|
|
22a8b4c4ac | ||
|
|
6fc0ca1a91 | ||
|
|
740ab068bc | ||
|
|
01d5873a78 | ||
|
|
bd90e1a113 | ||
|
|
e7648fd6a7 | ||
|
|
8726158fca | ||
|
|
2fea25d02d | ||
|
|
2661cfaa93 | ||
|
|
e3b97844e5 | ||
|
|
ce5aa1950d | ||
|
|
ae99c16b0c | ||
|
|
78796bc109 | ||
|
|
4d4477e04e | ||
|
|
907fcf388b | ||
|
|
a52bed1b1a | ||
|
|
6ba53090b0 | ||
|
|
541dd995c8 | ||
|
|
87d136e308 | ||
|
|
8a1eeaf6ac | ||
|
|
d1db39831d | ||
|
|
6e8c37cf52 | ||
|
|
8ffffdb49d | ||
|
|
3fbc297071 | ||
|
|
79c735b9fc | ||
|
|
8813e2b6e9 | ||
|
|
255206eaeb | ||
|
|
5809cd0f4d | ||
|
|
96520bb192 | ||
|
|
39297c5658 | ||
|
|
85fbeaef9b | ||
|
|
495fd51951 | ||
|
|
f4ba5c5cbc | ||
|
|
feebb05e11 | ||
|
|
8e0eb613ac | ||
|
|
29e053ac38 | ||
|
|
8bbd828014 | ||
|
|
fd6c45b8e8 | ||
|
|
5d31cfb3b9 | ||
|
|
75ba3f22d0 | ||
|
|
cd07f9077f | ||
|
|
370d12f1b6 | ||
|
|
ce2a3e8e67 | ||
|
|
71f35314bc | ||
|
|
ba7e034f05 | ||
|
|
6774220762 | ||
|
|
0d40609330 | ||
|
|
d805d2e921 | ||
|
|
a142edbae6 | ||
|
|
a68ad81fbe | ||
|
|
bfff5e5a70 | ||
|
|
5954f76a9b | ||
|
|
ea8a7a8f01 | ||
|
|
20fb902d6b | ||
|
|
255fffd021 | ||
|
|
d2f9756b6e | ||
|
|
46a8dee561 | ||
|
|
54e686be61 | ||
|
|
b60b7ab30f | ||
|
|
ff9acc6401 | ||
|
|
72f6dfe786 | ||
|
|
5e9605c7dc | ||
|
|
c7adf5d533 | ||
|
|
27738cad72 | ||
|
|
e01c839141 | ||
|
|
8cdc506384 | ||
|
|
74ebd60101 | ||
|
|
49d5ab6422 | ||
|
|
31e868eebe | ||
|
|
14915191c7 | ||
|
|
a1f7f1a10a | ||
|
|
2c7fe0021a | ||
|
|
2ff0f1047a | ||
|
|
2bb8be665c | ||
|
|
b0c4ef1a6b | ||
|
|
07e13e5cc9 | ||
|
|
24a8fbaf58 | ||
|
|
e85a3666bf | ||
|
|
3926b864c3 | ||
|
|
89f5712cad | ||
|
|
ab15087979 | ||
|
|
ff516bd145 | ||
|
|
12335f2cc4 | ||
|
|
d7c81d045c | ||
|
|
891c2ed95c | ||
|
|
16b7d80a46 | ||
|
|
c9fc7f734c | ||
|
|
0d632219e5 | ||
|
|
dda4a941d8 | ||
|
|
f778b762d5 | ||
|
|
90ada9b0c4 | ||
|
|
a27aca91e5 | ||
|
|
4e1b48a6c5 | ||
|
|
dd3eec7374 | ||
|
|
d33c9005cc | ||
|
|
23c98d86f0 | ||
|
|
e5de19ba15 | ||
|
|
d72a4523b1 | ||
|
|
439ecfcfdb | ||
|
|
12d52d247e | ||
|
|
f8049e323b | ||
|
|
5ab121d559 | ||
|
|
cba7c41716 | ||
|
|
564751b570 | ||
|
|
192b5bd8ad | ||
|
|
69f706a106 | ||
|
|
17a8ea14ac | ||
|
|
36cf63a735 | ||
|
|
0a285c2031 | ||
|
|
1eae5baec1 | ||
|
|
c634b8cd67 | ||
|
|
59a0b3727b | ||
|
|
4e6e715037 | ||
|
|
197b995b2d | ||
|
|
9bf0388ef2 | ||
|
|
b8153b8d01 | ||
|
|
db2a58f0e3 | ||
|
|
eec55f72c9 | ||
|
|
1388aca8a3 | ||
|
|
cebb2a1884 | ||
|
|
474b80c589 | ||
|
|
85fb533e05 | ||
|
|
cc117fb31b | ||
|
|
30802498d6 | ||
|
|
5e6cc3155d | ||
|
|
07692c0033 | ||
|
|
8795612730 | ||
|
|
22143c7c68 | ||
|
|
88cb1bef47 | ||
|
|
d485ae12fe | ||
|
|
e48c7949fd | ||
|
|
c49ee7347c | ||
|
|
7992e24b69 | ||
|
|
8aec741c90 | ||
|
|
3a24d66b9e | ||
|
|
551ccc0fb1 | ||
|
|
7665ed4ef9 | ||
|
|
c31eef93ac | ||
|
|
37e8b599ee | ||
|
|
f404404643 | ||
|
|
4b55f4683f | ||
|
|
3300770426 | ||
|
|
7636fd53b9 | ||
|
|
2a4bc14da4 | ||
|
|
0f88c4231d | ||
|
|
a54473db52 | ||
|
|
d935940e99 | ||
|
|
d46f62f273 | ||
|
|
9a08ad80ee | ||
|
|
e15a279ed8 | ||
|
|
869f895d83 | ||
|
|
051836e832 | ||
|
|
7fa790a939 | ||
|
|
e89c1a6d09 | ||
|
|
295e649465 | ||
|
|
da684ca6d2 | ||
|
|
582bbb9c15 | ||
|
|
137d0ed83d | ||
|
|
1850dfc713 | ||
|
|
c110803508 | ||
|
|
7a96efa872 | ||
|
|
3b1c7f3c1d | ||
|
|
325094ef86 | ||
|
|
f4cc7331d9 | ||
|
|
fcf7cd18d4 | ||
|
|
cbea23f931 | ||
|
|
c7276710b3 | ||
|
|
24a5edcdc8 | ||
|
|
e72f29bfc8 | ||
|
|
fbd6c33be3 | ||
|
|
a89507e2af | ||
|
|
cea9d0e0d1 | ||
|
|
abe90c1619 | ||
|
|
a74e63c6b1 | ||
|
|
d7ed5cb7b0 | ||
|
|
00959b266e | ||
|
|
36ab778536 | ||
|
|
e088ddba06 | ||
|
|
49f0b7160b | ||
|
|
e9e763c49f | ||
|
|
ab8dfc0eb3 | ||
|
|
27049a3aff | ||
|
|
23da668261 | ||
|
|
0478e791c7 | ||
|
|
aa5ca17eac | ||
|
|
b3cdd45273 | ||
|
|
b4b64341d6 | ||
|
|
8506dfcb6d | ||
|
|
9f23838ebe | ||
|
|
23541a17f0 | ||
|
|
11acc8af1b | ||
|
|
c2c7c501c8 | ||
|
|
380b0afd7e | ||
|
|
4ac220f584 | ||
|
|
eafe328b90 | ||
|
|
95c66e026c | ||
|
|
adead29f3f | ||
|
|
ba50a5b1ca | ||
|
|
fb0ca679f1 | ||
|
|
a58d7b932e | ||
|
|
284ffaacd7 | ||
|
|
0dbf1cb8a7 | ||
|
|
d8dce39e5f | ||
|
|
475cf36415 | ||
|
|
32fcc6a5f4 | ||
|
|
79ef2c9407 | ||
|
|
3dcb189d30 | ||
|
|
6f8e340c85 | ||
|
|
1b535372a0 | ||
|
|
0b21a6a13a | ||
|
|
06652839a7 | ||
|
|
e329995e52 | ||
|
|
bd17a26b42 | ||
|
|
960e86ba13 | ||
|
|
221efcbdc3 | ||
|
|
315fbf0fc8 | ||
|
|
8e6b0c0d6d | ||
|
|
567d4a0ea4 | ||
|
|
e81c4806fe | ||
|
|
b6bcbdc786 | ||
|
|
c5a9fa6ec5 | ||
|
|
ef57088246 | ||
|
|
bf3a13fe2a | ||
|
|
ce75d8dd91 | ||
|
|
ada0348ea2 | ||
|
|
7863994db8 | ||
|
|
4ac3f5b277 | ||
|
|
ebeb608ce1 | ||
|
|
a4c4b159f0 | ||
|
|
0ad636b824 | ||
|
|
af2f67d1ad | ||
|
|
0176ca6d78 | ||
|
|
5eda352fd4 | ||
|
|
5afe2ac2dc | ||
|
|
773246ccf7 | ||
|
|
734699ef61 | ||
|
|
ce0b29d20c | ||
|
|
ed7da973ff | ||
|
|
71142e7053 | ||
|
|
2927b0be95 | ||
|
|
e63e9ad701 | ||
|
|
d7a4be0267 | ||
|
|
d728101ace | ||
|
|
d31e0a18cb | ||
|
|
b268f563f6 | ||
|
|
62c1943b63 | ||
|
|
c5c9a7cd7b | ||
|
|
bcf346f13b | ||
|
|
2813ee66cb | ||
|
|
d31241d2c8 | ||
|
|
8c3d5d9d09 | ||
|
|
e7f54bfde8 | ||
|
|
d6a35ea98b | ||
|
|
b7a8e5ca52 | ||
|
|
3464b06c4c | ||
|
|
4edcdf297d | ||
|
|
d0b14aa29e | ||
|
|
89d72011e0 | ||
|
|
3793317199 | ||
|
|
e85f1e429d | ||
|
|
145c80df8d | ||
|
|
fb41178b75 | ||
|
|
ab07d6cc32 | ||
|
|
3e33d65ff9 | ||
|
|
e0fd3fea70 | ||
|
|
f610e46b01 | ||
|
|
e21232684f | ||
|
|
619f9fd372 | ||
|
|
42a61d742a | ||
|
|
65d62e1688 | ||
|
|
903f406ecb | ||
|
|
1bf1aea864 | ||
|
|
b5ee676e1d | ||
|
|
bb433ff031 | ||
|
|
2e3a8e1ccf | ||
|
|
870d08d9cb | ||
|
|
7271f004d4 | ||
|
|
71714d51d3 | ||
|
|
2a8403091c | ||
|
|
a615999e85 | ||
|
|
bbad000130 | ||
|
|
b3529d148e | ||
|
|
8549372c4c | ||
|
|
c27adcfdba | ||
|
|
45651fd866 | ||
|
|
28bc3aff6d | ||
|
|
7992e7f1ba | ||
|
|
3a10719283 | ||
|
|
52bcf848e5 | ||
|
|
5a99573420 | ||
|
|
c9f2293acc | ||
|
|
a9f4b4f480 | ||
|
|
25c57a1bbf | ||
|
|
293e955e3f | ||
|
|
9d5d1be482 | ||
|
|
785629d8d8 | ||
|
|
899fcf9b16 | ||
|
|
448c998191 | ||
|
|
0f916a843b | ||
|
|
4b94854902 | ||
|
|
c99c444ee9 | ||
|
|
24c7b7b9d8 | ||
|
|
903d127138 | ||
|
|
8476a08273 | ||
|
|
04166140e1 | ||
|
|
3c26757b41 |
@@ -39,18 +39,19 @@ body:
|
|||||||
- label: Ubuntu 20.04
|
- label: Ubuntu 20.04
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 11
|
|
||||||
- label: macOS 12
|
- label: macOS 12
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
- label: macOS 13 Arm64
|
- label: macOS 13 Arm64
|
||||||
- label: macOS 14
|
- label: macOS 14
|
||||||
- label: macOS 14 Arm64
|
- label: macOS 14 Arm64
|
||||||
|
- label: macOS 15
|
||||||
|
- label: macOS 15 Arm64
|
||||||
- label: Windows Server 2019
|
- label: Windows Server 2019
|
||||||
- label: Windows Server 2022
|
- label: Windows Server 2022
|
||||||
|
- label: Windows Server 2025
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Mitigation ways
|
label: Mitigation ways
|
||||||
description: Steps or options for impact mitigation
|
description: Steps or options for impact mitigation
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|||||||
@@ -22,14 +22,16 @@ body:
|
|||||||
- label: Ubuntu 20.04
|
- label: Ubuntu 20.04
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 11
|
|
||||||
- label: macOS 12
|
- label: macOS 12
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
- label: macOS 13 Arm64
|
- label: macOS 13 Arm64
|
||||||
- label: macOS 14
|
- label: macOS 14
|
||||||
- label: macOS 14 Arm64
|
- label: macOS 14 Arm64
|
||||||
|
- label: macOS 15
|
||||||
|
- label: macOS 15 Arm64
|
||||||
- label: Windows Server 2019
|
- label: Windows Server 2019
|
||||||
- label: Windows Server 2022
|
- label: Windows Server 2022
|
||||||
|
- label: Windows Server 2025
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Image version and build link
|
label: Image version and build link
|
||||||
|
|||||||
@@ -60,14 +60,16 @@ body:
|
|||||||
- label: Ubuntu 20.04
|
- label: Ubuntu 20.04
|
||||||
- label: Ubuntu 22.04
|
- label: Ubuntu 22.04
|
||||||
- label: Ubuntu 24.04
|
- label: Ubuntu 24.04
|
||||||
- label: macOS 11
|
|
||||||
- label: macOS 12
|
- label: macOS 12
|
||||||
- label: macOS 13
|
- label: macOS 13
|
||||||
- label: macOS 13 Arm64
|
- label: macOS 13 Arm64
|
||||||
- label: macOS 14
|
- label: macOS 14
|
||||||
- label: macOS 14 Arm64
|
- label: macOS 14 Arm64
|
||||||
|
- label: macOS 15
|
||||||
|
- label: macOS 15 Arm64
|
||||||
- label: Windows Server 2019
|
- label: Windows Server 2019
|
||||||
- label: Windows Server 2022
|
- label: Windows Server 2022
|
||||||
|
- label: Windows Server 2025
|
||||||
- type: textarea
|
- type: textarea
|
||||||
attributes:
|
attributes:
|
||||||
label: Can this tool be installed during the build?
|
label: Can this tool be installed during the build?
|
||||||
@@ -80,4 +82,4 @@ body:
|
|||||||
- type: input
|
- type: input
|
||||||
attributes:
|
attributes:
|
||||||
label: Are you willing to submit a PR?
|
label: Are you willing to submit a PR?
|
||||||
description: We accept contributions!
|
description: We accept contributions!
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ name: Create SBOM for the release
|
|||||||
#
|
#
|
||||||
# Current SYFT tool issues:
|
# Current SYFT tool issues:
|
||||||
# macOS (major): prompt privilegies that blocking process indefinetely (https://github.com/anchore/syft/issues/1367)
|
# macOS (major): prompt privilegies that blocking process indefinetely (https://github.com/anchore/syft/issues/1367)
|
||||||
|
run-name: Collecting SBOM for ${{ github.event.client_payload.ReleaseBranchName || 'unknown release' }}
|
||||||
on:
|
on:
|
||||||
repository_dispatch:
|
repository_dispatch:
|
||||||
types: [generate-sbom]
|
types: [generate-sbom]
|
||||||
@@ -58,7 +59,7 @@ jobs:
|
|||||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft
|
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b D:/syft
|
||||||
- name: Install SYFT tool on Ubuntu or macOS
|
- name: Install SYFT tool on Ubuntu or macOS
|
||||||
if: ${{ runner.os != 'Windows' }}
|
if: ${{ runner.os != 'Windows' }}
|
||||||
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin v0.100.0
|
run: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
|
||||||
#Running section.
|
#Running section.
|
||||||
- name: Run SYFT on Windows
|
- name: Run SYFT on Windows
|
||||||
if: ${{ runner.os == 'Windows' }}
|
if: ${{ runner.os == 'Windows' }}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Ubuntu_2004:
|
Ubuntu_2004:
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2004')
|
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2004'
|
||||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
with:
|
with:
|
||||||
image_type: 'ubuntu2004'
|
image_type: 'ubuntu2004'
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Ubuntu_2204:
|
Ubuntu_2204:
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'CI ubuntu-all') || contains(github.event.pull_request.labels.*.name, 'CI ubuntu-2204')
|
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2204'
|
||||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
with:
|
with:
|
||||||
image_type: 'ubuntu2204'
|
image_type: 'ubuntu2204'
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: Trigger Ubuntu24.04 CI
|
||||||
|
run-name: Ubuntu24.04 - ${{ github.event.pull_request.title }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: labeled
|
||||||
|
paths:
|
||||||
|
- 'images/ubuntu/**'
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Ubuntu_2404:
|
||||||
|
if: github.event.label.name == 'CI ubuntu-all' || github.event.label.name == 'CI ubuntu-2404'
|
||||||
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
|
with:
|
||||||
|
image_type: 'ubuntu2404'
|
||||||
|
secrets: inherit
|
||||||
@@ -13,7 +13,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Windows_2019:
|
Windows_2019:
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2019')
|
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2019'
|
||||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
with:
|
with:
|
||||||
image_type: 'windows2019'
|
image_type: 'windows2019'
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ defaults:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Windows_2022:
|
Windows_2022:
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'CI windows-all') || contains(github.event.pull_request.labels.*.name, 'CI windows-2022')
|
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2022'
|
||||||
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
with:
|
with:
|
||||||
image_type: 'windows2022'
|
image_type: 'windows2022'
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: Trigger Windows25 CI
|
||||||
|
run-name: Windows2025 - ${{ github.event.pull_request.title }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: labeled
|
||||||
|
paths:
|
||||||
|
- 'images/windows/**'
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Windows_2022:
|
||||||
|
if: github.event.label.name == 'CI windows-all' || github.event.label.name == 'CI windows-2025'
|
||||||
|
uses: ./.github/workflows/trigger-ubuntu-win-build.yml
|
||||||
|
with:
|
||||||
|
image_type: 'windows2025'
|
||||||
|
secrets: inherit
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2024 GitHub
|
Copyright (c) 2025 GitHub
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
# GitHub Actions Runner Images
|
# GitHub Actions Runner Images
|
||||||
|
|
||||||
**Table of Contents**
|
**Table of Contents**
|
||||||
@@ -21,17 +20,19 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
|||||||
|
|
||||||
| Image | YAML Label | Included Software | Rollout Status of Latest Image Release |
|
| Image | YAML Label | Included Software | Rollout Status of Latest Image Release |
|
||||||
| --------------------|---------------------|--------------------|--------------------|
|
| --------------------|---------------------|--------------------|--------------------|
|
||||||
| Ubuntu 24.04 <sup>beta</sup> | `ubuntu-24.04` | [ubuntu-24.04] |  |
|
| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] |  |
|
||||||
| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] |  |
|
| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] |  |
|
||||||
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] |  |
|
| Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] |  |
|
||||||
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] |  |
|
| macOS 15 <sup>beta</sup> | `macos-15-large`| [macOS-15] |  |
|
||||||
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
|
| macOS 15 Arm64 <sup>beta</sup> | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] |  |
|
||||||
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
|
| macOS 14 | `macos-latest-large` or `macos-14-large`| [macOS-14] |  |
|
||||||
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |  |
|
| macOS 14 Arm64 |`macos-latest`, `macos-14`, `macos-latest-xlarge` or `macos-14-xlarge`| [macOS-14-arm64] |  |
|
||||||
| macOS 12 | `macos-12` or `macos-12-large`| [macOS-12] |  |
|
| macOS 13 | `macos-13` or `macos-13-large` | [macOS-13] |  |
|
||||||
| macOS 11 <sup>deprecated</sup> | `macos-11`| [macOS-11] |  |
|
| macOS 13 Arm64 | `macos-13-xlarge` | [macOS-13-arm64] |  |
|
||||||
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |  |
|
| macOS 12 <sup>deprecated</sup> | `macos-12` or `macos-12-large`| [macOS-12] |  |
|
||||||
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
|
| Windows Server 2025 <sup>beta</sup> | `windows-2025` | [windows-2025] |  |
|
||||||
|
| Windows Server 2022 | `windows-latest` or `windows-2022` | [windows-2022] |  |
|
||||||
|
| Windows Server 2019 | `windows-2019` | [windows-2019] |  |
|
||||||
|
|
||||||
### Label scheme
|
### Label scheme
|
||||||
|
|
||||||
@@ -41,14 +42,16 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat
|
|||||||
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
[ubuntu-24.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
||||||
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
[ubuntu-22.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md
|
||||||
[ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md
|
[ubuntu-20.04]: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md
|
||||||
|
[windows-2025]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2025-Readme.md
|
||||||
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
[windows-2022]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md
|
||||||
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
[windows-2019]: https://github.com/actions/runner-images/blob/main/images/windows/Windows2019-Readme.md
|
||||||
[macOS-11]: https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md
|
|
||||||
[macOS-12]: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
|
[macOS-12]: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
|
||||||
[macOS-13]: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
|
[macOS-13]: 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-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]: 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-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
|
||||||
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
|
[self-hosted runners]: https://help.github.com/en/actions/hosting-your-own-runners
|
||||||
|
|
||||||
## Announcements
|
## Announcements
|
||||||
@@ -81,7 +84,7 @@ 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.
|
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-12, windows-2022, ubuntu-22.04).
|
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
|
## Image Releases
|
||||||
|
|
||||||
@@ -117,15 +120,16 @@ The `-latest` migration process is gradual and happens over 1-2 months in order
|
|||||||
| Go | 3 latest minor versions |
|
| Go | 3 latest minor versions |
|
||||||
| Python <br/> Ruby | 5 most popular `major.minor` versions |
|
| Python <br/> Ruby | 5 most popular `major.minor` versions |
|
||||||
| PyPy | 3 most popular `major.minor` versions |
|
| PyPy | 3 most popular `major.minor` versions |
|
||||||
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed |
|
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed. Note for [Ubuntu images see details.](./docs/dotnet-ubuntu.md) |
|
||||||
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
|
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
|
||||||
| Android NDK | 1 latest non-LTS, 2 latest LTS versions |
|
| Android NDK | 1 latest non-LTS, 2 latest LTS versions |
|
||||||
| Xcode | - all OS compatible versions side-by-side <br/> - for beta, GM versions - latest beta only <br/> - old patch versions are deprecated in 3 months |
|
| Xcode | - only one major version of Xcode will be supported per macOS version <br/> - all minor versions of the supported major version will be available <br/> - beta and RC versions will be provided "as-is" in the latest available macOS image only no matter of beta/GA status of the image <br/> - when a new patch version is released, the previous patch version will be replaced |
|
||||||
|
|
||||||
### Package managers usage
|
### Package managers usage
|
||||||
|
|
||||||
We use third-party package managers to install software during the image generation process. The table below lists the package managers and the software installed.
|
We use third-party package managers to install software during the image generation process. The table below lists the package managers and the software installed.
|
||||||
> **Note**: third-party repositories are re-evaluated every year to identify if they are still useful and secure.
|
> [!NOTE]
|
||||||
|
> Third-party repositories are re-evaluated every year to identify if they are still useful and secure.
|
||||||
|
|
||||||
| Operating system | Package manager | Third-party repos and packages |
|
| Operating system | Package manager | Third-party repos and packages |
|
||||||
| :--- | :---: | ---: |
|
| :--- | :---: | ---: |
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ Finally, run the `GenerateResourcesAndImage` function, setting the mandatory arg
|
|||||||
- `SubscriptionId` - your Azure Subscription ID;
|
- `SubscriptionId` - your Azure Subscription ID;
|
||||||
- `ResourceGroupName` - the name of the resource group that will be created within your subscription (e.g., "imagegen-test");
|
- `ResourceGroupName` - the name of the resource group that will be created within your subscription (e.g., "imagegen-test");
|
||||||
- `AzureLocation` - the location where resources will be created (e.g., "East US");
|
- `AzureLocation` - the location where resources will be created (e.g., "East US");
|
||||||
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Ubuntu2004", "Ubuntu2204").
|
- `ImageType` - the type of image to build (we suggest choosing "UbuntuMinimal" here; other valid options are "Windows2019", "Windows2022", "Windows2025", "Ubuntu2004", "Ubuntu2204", "Ubuntu2404").
|
||||||
|
|
||||||
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
|
This function automatically creates all required Azure resources and initiates the Packer image generation for the selected image type.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Ubuntu .NET Core Versions
|
||||||
|
|
||||||
|
.NET has changed the recommended install methods for Ubuntu from 2404.
|
||||||
|
|
||||||
|
This document gives an overview of these change and the impact this has on the `runner-images`.
|
||||||
|
|
||||||
|
## .NET Core for Ubuntu 2004 and 2204
|
||||||
|
|
||||||
|
2004 and 2204 use the [Microsoft Package repository](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2004) to install .NET deb files built and published by the .NET team.
|
||||||
|
|
||||||
|
## .NET Core Versions from Ubuntu 2404
|
||||||
|
|
||||||
|
The .NET Core team have worked with Canonical and Ubuntu now provides its own .NET packages.
|
||||||
|
|
||||||
|
These are the recommended install path and, as-such what is installed on the image.
|
||||||
|
|
||||||
|
> The release of Ubuntu 24.04 is just around the corner. Canonical-produced .NET 6, 7, and 8 packages will be available on day one, for "Noble Numbat". Microsoft will not be publishing .NET packages to the 24.04 feed at packages.microsoft.com.
|
||||||
|
|
||||||
|
You can read the [full announcement from .NET team here](https://github.com/dotnet/core/discussions/9258). We'll briefly summarize how this change may impact users of the image.
|
||||||
|
|
||||||
|
### [`Feature Bands`](https://learn.microsoft.com/dotnet/core/porting/versioning-sdk-msbuild-vs)
|
||||||
|
|
||||||
|
Going forward only the `1xx` feature band will be present in the image as Ubuntu only build and publish this band.
|
||||||
|
|
||||||
|
> Most distros, including Ubuntu, stick to the .1xx feature band for the lifetime of a major .NET version. They make this choice because .1xx is (effectively) the "compatibility band". Higher bands can have breaking changes.
|
||||||
|
> This means there will no longer be packages available for .2xx and later feature bands. Such packages have been exclusively available from Microsoft. If users see an incompatibility between .1xx and higher feature bands, we ask that you please report it in the dotnet/sdk repo. [link: dotnet/core discussion](https://github.com/dotnet/core/discussions/9258)
|
||||||
|
|
||||||
|
If you need a higher feature band for your Actions the recommendation is to use the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version.
|
||||||
|
|
||||||
|
### .NET MAUI
|
||||||
|
|
||||||
|
.NET MAUI is [not included](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857) in the Ubuntu .NET package. There is work [ongoing to fix.](https://github.com/dotnet/core/discussions/9258#discussioncomment-9548857)
|
||||||
|
|
||||||
|
You should be able to resolve this by using the [`setup-dotnet`](https://github.com/actions/setup-dotnet) action to install the desired version.
|
||||||
@@ -3,10 +3,11 @@ $ErrorActionPreference = 'Stop'
|
|||||||
enum ImageType {
|
enum ImageType {
|
||||||
Windows2019 = 1
|
Windows2019 = 1
|
||||||
Windows2022 = 2
|
Windows2022 = 2
|
||||||
Ubuntu2004 = 3
|
Windows2025 = 3
|
||||||
Ubuntu2204 = 4
|
Ubuntu2004 = 4
|
||||||
Ubuntu2404 = 5
|
Ubuntu2204 = 5
|
||||||
UbuntuMinimal = 6
|
Ubuntu2404 = 6
|
||||||
|
UbuntuMinimal = 7
|
||||||
}
|
}
|
||||||
|
|
||||||
Function Get-PackerTemplatePath {
|
Function Get-PackerTemplatePath {
|
||||||
@@ -25,6 +26,9 @@ Function Get-PackerTemplatePath {
|
|||||||
([ImageType]::Windows2022) {
|
([ImageType]::Windows2022) {
|
||||||
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
|
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2022.pkr.hcl"
|
||||||
}
|
}
|
||||||
|
([ImageType]::Windows2025) {
|
||||||
|
$relativeTemplatePath = Join-Path (Join-Path "windows" "templates") "windows-2025.pkr.hcl"
|
||||||
|
}
|
||||||
([ImageType]::Ubuntu2004) {
|
([ImageType]::Ubuntu2004) {
|
||||||
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-20.04.pkr.hcl"
|
$relativeTemplatePath = Join-Path (Join-Path "ubuntu" "templates") "ubuntu-20.04.pkr.hcl"
|
||||||
}
|
}
|
||||||
@@ -81,7 +85,7 @@ Function GenerateResourcesAndImage {
|
|||||||
.PARAMETER ResourceGroupName
|
.PARAMETER ResourceGroupName
|
||||||
The name of the resource group to create the Azure resources in.
|
The name of the resource group to create the Azure resources in.
|
||||||
.PARAMETER ImageType
|
.PARAMETER ImageType
|
||||||
The type of image to generate. Valid values are: Windows2019, Windows2022, Ubuntu2004, Ubuntu2204, UbuntuMinimal.
|
The type of image to generate. Valid values are: Windows2019, Windows2022, Windows2025, Ubuntu2004, Ubuntu2204, Ubuntu2404, UbuntuMinimal.
|
||||||
.PARAMETER ManagedImageName
|
.PARAMETER ManagedImageName
|
||||||
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
|
The name of the managed image to create. The default is "Runner-Image-{{ImageType}}".
|
||||||
.PARAMETER AzureLocation
|
.PARAMETER AzureLocation
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class HeaderNode: BaseNode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[void] AddTable([PSCustomObject[]] $Table) {
|
[void] AddTable([PSCustomObject[]] $Table) {
|
||||||
$this.AddNode([TableNode]::FromObjectsArray($Table))
|
$this.AddNode([TableNode]::FromObjectsArray($Table))
|
||||||
}
|
}
|
||||||
|
|
||||||
[void] AddNote([String] $Content) {
|
[void] AddNote([String] $Content) {
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ param(
|
|||||||
[String] [Parameter (Mandatory=$true)] $TenantId,
|
[String] [Parameter (Mandatory=$true)] $TenantId,
|
||||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
|
[String] [Parameter (Mandatory=$false)] $VirtualNetworkName,
|
||||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
|
[String] [Parameter (Mandatory=$false)] $VirtualNetworkRG,
|
||||||
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet
|
[String] [Parameter (Mandatory=$false)] $VirtualNetworkSubnet,
|
||||||
|
[String] [Parameter (Mandatory=$false)] $AllowedInboundIpAddresses = "[]",
|
||||||
|
[hashtable] [Parameter (Mandatory=$False)] $Tags = @{}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (-not (Test-Path $TemplatePath))
|
if (-not (Test-Path $TemplatePath))
|
||||||
@@ -32,6 +34,8 @@ $SensitiveData = @(
|
|||||||
': ->'
|
': ->'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
$azure_tags = $Tags.GetEnumerator() | ForEach-Object { "{0}={1}" -f $_.Key, $_.Value } | Join-String -Separator ","
|
||||||
|
|
||||||
Write-Host "Show Packer Version"
|
Write-Host "Show Packer Version"
|
||||||
packer --version
|
packer --version
|
||||||
|
|
||||||
@@ -54,6 +58,8 @@ packer build -var "client_id=$ClientId" `
|
|||||||
-var "virtual_network_name=$VirtualNetworkName" `
|
-var "virtual_network_name=$VirtualNetworkName" `
|
||||||
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
|
-var "virtual_network_resource_group_name=$VirtualNetworkRG" `
|
||||||
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
|
-var "virtual_network_subnet_name=$VirtualNetworkSubnet" `
|
||||||
|
-var "allowed_inbound_ip_addresses=$($AllowedInboundIpAddresses)" `
|
||||||
|
-var "azure_tags={$azure_tags}" `
|
||||||
-color=false `
|
-color=false `
|
||||||
$TemplatePath `
|
$TemplatePath `
|
||||||
| Where-Object {
|
| Where-Object {
|
||||||
|
|||||||
@@ -139,10 +139,7 @@ function Set-AnkaVMVideoController {
|
|||||||
)
|
)
|
||||||
|
|
||||||
$command = "anka modify $VMName set display -c $Controller"
|
$command = "anka modify $VMName set display -c $Controller"
|
||||||
# Apple Metal is available starting from Big Sur
|
$null = Invoke-AnkaCommand -Command $command
|
||||||
if (-not $ShortMacOSVersion.StartsWith("10.")) {
|
|
||||||
$null = Invoke-AnkaCommand -Command $command
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function Set-AnkaVMDisplayResolution {
|
function Set-AnkaVMDisplayResolution {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ param(
|
|||||||
[bool] $EnableAutoLogon = $true,
|
[bool] $EnableAutoLogon = $true,
|
||||||
[int] $CPUCount = 6,
|
[int] $CPUCount = 6,
|
||||||
[int] $RamSizeGb = 7,
|
[int] $RamSizeGb = 7,
|
||||||
[int] $DiskSizeGb = 300,
|
[int] $DiskSizeGb = 325,
|
||||||
[string] $DisplayResolution = "1920x1080",
|
[string] $DisplayResolution = "1920x1080",
|
||||||
[string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(),
|
[string] $TagName = [DateTimeOffset]::Now.ToUnixTimeSeconds(),
|
||||||
[string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB"
|
[string] $Uuid = "4203018E-580F-C1B5-9525-B745CECA79EB"
|
||||||
@@ -93,8 +93,9 @@ function Invoke-SoftwareUpdate {
|
|||||||
$command = "sw_vers"
|
$command = "sw_vers"
|
||||||
$guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command
|
$guestMacosVersion = Invoke-SSHPassCommand -HostName $ipAddress -Command $command
|
||||||
switch -regex ($guestMacosVersion[1]) {
|
switch -regex ($guestMacosVersion[1]) {
|
||||||
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma' }
|
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
|
||||||
'13.\d' { $nextOSVersion = 'macOS Sonoma' }
|
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
|
||||||
|
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:"
|
Write-Host "`t[*] Fetching Software Updates ready to install on '$TemplateName' VM:"
|
||||||
@@ -175,10 +176,10 @@ if ([string]::IsNullOrEmpty($TemplateName)) {
|
|||||||
$osArch = $(arch)
|
$osArch = $(arch)
|
||||||
if ($osArch -eq "arm64") {
|
if ($osArch -eq "arm64") {
|
||||||
$macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
$macOSInstaller = Get-MacOSIPSWInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
||||||
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}_${DiskSizeGb}gb"
|
$TemplateName = "clean_macos_${shortMacOSVersion}_${osArch}"
|
||||||
} else {
|
} else {
|
||||||
$macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
$macOSInstaller = Get-MacOSInstaller -MacOSVersion $MacOSVersion -DownloadLatestVersion $DownloadLatestVersion -BetaSearch $BetaSearch
|
||||||
$TemplateName = "clean_macos_${shortMacOSVersion}_${DiskSizeGb}gb"
|
$TemplateName = "clean_macos_${shortMacOSVersion}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,14 +39,15 @@ function Invoke-SoftwareUpdateArm64 {
|
|||||||
$command = "sw_vers"
|
$command = "sw_vers"
|
||||||
$guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command
|
$guestMacosVersion = Invoke-SSHPassCommand -HostName $HostName -Command $command
|
||||||
switch -regex ($guestMacosVersion[1]) {
|
switch -regex ($guestMacosVersion[1]) {
|
||||||
'13.\d' { $nextOSVersion = 'Sonoma' }
|
'12.\d' { $nextOSVersion = 'macOS Ventura|macOS Sonoma|macOS Sequoia' }
|
||||||
'14.\d' { $nextOSVersion = 'NotYetDefined' }
|
'13.\d' { $nextOSVersion = 'macOS Sonoma|macOS Sequoia' }
|
||||||
|
'14.\d' { $nextOSVersion = 'macOS Sequoia' }
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp"
|
$url = "https://raw.githubusercontent.com/actions/runner-images/main/images/macos/assets/auto-software-update-arm64.exp"
|
||||||
$script = Invoke-RestMethod -Uri $url
|
$script = Invoke-RestMethod -Uri $url
|
||||||
foreach ($update in $listOfUpdates) {
|
foreach ($update in $ListOfUpdates) {
|
||||||
if ($update -notmatch "$nextOSVersion") {
|
if ($update -notmatch $nextOSVersion) {
|
||||||
$updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ ")))
|
$updatedScript = $script.Replace("MACOSUPDATE", $($($update.trim()).Replace(" ","\ ")))
|
||||||
$base64 = [Convert]::ToBase64String($updatedScript.ToCharArray())
|
$base64 = [Convert]::ToBase64String($updatedScript.ToCharArray())
|
||||||
$command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp"
|
$command = "echo $base64 | base64 --decode > ./auto-software-update-arm64.exp;chmod +x ./auto-software-update-arm64.exp; ./auto-software-update-arm64.exp ${Password};rm ./auto-software-update-arm64.exp"
|
||||||
|
|||||||
@@ -1,151 +0,0 @@
|
|||||||
jobs:
|
|
||||||
- job: Image_generation
|
|
||||||
displayName: Image Generation (${{ parameters.image_label }})
|
|
||||||
timeoutInMinutes: 1200
|
|
||||||
pool:
|
|
||||||
name: Mac-Cloud Image Generation
|
|
||||||
demands:
|
|
||||||
- PrimaryRackAgent -equals ${{ parameters.primary_agent }}
|
|
||||||
variables:
|
|
||||||
- group: ${{ parameters.variable_group_name }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- pwsh: |
|
|
||||||
$cleanBuildNumber = "$(Build.BuildNumber)" -replace "(.+_unstable)(\.\d+)", '$1'
|
|
||||||
$virtualMachineName = "${cleanBuildNumber}.$(System.JobAttempt)"
|
|
||||||
echo "##vso[task.setvariable variable=VirtualMachineName;]$virtualMachineName"
|
|
||||||
echo "##vso[build.updatebuildnumber]$virtualMachineName"
|
|
||||||
displayName: Update BuildNumber
|
|
||||||
|
|
||||||
- checkout: self
|
|
||||||
clean: true
|
|
||||||
fetchDepth: 1
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Validate contributor permissions'
|
|
||||||
condition: startsWith(variables['Build.SourceBranch'], 'refs/pull/')
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/macos/validate-contributor.ps1
|
|
||||||
pwsh: true
|
|
||||||
arguments: -RepositoryName "$(Build.Repository.Name)" `
|
|
||||||
-AccessToken "$(github-feed-token)" `
|
|
||||||
-SourceBranch "$(Build.SourceBranch)" `
|
|
||||||
-ContributorAllowList "$(CONTRIBUTOR_ALLOWLIST)"
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Download custom repository'
|
|
||||||
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/download-repo.ps1
|
|
||||||
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
|
||||||
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
|
||||||
|
|
||||||
- task: DeleteFiles@1
|
|
||||||
displayName: Clean up self-hosted machine
|
|
||||||
inputs:
|
|
||||||
SourceFolder: 'images/macos/provision/log/'
|
|
||||||
RemoveSourceFolder: true
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Select datastore'
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/macos/select-datastore.ps1
|
|
||||||
arguments: -VMName "$(VirtualMachineName)" `
|
|
||||||
-VIServer "$(vcenter-server-v2)" `
|
|
||||||
-VIUserName "$(vcenter-username-v2)" `
|
|
||||||
-VIPassword '$(vcenter-password-v2)' `
|
|
||||||
-Cluster "$(esxi-cluster-v2)"
|
|
||||||
|
|
||||||
- pwsh: |
|
|
||||||
$SensitiveData = @(
|
|
||||||
'IP address:',
|
|
||||||
'Using ssh communicator to connect:'
|
|
||||||
)
|
|
||||||
|
|
||||||
packer init ${{ parameters.template_path }}
|
|
||||||
packer build -on-error=abort `
|
|
||||||
-var="vcenter_server=$(vcenter-server-v2)" `
|
|
||||||
-var="vcenter_username=$(vcenter-username-v2)" `
|
|
||||||
-var='vcenter_password=$(vcenter-password-v2)' `
|
|
||||||
-var="vcenter_datacenter=$(vcenter-datacenter-v2)" `
|
|
||||||
-var="cluster_or_esxi_host=$(esxi-cluster-v2)" `
|
|
||||||
-var="esxi_datastore=$(buildDatastore)" `
|
|
||||||
-var="output_folder=$(output-folder)" `
|
|
||||||
-var="vm_username=$(vm-username)" `
|
|
||||||
-var="vm_password=$(vm-password)" `
|
|
||||||
-var="github_api_pat=$(github_api_pat)" `
|
|
||||||
-var="build_id=$(VirtualMachineName)" `
|
|
||||||
-var="baseimage_name=${{ parameters.base_image_name }}" `
|
|
||||||
-var="xcode_install_storage_url=$(xcode_install_storage_url)" `
|
|
||||||
-var="xcode_install_sas=$(xcode_install_sas)" `
|
|
||||||
-color=false `
|
|
||||||
${{ parameters.template_path }} `
|
|
||||||
| Where-Object {
|
|
||||||
#Filter sensitive data from Packer logs
|
|
||||||
$currentString = $_
|
|
||||||
$sensitiveString = $SensitiveData | Where-Object { $currentString -match $_ }
|
|
||||||
$sensitiveString -eq $null
|
|
||||||
}
|
|
||||||
displayName: 'Build VM'
|
|
||||||
workingDirectory: 'images/macos'
|
|
||||||
env:
|
|
||||||
PACKER_LOG: 1
|
|
||||||
PACKER_LOG_PATH: $(Agent.TempDirectory)/packer-log.txt
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
echo "Copy software report files"
|
|
||||||
cp -vR "images/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/"
|
|
||||||
|
|
||||||
echo "Put VM name to 'VM_Done_Name' file"
|
|
||||||
echo "$(VirtualMachineName)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
|
||||||
displayName: Prepare artifact
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
cat "$(Build.ArtifactStagingDirectory)/systeminfo.md"
|
|
||||||
displayName: Print markdown software report
|
|
||||||
|
|
||||||
- bash: |
|
|
||||||
cat "$(Build.ArtifactStagingDirectory)/systeminfo.json"
|
|
||||||
displayName: Print json software report
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
ArtifactName: 'Built_VM_Artifacts'
|
|
||||||
displayName: Publish Artifacts
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Print provisioners duration'
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/measure-provisioners-duration.ps1
|
|
||||||
arguments: -PackerLogPath "$(Agent.TempDirectory)/packer-log.txt" `
|
|
||||||
-PrintTopNLongest 25
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Move vm to cold storage and clear datastore tag'
|
|
||||||
condition: always()
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/macos/move-vm.ps1
|
|
||||||
arguments: -VMName "$(VirtualMachineName)" `
|
|
||||||
-TargetDataStore "${{ parameters.target_datastore }}" `
|
|
||||||
-VIServer "$(vcenter-server-v2)" `
|
|
||||||
-VIUserName "$(vcenter-username-v2)" `
|
|
||||||
-VIPassword '$(vcenter-password-v2)' `
|
|
||||||
-CpuCount "$(cpu-count)" `
|
|
||||||
-CoresPerSocketCount "$(cores-per-socket-count)" `
|
|
||||||
-Memory "$(memory)"
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Destroy VM (if build canceled only)'
|
|
||||||
condition: eq(variables['Agent.JobStatus'], 'Canceled')
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./images.CI/macos/destroy-vm.ps1
|
|
||||||
arguments: -VMName "$(VirtualMachineName)" `
|
|
||||||
-VIServer "$(vcenter-server-v2)" `
|
|
||||||
-VIUserName "$(vcenter-username-v2)" `
|
|
||||||
-VIPassword '$(vcenter-password-v2)'
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
|
|
||||||
schedules:
|
|
||||||
- cron: '45 0 * * *'
|
|
||||||
displayName: Daily
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
always: true
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr:
|
|
||||||
autoCancel: true
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- group: Mac-Cloud Image Generation
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: image-generation.yml
|
|
||||||
parameters:
|
|
||||||
image_label: 'macOS Big Sur'
|
|
||||||
base_image_name: 'clean-macOS-11-380Gb-runner'
|
|
||||||
template_path: 'templates/macOS-11.pkr.hcl'
|
|
||||||
target_datastore: 'ds-image'
|
|
||||||
variable_group_name: 'Mac-Cloud Image Generation'
|
|
||||||
primary_agent: 'true'
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
|
|
||||||
schedules:
|
|
||||||
- cron: "0 0 * * *"
|
|
||||||
displayName: Daily
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
always: true
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr:
|
|
||||||
autoCancel: true
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- group: Mac-Cloud Image Generation
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: image-generation.yml
|
|
||||||
parameters:
|
|
||||||
image_label: 'macOS Monterey'
|
|
||||||
base_image_name: 'clean-macOS-12-380Gb-runner'
|
|
||||||
template_path: 'templates/macOS-12.pkr.hcl'
|
|
||||||
target_datastore: 'ds-image'
|
|
||||||
variable_group_name: 'Mac-Cloud Image Generation'
|
|
||||||
primary_agent: 'true'
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
name: macOS-11_$(date:yyyyMMdd)$(rev:.r)_unstable
|
|
||||||
schedules:
|
|
||||||
- cron: '45 0 * * 1'
|
|
||||||
displayName: Weekly
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
always: true
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- group: Mac-Cloud Image Generation
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: image-generation.yml
|
|
||||||
parameters:
|
|
||||||
image_label: 'macOS Big Sur'
|
|
||||||
base_image_name: 'clean-macOS-11-380Gb-runner'
|
|
||||||
template_path: 'templates/macOS-11.pkr.hcl'
|
|
||||||
target_datastore: 'ds-image'
|
|
||||||
variable_group_name: 'Mac-Cloud Secondary Image Generation'
|
|
||||||
primary_agent: 'false'
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
name: macOS-12_$(date:yyyyMMdd)$(rev:.r)_unstable
|
|
||||||
schedules:
|
|
||||||
- cron: '45 1 * * 1'
|
|
||||||
displayName: Weekly
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- main
|
|
||||||
always: true
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
|
|
||||||
variables:
|
|
||||||
- group: Mac-Cloud Image Generation
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- template: image-generation.yml
|
|
||||||
parameters:
|
|
||||||
image_label: 'macOS Monterey'
|
|
||||||
base_image_name: 'clean-macOS-12-380Gb-runner'
|
|
||||||
template_path: 'templates/macOS-12.pkr.hcl'
|
|
||||||
target_datastore: 'ds-image'
|
|
||||||
variable_group_name: 'Mac-Cloud Secondary Image Generation'
|
|
||||||
primary_agent: 'false'
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
|
|
||||||
This script deletes vm from vCenter
|
|
||||||
|
|
||||||
.PARAMETER VMName
|
|
||||||
VM name to delete (Example "macOS-10.15_20201012.4")
|
|
||||||
|
|
||||||
.PARAMETER VIServer
|
|
||||||
vCenter address (Example "10.0.1.16")
|
|
||||||
|
|
||||||
.PARAMETER VIUserName
|
|
||||||
vCenter username (Example "Administrator")
|
|
||||||
|
|
||||||
.PARAMETER VIPassword
|
|
||||||
vCenter password (Example "12345678")
|
|
||||||
#>
|
|
||||||
|
|
||||||
[CmdletBinding()]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VMName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIServer,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIUserName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIPassword
|
|
||||||
)
|
|
||||||
|
|
||||||
# Import helpers module
|
|
||||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
|
||||||
|
|
||||||
# Connection to a vCenter Server system
|
|
||||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
|
||||||
|
|
||||||
# Check vm clone status
|
|
||||||
$chainId = (Get-VIEvent -Entity $VMName).ChainId
|
|
||||||
if ($chainId)
|
|
||||||
{
|
|
||||||
$task = Get-Task -Status Running | Where-Object { ($_.Name -eq 'CloneVM_Task') -and ($_.ExtensionData.Info.EventChainId -in $chainId) }
|
|
||||||
if ($task)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Stop-Task -Task $task -Confirm:$false -ErrorAction Stop
|
|
||||||
Write-Host "The vm '$VMName' clone task has been canceled"
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to cancel the task"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove a vm
|
|
||||||
$vm = Get-VM -Name $VMName -ErrorAction SilentlyContinue
|
|
||||||
|
|
||||||
if ($vm)
|
|
||||||
{
|
|
||||||
$vmState = $vm.PowerState
|
|
||||||
if ($vmState -ne "PoweredOff")
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$null = Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop
|
|
||||||
Write-Host "The vm '$VMName' has been powered off"
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to shutdown '$VMName'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Remove-VM -VM $vm -DeletePermanently -Confirm:$false -ErrorAction Stop
|
|
||||||
Write-Host "The vm '$VMName' has been removed"
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to remove '$VMName'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Write-Host "VM '$VMName' not found"
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
|
|
||||||
Helper functions to use in images.CI scripts
|
|
||||||
#>
|
|
||||||
|
|
||||||
Function Connect-VCServer
|
|
||||||
{
|
|
||||||
[CmdletBinding()]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[System.String]$VIUserName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[System.String]$VIPassword,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[System.String]$VIServer
|
|
||||||
)
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
# Preference
|
|
||||||
$global:ProgressPreference = 'SilentlyContinue'
|
|
||||||
$global:WarningPreference = 'SilentlyContinue'
|
|
||||||
# Ignore SSL
|
|
||||||
$null = Set-PowerCLIConfiguration -Scope Session -InvalidCertificateAction Ignore -ParticipateInCEIP $false -Confirm:$false -WebOperationTimeoutSeconds 600
|
|
||||||
$securePassword = ConvertTo-SecureString -String $VIPassword -AsPlainText -Force
|
|
||||||
$cred = New-Object System.Management.Automation.PSCredential($VIUserName, $securePassword)
|
|
||||||
$null = Connect-VIServer -Server $VIServer -Credential $cred -ErrorAction Stop
|
|
||||||
Write-Host "Connection to the vSphere server has been established"
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to connect to the vSphere server"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
|
|
||||||
This script migrates given VM to another datastore
|
|
||||||
|
|
||||||
.PARAMETER VMName
|
|
||||||
VM name to migrate (Example "macOS-10.15_20201012.4")
|
|
||||||
|
|
||||||
.PARAMETER TargetDataStore
|
|
||||||
Target datastore (Example "ds-image")
|
|
||||||
|
|
||||||
.PARAMETER VIServer
|
|
||||||
vCenter address (Example "10.0.1.16")
|
|
||||||
|
|
||||||
.PARAMETER VIUserName
|
|
||||||
vCenter username (Example "Administrator")
|
|
||||||
|
|
||||||
.PARAMETER VIPassword
|
|
||||||
vCenter password (Example "12345678")
|
|
||||||
#>
|
|
||||||
|
|
||||||
[CmdletBinding()]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VMName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$TargetDataStore,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIServer,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIUserName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIPassword,
|
|
||||||
|
|
||||||
[string]$JobStatus,
|
|
||||||
|
|
||||||
[int32]$CpuCount,
|
|
||||||
|
|
||||||
[int32]$CoresPerSocketCount,
|
|
||||||
|
|
||||||
[int64]$Memory
|
|
||||||
)
|
|
||||||
|
|
||||||
# Import helpers module
|
|
||||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
|
||||||
|
|
||||||
# Connection to a vCenter Server system
|
|
||||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
|
||||||
|
|
||||||
# Clear previously assigned tag with VM Name
|
|
||||||
try {
|
|
||||||
Remove-Tag $VMName -Confirm:$false
|
|
||||||
} catch {
|
|
||||||
Write-Host "Tag with $VMName doesn't exist"
|
|
||||||
}
|
|
||||||
|
|
||||||
$vm = Get-VM $VMName
|
|
||||||
if (($env:AGENT_JOBSTATUS -and $env:AGENT_JOBSTATUS -eq 'Failed') -or ($JobStatus -and $JobStatus -eq 'failure')) {
|
|
||||||
try {
|
|
||||||
if ($vm.PowerState -ne "PoweredOff") {
|
|
||||||
Stop-VM -VM $vm -Confirm:$false -ErrorAction Stop | Out-Null
|
|
||||||
}
|
|
||||||
Set-VM -VM $vm -Name "${VMName}_failed" -Confirm:$false -ErrorAction Stop | Out-Null
|
|
||||||
Write-Host "VM has been successfully powered off and renamed to [${VMName}_failed]"
|
|
||||||
} catch {
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to power off and rename VM '$VMName'"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
Move-VM -Vm $vm -Datastore $TargetDataStore -ErrorAction Stop | Out-Null
|
|
||||||
Write-Host "VM has been moved successfully to target datastore '$TargetDataStore'"
|
|
||||||
} catch {
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to move VM '$VMName' to target datastore '$TargetDataStore'"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
|
|
||||||
This script selects local datastore based on the following rules:
|
|
||||||
|
|
||||||
- Name starts with ds-local-Datastore
|
|
||||||
- Datastore FreespaceGB > 400 Gb
|
|
||||||
- VM count on the datastore < 2
|
|
||||||
|
|
||||||
.PARAMETER VIServer
|
|
||||||
vCenter address (Example "10.0.1.16")
|
|
||||||
|
|
||||||
.PARAMETER VIUserName
|
|
||||||
vCenter username (Example "Administrator")
|
|
||||||
|
|
||||||
.PARAMETER VIPassword
|
|
||||||
vCenter password (Example "12345678")
|
|
||||||
#>
|
|
||||||
|
|
||||||
|
|
||||||
[CmdletBinding()]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VMName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIServer,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIUserName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIPassword,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$Cluster,
|
|
||||||
|
|
||||||
[string]$TagCategory = "Busy"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Import helpers module
|
|
||||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
|
||||||
|
|
||||||
function Select-DataStore {
|
|
||||||
param (
|
|
||||||
[string]$VMName,
|
|
||||||
[string]$TagCategory,
|
|
||||||
[string]$TemplateDatastore = "ds-local-Datastore-*",
|
|
||||||
[string]$Cluster,
|
|
||||||
[int]$ThresholdInGb = 400,
|
|
||||||
[int]$VMCount = 2,
|
|
||||||
[int]$Retries = 5
|
|
||||||
)
|
|
||||||
|
|
||||||
# 1. Name starts with ds-local-Datastore
|
|
||||||
# 2. FreespaceGB > 400 Gb
|
|
||||||
# 3. Choose a datastore with the minimal VM count < 2
|
|
||||||
|
|
||||||
Write-Host "Start Datastore selection process..."
|
|
||||||
$clusterHosts = Get-Cluster -Name $Cluster | Get-VMHost
|
|
||||||
$availableClusterDatastores = $clusterHosts | Get-Datastore -Name $TemplateDatastore | Where-Object -Property State -eq "Available"
|
|
||||||
$availableDatastores = $availableClusterDatastores `
|
|
||||||
| Where-Object { $_.FreeSpaceGB -ge $thresholdInGb } `
|
|
||||||
| Where-Object {
|
|
||||||
$vmOnDatastore = @((Get-ChildItem -Path $_.DatastoreBrowserPath).Name -notmatch '(^\.|vmkdump)').Count
|
|
||||||
$vmOnDatastore -lt $vmCount } `
|
|
||||||
| Group-Object -Property { $vmOnDatastore }
|
|
||||||
|
|
||||||
$datastore = $availableDatastores | Select-Object @{n="VmCount";e={$_.Name}},@{n="DatastoreName";e={$_.Group | Get-Random}} -First 1
|
|
||||||
$buildDatastore = $datastore.DatastoreName
|
|
||||||
|
|
||||||
$tag = Get-Tag -Category $TagCategory -Name $VMName -ErrorAction Ignore
|
|
||||||
if (-not $tag)
|
|
||||||
{
|
|
||||||
$tag = New-Tag -Name $VMName -Category $TagCategory
|
|
||||||
}
|
|
||||||
|
|
||||||
New-TagAssignment -Tag $tag -Entity $buildDatastore | Out-Null
|
|
||||||
|
|
||||||
# Wait for 60 seconds to check if any other tags are assigned to the same datastore
|
|
||||||
Start-Sleep -Seconds 60
|
|
||||||
# If there are no datastores with 0 VMs, take a datastore with 1 VM (index 1 if datastore has 0 VMs and 2 if 1 VM)
|
|
||||||
$index = 1 + [int]$datastore.VmCount
|
|
||||||
$tagAssignments = (Get-TagAssignment -Entity $buildDatastore).Tag.Name | Select-Object -First $index
|
|
||||||
$isAllow = $tagAssignments -contains $VMName
|
|
||||||
|
|
||||||
if ($isAllow)
|
|
||||||
{
|
|
||||||
Write-Host "Datastore selected successfully"
|
|
||||||
Write-Host "##vso[task.setvariable variable=buildDatastore;issecret=true]$buildDatastore"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove the tag if datastore wasn't selected
|
|
||||||
Remove-Tag $tag -Confirm:$false
|
|
||||||
|
|
||||||
$retries--
|
|
||||||
if ($retries -le 0)
|
|
||||||
{
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]No datastores found for the condition"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Datastore select failed, $retries left"
|
|
||||||
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory -Retries $retries
|
|
||||||
}
|
|
||||||
|
|
||||||
# Connection to a vCenter Server system
|
|
||||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
|
||||||
|
|
||||||
# Get a target datastore for current deployment
|
|
||||||
Select-DataStore -VMName $VMName -Cluster $Cluster -TagCategory $TagCategory
|
|
||||||
@@ -1,73 +0,0 @@
|
|||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
|
|
||||||
This script sets resources for VM
|
|
||||||
|
|
||||||
.PARAMETER VMName
|
|
||||||
VM name to resize (Example "macOS-10.15_20201012.4")
|
|
||||||
|
|
||||||
.PARAMETER VIServer
|
|
||||||
vCenter address (Example "10.0.1.16")
|
|
||||||
|
|
||||||
.PARAMETER VIUserName
|
|
||||||
vCenter username (Example "Administrator")
|
|
||||||
|
|
||||||
.PARAMETER VIPassword
|
|
||||||
vCenter password (Example "12345678")
|
|
||||||
|
|
||||||
.PARAMETER CpuCount
|
|
||||||
Target number of CPUs (Example "3")
|
|
||||||
|
|
||||||
.PARAMETER CoresPerSocketCount
|
|
||||||
Target number of cores per socket (Example "3")
|
|
||||||
|
|
||||||
.PARAMETER Memory
|
|
||||||
Target amount of memory in MB (Example "14336")
|
|
||||||
|
|
||||||
#>
|
|
||||||
|
|
||||||
[CmdletBinding()]
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VMName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIServer,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIUserName,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[string]$VIPassword,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[int32]$CpuCount,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[int32]$CoresPerSocketCount,
|
|
||||||
|
|
||||||
[Parameter(Mandatory)]
|
|
||||||
[ValidateNotNullOrEmpty()]
|
|
||||||
[int64]$Memory
|
|
||||||
)
|
|
||||||
|
|
||||||
# Import helpers module
|
|
||||||
Import-Module $PSScriptRoot\helpers.psm1 -DisableNameChecking
|
|
||||||
|
|
||||||
# Connection to a vCenter Server system
|
|
||||||
Connect-VCServer -VIServer $VIServer -VIUserName $VIUserName -VIPassword $VIPassword
|
|
||||||
|
|
||||||
$vm = Get-VM $VMName
|
|
||||||
try {
|
|
||||||
Write-Host "Change CPU count to $CpuCount, cores count to $CoresPerSocketCount, amount of RAM to $Memory"
|
|
||||||
$vm | Set-VM -NumCPU $CpuCount -CoresPerSocket $CoresPerSocketCount -MemoryMB $Memory -Confirm:$false -ErrorAction Stop | Out-Null
|
|
||||||
} catch {
|
|
||||||
Write-Host "##vso[task.LogIssue type=error;]Failed to change specs for VM '$VMName'"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
param(
|
|
||||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
|
||||||
[Parameter(Mandatory)] [string] $AccessToken,
|
|
||||||
[Parameter(Mandatory)] [string] $SourceBranch,
|
|
||||||
[Parameter(Mandatory)] [string] $ContributorAllowList
|
|
||||||
)
|
|
||||||
|
|
||||||
function Build-AuthHeader {
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)] [string] $AccessToken
|
|
||||||
)
|
|
||||||
|
|
||||||
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
|
|
||||||
return "Basic ${base64AuthInfo}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-PullRequest {
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)] [string] $RepositoryName,
|
|
||||||
[Parameter(Mandatory)] [string] $AccessToken,
|
|
||||||
[Parameter(Mandatory)] [UInt32] $PullRequestNumber
|
|
||||||
)
|
|
||||||
|
|
||||||
$requestUrl = "https://api.github.com/repos/$RepositoryName/pulls/$PullRequestNumber"
|
|
||||||
$authHeader = Build-AuthHeader -AccessToken $AccessToken
|
|
||||||
|
|
||||||
$params = @{
|
|
||||||
Method = "GET"
|
|
||||||
ContentType = "application/json"
|
|
||||||
Uri = $requestUrl
|
|
||||||
Headers = @{ Authorization = $authHeader }
|
|
||||||
}
|
|
||||||
|
|
||||||
return Invoke-RestMethod @params
|
|
||||||
}
|
|
||||||
|
|
||||||
function Validate-ContributorPermissions {
|
|
||||||
param(
|
|
||||||
[Parameter(Mandatory)] [string] $ContributorAllowList,
|
|
||||||
[Parameter(Mandatory)] [string] $ContributorName
|
|
||||||
)
|
|
||||||
|
|
||||||
$allowedContributors = $ContributorAllowList.Split(",").Trim()
|
|
||||||
$validСontributor = $allowedContributors | Where-Object { $_ -eq $ContributorName } `
|
|
||||||
| Select-Object -First 1
|
|
||||||
|
|
||||||
if (-not $validСontributor) {
|
|
||||||
Write-Host "Failed to start this build. '$ContributorName' is an unknown contributor"
|
|
||||||
Write-Host "Please add '$ContributorName' to the allowed list to run builds"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$pullRequestNumber = $SourceBranch.Split("/")[2]
|
|
||||||
|
|
||||||
$pullRequestInfo = Get-PullRequest -RepositoryName $RepositoryName `
|
|
||||||
-AccessToken $AccessToken `
|
|
||||||
-PullRequestNumber $pullRequestNumber
|
|
||||||
|
|
||||||
$contributorName = $pullRequestInfo.user.login
|
|
||||||
|
|
||||||
Validate-ContributorPermissions -ContributorAllowList $ContributorAllowList `
|
|
||||||
-ContributorName $contributorName
|
|
||||||
@@ -1,356 +0,0 @@
|
|||||||
| Announcements |
|
|
||||||
|-|
|
|
||||||
| [[All OSes] Powershell Core will be updated to 7.4.x LTS on January, 28](https://github.com/actions/runner-images/issues/9115) |
|
|
||||||
***
|
|
||||||
# macOS 11
|
|
||||||
- OS Version: macOS 11.7.10 (20G1427)
|
|
||||||
- Kernel Version: Darwin 20.6.0
|
|
||||||
- Image Version: 20240127.1
|
|
||||||
|
|
||||||
## Installed Software
|
|
||||||
|
|
||||||
### Language and Runtime
|
|
||||||
- .NET Core SDK: 6.0.418, 7.0.102, 7.0.202, 7.0.306, 7.0.405, 8.0.101
|
|
||||||
- Bash 3.2.57(1)-release
|
|
||||||
- Clang/LLVM 13.0.0
|
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
|
||||||
- GCC 10 (Homebrew GCC 10.5.0) - available by `gcc-10` alias
|
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
|
||||||
- GNU Fortran 10 (Homebrew GCC 10.5.0) - available by `gfortran-10` alias
|
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
|
||||||
- Julia 1.10.0
|
|
||||||
- Kotlin 1.9.22-release-704
|
|
||||||
- Go 1.20.13
|
|
||||||
- Mono 6.12.0.188
|
|
||||||
- Node.js 18.19.0
|
|
||||||
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
|
|
||||||
- NVM 0.39.7
|
|
||||||
- NVM - Cached node versions: 16.20.2, 18.19.0, 20.11.0
|
|
||||||
- Perl 5.38.2
|
|
||||||
- Python 2.7.18
|
|
||||||
- Python3 3.12.1
|
|
||||||
- R 4.3.2
|
|
||||||
- Ruby 2.7.8p225
|
|
||||||
|
|
||||||
### Package Management
|
|
||||||
- Bundler 2.4.22
|
|
||||||
- Carthage 0.39.1
|
|
||||||
- CocoaPods 1.14.3
|
|
||||||
- Homebrew 4.2.5
|
|
||||||
- Miniconda 23.11.0
|
|
||||||
- NPM 10.2.3
|
|
||||||
- NuGet 6.3.1.1
|
|
||||||
- Pip 20.3.4 (python 2.7)
|
|
||||||
- Pip3 23.3.2 (python 3.12)
|
|
||||||
- Pipx 1.4.3
|
|
||||||
- RubyGems 3.4.10
|
|
||||||
- Vcpkg 2024 (build from commit 7032c5759)
|
|
||||||
- Yarn 1.22.19
|
|
||||||
|
|
||||||
#### Environment variables
|
|
||||||
| Name | Value |
|
|
||||||
| ----------------------- | ---------------------- |
|
|
||||||
| CONDA | /usr/local/miniconda |
|
|
||||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
|
||||||
|
|
||||||
### Project Management
|
|
||||||
- Apache Ant 1.10.14
|
|
||||||
- Apache Maven 3.9.6
|
|
||||||
- Gradle 8.5
|
|
||||||
- Sbt 1.9.8
|
|
||||||
|
|
||||||
### Utilities
|
|
||||||
- 7-Zip 17.05
|
|
||||||
- aria2 1.37.0
|
|
||||||
- azcopy 10.22.2
|
|
||||||
- bazel 7.0.2
|
|
||||||
- bazelisk 1.19.0
|
|
||||||
- bsdtar 3.3.2 - available by 'tar' alias
|
|
||||||
- Curl 8.5.0
|
|
||||||
- Git 2.43.0
|
|
||||||
- Git LFS 3.4.1
|
|
||||||
- GitHub CLI 2.42.1
|
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
|
||||||
- GNU Wget 1.21.4
|
|
||||||
- gpg (GnuPG) 2.4.4
|
|
||||||
- helm v3.14.0+g3fc9f4b
|
|
||||||
- jq 1.7.1
|
|
||||||
- mongo 5.0.21
|
|
||||||
- mongod 5.0.21
|
|
||||||
- Newman 6.1.0
|
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
|
||||||
- Packer 1.9.4
|
|
||||||
- pkg-config 0.29.2
|
|
||||||
- PostgreSQL 14.10 (Homebrew)
|
|
||||||
- psql (PostgreSQL) 14.10 (Homebrew)
|
|
||||||
- Sox 14.4.2
|
|
||||||
- Subversion (SVN) 1.14.3
|
|
||||||
- Switchaudio-osx 1.2.2
|
|
||||||
- yq 4.40.5
|
|
||||||
- zstd 1.5.5
|
|
||||||
|
|
||||||
### Tools
|
|
||||||
- Aliyun CLI 3.0.197
|
|
||||||
- App Center CLI 2.14.0
|
|
||||||
- AWS CLI 2.15.15
|
|
||||||
- AWS SAM CLI 1.108.0
|
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
|
||||||
- Azure CLI 2.56.0
|
|
||||||
- Azure CLI (azure-devops) 0.26.0
|
|
||||||
- Bicep CLI 0.24.24
|
|
||||||
- Cabal 3.10.2.1
|
|
||||||
- Cmake 3.28.1
|
|
||||||
- CodeQL Action Bundle 2.16.1
|
|
||||||
- Fastlane 2.219.0
|
|
||||||
- GHC 9.8.1
|
|
||||||
- GHCup 0.1.20.0
|
|
||||||
- Jazzy 0.14.4
|
|
||||||
- Stack 2.13.1
|
|
||||||
- SwiftFormat 0.53.0
|
|
||||||
- Swig 4.2.0
|
|
||||||
- Xcode Command Line Tools 13.2.0.0.1.1638488800
|
|
||||||
|
|
||||||
### Linters
|
|
||||||
- SwiftLint 0.48.0
|
|
||||||
- Yamllint 1.33.0
|
|
||||||
|
|
||||||
### Browsers
|
|
||||||
- Safari 16.6.1 (16615.3.12.11.5)
|
|
||||||
- SafariDriver 16.6.1 (16615.3.12.11.5)
|
|
||||||
- Google Chrome 121.0.6167.85
|
|
||||||
- Google Chrome for Testing 121.0.6167.85
|
|
||||||
- ChromeDriver 121.0.6167.85
|
|
||||||
- Microsoft Edge 121.0.2277.83
|
|
||||||
- Microsoft Edge WebDriver 121.0.2277.83
|
|
||||||
- Mozilla Firefox 122.0
|
|
||||||
- geckodriver 0.34.0
|
|
||||||
- Selenium server 4.17.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.402+6 (default) | JAVA_HOME_8_X64 |
|
|
||||||
| 11.0.22+7 | JAVA_HOME_11_X64 |
|
|
||||||
| 17.0.10+7 | JAVA_HOME_17_X64 |
|
|
||||||
| 21.0.2+13.0 | JAVA_HOME_21_X64 |
|
|
||||||
|
|
||||||
### Cached Tools
|
|
||||||
|
|
||||||
#### Ruby
|
|
||||||
- 2.5.9
|
|
||||||
- 2.6.10
|
|
||||||
- 2.7.8
|
|
||||||
- 3.0.6
|
|
||||||
- 3.1.4
|
|
||||||
|
|
||||||
#### PyPy
|
|
||||||
- 2.7.18 [PyPy 7.3.15]
|
|
||||||
- 3.7.13 [PyPy 7.3.9]
|
|
||||||
- 3.8.16 [PyPy 7.3.11]
|
|
||||||
- 3.9.18 [PyPy 7.3.15]
|
|
||||||
- 3.10.13 [PyPy 7.3.15]
|
|
||||||
|
|
||||||
#### Python
|
|
||||||
- 3.7.17
|
|
||||||
- 3.8.18
|
|
||||||
- 3.9.18
|
|
||||||
- 3.10.13
|
|
||||||
- 3.11.7
|
|
||||||
- 3.12.1
|
|
||||||
|
|
||||||
#### Node.js
|
|
||||||
- 16.20.2
|
|
||||||
- 18.19.0
|
|
||||||
- 20.11.0
|
|
||||||
|
|
||||||
#### Go
|
|
||||||
- 1.19.13
|
|
||||||
- 1.20.13
|
|
||||||
- 1.21.6
|
|
||||||
|
|
||||||
### Rust Tools
|
|
||||||
- Cargo 1.75.0
|
|
||||||
- Rust 1.75.0
|
|
||||||
- Rustdoc 1.75.0
|
|
||||||
- Rustup 1.26.0
|
|
||||||
|
|
||||||
#### Packages
|
|
||||||
- Bindgen 0.69.2
|
|
||||||
- Cargo-audit 0.18.3
|
|
||||||
- Cargo-outdated 0.14.0
|
|
||||||
- Cbindgen 0.26.0
|
|
||||||
- Clippy 0.1.75
|
|
||||||
- Rustfmt 1.7.0-stable
|
|
||||||
|
|
||||||
### PowerShell Tools
|
|
||||||
- PowerShell 7.4.1
|
|
||||||
|
|
||||||
#### PowerShell Modules
|
|
||||||
- Az: 11.2.0
|
|
||||||
- MarkdownPS: 1.9
|
|
||||||
- Pester: 5.5.0
|
|
||||||
- PSScriptAnalyzer: 1.21.0
|
|
||||||
|
|
||||||
### Web Servers
|
|
||||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
|
||||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
|
||||||
| httpd | 2.4.58 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
|
||||||
| nginx | 1.25.3 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
|
||||||
|
|
||||||
### Xamarin
|
|
||||||
|
|
||||||
#### Visual Studio for Mac
|
|
||||||
| Version | Build | Path |
|
|
||||||
| -------------- | ---------- | ------------------------------------ |
|
|
||||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
|
||||||
| 2022 (default) | 17.6.8.400 | /Applications/Visual Studio.app |
|
|
||||||
|
|
||||||
##### Notes
|
|
||||||
```
|
|
||||||
To use Visual Studio 2019 by default rename the app:
|
|
||||||
mv "/Applications/Visual Studio.app" "/Applications/Visual Studio 2022.app"
|
|
||||||
mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Xamarin bundles
|
|
||||||
| symlink | Xamarin.Mono | Xamarin.iOS | Xamarin.Mac | Xamarin.Android |
|
|
||||||
| ----------------- | ------------ | ----------- | ----------- | --------------- |
|
|
||||||
| 6_12_16 | 6.12 | 15.8 | 8.8 | 12.2 |
|
|
||||||
| 6_12_15 | 6.12 | 15.8 | 8.8 | 12.1 |
|
|
||||||
| 6_12_14 | 6.12 | 15.8 | 8.8 | 12.0 |
|
|
||||||
| 6_12_13 | 6.12 | 15.6 | 8.6 | 12.0 |
|
|
||||||
| 6_12_12 (default) | 6.12 | 15.4 | 8.4 | 12.0 |
|
|
||||||
| 6_12_11 | 6.12 | 15.2 | 8.2 | 12.0 |
|
|
||||||
| 6_12_10 | 6.12 | 15.0 | 7.14 | 11.3 |
|
|
||||||
| 6_12_9 | 6.12 | 14.20 | 7.14 | 11.3 |
|
|
||||||
| 6_12_8 | 6.12 | 14.16 | 7.10 | 11.2 |
|
|
||||||
| 6_12_7 | 6.12 | 14.14 | 7.8 | 11.2 |
|
|
||||||
| 6_12_6 | 6.12 | 14.10 | 7.4 | 11.1 |
|
|
||||||
| 6_12_5 | 6.12 | 14.8 | 7.2 | 11.1 |
|
|
||||||
| 6_12_4 | 6.12 | 14.6 | 7.0 | 11.1 |
|
|
||||||
| 6_12_3 | 6.12 | 14.4 | 6.22 | 11.1 |
|
|
||||||
| 6_12_2 | 6.12 | 14.2 | 6.20 | 11.0 |
|
|
||||||
| 6_12_1 | 6.12 | 14.0 | 6.20 | 11.0 |
|
|
||||||
| 6_12_0 | 6.12 | 13.20 | 6.20 | 11.0 |
|
|
||||||
|
|
||||||
#### Unit Test Framework
|
|
||||||
- NUnit 3.6.1
|
|
||||||
|
|
||||||
### Xcode
|
|
||||||
| Version | Build | Path |
|
|
||||||
| ---------------- | -------- | ------------------------------ |
|
|
||||||
| 13.2.1 (default) | 13C100 | /Applications/Xcode_13.2.1.app |
|
|
||||||
| 13.1 | 13A1030d | /Applications/Xcode_13.1.app |
|
|
||||||
| 13.0 | 13A233 | /Applications/Xcode_13.0.app |
|
|
||||||
| 12.5.1 | 12E507 | /Applications/Xcode_12.5.1.app |
|
|
||||||
| 12.4 | 12D4e | /Applications/Xcode_12.4.app |
|
|
||||||
| 11.7 | 11E801a | /Applications/Xcode_11.7.app |
|
|
||||||
|
|
||||||
#### Xcode Support Tools
|
|
||||||
- xcpretty 0.3.0
|
|
||||||
- xcversion 2.8.1
|
|
||||||
- Nomad CLI 0.0.2
|
|
||||||
- Nomad shenzhen CLI 0.14.3
|
|
||||||
|
|
||||||
#### Installed SDKs
|
|
||||||
| SDK | SDK Name | Xcode Version |
|
|
||||||
| ----------------------- | -------------------- | ------------- |
|
|
||||||
| macOS 10.15 | macosx10.15 | 11.7 |
|
|
||||||
| macOS 11.1 | macosx11.1 | 12.4 |
|
|
||||||
| macOS 11.3 | macosx11.3 | 12.5.1, 13.0 |
|
|
||||||
| macOS 12.0 | macosx12.0 | 13.1 |
|
|
||||||
| macOS 12.1 | macosx12.1 | 13.2.1 |
|
|
||||||
| iOS 13.7 | iphoneos13.7 | 11.7 |
|
|
||||||
| iOS 14.4 | iphoneos14.4 | 12.4 |
|
|
||||||
| iOS 14.5 | iphoneos14.5 | 12.5.1 |
|
|
||||||
| iOS 15.0 | iphoneos15.0 | 13.0, 13.1 |
|
|
||||||
| iOS 15.2 | iphoneos15.2 | 13.2.1 |
|
|
||||||
| Simulator - iOS 13.7 | iphonesimulator13.7 | 11.7 |
|
|
||||||
| Simulator - iOS 14.4 | iphonesimulator14.4 | 12.4 |
|
|
||||||
| Simulator - iOS 14.5 | iphonesimulator14.5 | 12.5.1 |
|
|
||||||
| Simulator - iOS 15.0 | iphonesimulator15.0 | 13.0, 13.1 |
|
|
||||||
| Simulator - iOS 15.2 | iphonesimulator15.2 | 13.2.1 |
|
|
||||||
| tvOS 13.4 | appletvos13.4 | 11.7 |
|
|
||||||
| tvOS 14.3 | appletvos14.3 | 12.4 |
|
|
||||||
| tvOS 14.5 | appletvos14.5 | 12.5.1 |
|
|
||||||
| tvOS 15.0 | appletvos15.0 | 13.0, 13.1 |
|
|
||||||
| tvOS 15.2 | appletvos15.2 | 13.2.1 |
|
|
||||||
| Simulator - tvOS 13.4 | appletvsimulator13.4 | 11.7 |
|
|
||||||
| Simulator - tvOS 14.3 | appletvsimulator14.3 | 12.4 |
|
|
||||||
| Simulator - tvOS 14.5 | appletvsimulator14.5 | 12.5.1 |
|
|
||||||
| Simulator - tvOS 15.0 | appletvsimulator15.0 | 13.0, 13.1 |
|
|
||||||
| Simulator - tvOS 15.2 | appletvsimulator15.2 | 13.2.1 |
|
|
||||||
| watchOS 6.2 | watchos6.2 | 11.7 |
|
|
||||||
| watchOS 7.2 | watchos7.2 | 12.4 |
|
|
||||||
| watchOS 7.4 | watchos7.4 | 12.5.1 |
|
|
||||||
| watchOS 8.0 | watchos8.0 | 13.0, 13.1 |
|
|
||||||
| watchOS 8.3 | watchos8.3 | 13.2.1 |
|
|
||||||
| Simulator - watchOS 6.2 | watchsimulator6.2 | 11.7 |
|
|
||||||
| Simulator - watchOS 7.2 | watchsimulator7.2 | 12.4 |
|
|
||||||
| Simulator - watchOS 7.4 | watchsimulator7.4 | 12.5.1 |
|
|
||||||
| Simulator - watchOS 8.0 | watchsimulator8.0 | 13.0, 13.1 |
|
|
||||||
| Simulator - watchOS 8.3 | watchsimulator8.3 | 13.2.1 |
|
|
||||||
| DriverKit 19.0 | driverkit.macosx19.0 | 11.7 |
|
|
||||||
| DriverKit 20.2 | driverkit.macosx20.2 | 12.4 |
|
|
||||||
| DriverKit 20.4 | driverkit.macosx20.4 | 12.5.1, 13.0 |
|
|
||||||
| DriverKit 21.0.1 | driverkit21.0.1 | 13.1 |
|
|
||||||
| DriverKit 21.2 | driverkit21.2 | 13.2.1 |
|
|
||||||
|
|
||||||
#### Installed Simulators
|
|
||||||
| OS | Xcode Version | Simulators |
|
|
||||||
| ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| iOS 13.7 | 11.7 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad Air (3rd generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
|
||||||
| iOS 14.4 | 12.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (9.7-inch) |
|
|
||||||
| iOS 14.5 | 12.5.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
|
||||||
| iOS 15.0 | 13.0<br>13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
|
||||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (7th generation)<br>iPad (8th generation)<br>iPad (9th generation)<br>iPad Air (3rd generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (2nd generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
|
||||||
| tvOS 13.4 | 11.7 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
|
||||||
| tvOS 14.3 | 12.4 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (at 1080p) |
|
|
||||||
| tvOS 14.5 | 12.5.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
|
||||||
| tvOS 15.0 | 13.0<br>13.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
|
||||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
|
||||||
| watchOS 6.2 | 11.7 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm |
|
|
||||||
| watchOS 7.2 | 12.4 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
|
||||||
| watchOS 7.4 | 12.5.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<br>Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm |
|
|
||||||
| watchOS 8.0 | 13.0<br>13.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<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 |
|
|
||||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 4 - 40mm<br>Apple Watch Series 4 - 44mm<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 |
|
|
||||||
|
|
||||||
### Android
|
|
||||||
| Package Name | Version |
|
|
||||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
||||||
| Android Command Line Tools | 8.0 |
|
|
||||||
| Android Emulator | 33.1.24 |
|
|
||||||
| Android SDK Build-tools | 34.0.0<br>33.0.0 33.0.1 33.0.2<br>32.0.0<br>31.0.0 |
|
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 2)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
|
||||||
| Android SDK Platform-Tools | 34.0.5 |
|
|
||||||
| Android Support Repository | 47.0.0 |
|
|
||||||
| CMake | 3.10.2<br>3.18.1<br>3.22.1 |
|
|
||||||
| Google Play services | 49 |
|
|
||||||
| Google Repository | 58 |
|
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.1.10909125 |
|
|
||||||
|
|
||||||
#### Environment variables
|
|
||||||
| Name | Value |
|
|
||||||
| ----------------------- | --------------------------------------------------- |
|
|
||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
|
||||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.1.10909125 |
|
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
|
||||||
|
|
||||||
### Miscellaneous
|
|
||||||
- libXext 1.3.5
|
|
||||||
- libXft 2.3.8
|
|
||||||
- Tcl/Tk 8.6.13_5
|
|
||||||
- Zlib 1.3.1
|
|
||||||
|
|
||||||
+145
-135
@@ -1,51 +1,57 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
| [[Macos 13 and 14] Android NDK versions <=25 will be removed from images on October 07,2024](https://github.com/actions/runner-images/issues/10614) |
|
||||||
|
| [[Macos 13 and 14] Go version 1.20.0 will be removed on October 07,2024.](https://github.com/actions/runner-images/issues/10612) |
|
||||||
|
***
|
||||||
# macOS 12
|
# macOS 12
|
||||||
- OS Version: macOS 12.7.4 (21H1123)
|
- OS Version: macOS 12.7.6 (21H1320)
|
||||||
- Kernel Version: Darwin 21.6.0
|
- Kernel Version: Darwin 21.6.0
|
||||||
- Image Version: 20240514.3
|
- Image Version: 20240926.174
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
|
|
||||||
### Language and Runtime
|
### Language and Runtime
|
||||||
- .NET Core SDK: 6.0.422, 7.0.102, 7.0.202, 7.0.306, 7.0.409, 8.0.101, 8.0.204, 8.0.300
|
- .NET Core SDK: 6.0.425, 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.402
|
||||||
- Bash 3.2.57(1)-release
|
- Bash 3.2.57(1)-release
|
||||||
- Clang/LLVM 14.0.0
|
- Clang/LLVM 14.0.0
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
- GCC 14 (Homebrew GCC 14.2.0) - available by `gcc-14` alias
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
- GNU Fortran 14 (Homebrew GCC 14.2.0) - available by `gfortran-14` alias
|
||||||
- Julia 1.10.3
|
- Julia 1.10.5
|
||||||
- Kotlin 1.9.24-release-822
|
- Kotlin 2.0.20-release-360
|
||||||
- Go 1.21.10
|
- Go 1.21.13
|
||||||
- Mono 6.12.0.188
|
- Mono 6.12.0.188
|
||||||
- Node.js 18.20.2
|
- Node.js 18.20.4
|
||||||
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
|
- MSBuild 16.10.1.51301 (Mono 6.12.0.188)
|
||||||
- NVM 0.39.7
|
- NVM 0.39.7
|
||||||
- NVM - Cached node versions: 16.20.2, 18.20.2, 20.13.1
|
- NVM - Cached node versions: 16.20.2, 18.20.4, 20.17.0
|
||||||
- Perl 5.38.2
|
- Perl 5.38.2
|
||||||
- PHP 8.3.7
|
- PHP 8.3.11
|
||||||
- Python 2.7.18
|
- Python 2.7.18
|
||||||
- Python3 3.12.3
|
- Python3 3.12.6
|
||||||
- R 4.4.0
|
- R 4.4.1
|
||||||
- Ruby 3.0.7p220
|
- Ruby 3.0.7p220
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
- Bundler 2.5.10
|
- Bundler 2.5.20
|
||||||
- Carthage 0.39.1
|
- Carthage 0.40.0
|
||||||
- CocoaPods 1.15.2
|
- CocoaPods 1.15.2
|
||||||
- Composer 2.7.6
|
- Composer 2.7.9
|
||||||
- Homebrew 4.3.0
|
- Homebrew 4.3.24
|
||||||
- Miniconda 24.3.0
|
- Miniconda 24.7.1
|
||||||
- NPM 10.5.0
|
- NPM 10.7.0
|
||||||
- NuGet 6.3.1.1
|
- NuGet 6.3.1.1
|
||||||
- Pip 20.3.4 (python 2.7)
|
- Pip 20.3.4 (python 2.7)
|
||||||
- Pip3 24.0 (python 3.12)
|
- Pip3 24.2 (python 3.12)
|
||||||
- Pipx 1.5.0
|
- Pipx 1.7.1
|
||||||
- RubyGems 3.5.10
|
- RubyGems 3.5.20
|
||||||
- Vcpkg 2024 (build from commit bd2b54836)
|
- Vcpkg 2024 (build from commit 3d8959985)
|
||||||
- Yarn 1.22.19
|
- Yarn 1.22.22
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -54,80 +60,80 @@
|
|||||||
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
| VCPKG_INSTALLATION_ROOT | /usr/local/share/vcpkg |
|
||||||
|
|
||||||
### Project Management
|
### Project Management
|
||||||
- Apache Ant 1.10.14
|
- Apache Ant 1.10.15
|
||||||
- Apache Maven 3.9.6
|
- Apache Maven 3.9.9
|
||||||
- Gradle 8.7
|
- Gradle 8.10.2
|
||||||
- Sbt 1.10.0
|
- Sbt 1.10.2
|
||||||
|
|
||||||
### Utilities
|
### Utilities
|
||||||
- 7-Zip 17.05
|
- 7-Zip 17.05
|
||||||
- aria2 1.37.0
|
- aria2 1.37.0
|
||||||
- azcopy 10.24.0
|
- azcopy 10.26.0
|
||||||
- bazel 7.1.2
|
- bazel 7.3.1
|
||||||
- bazelisk 1.20.0
|
- bazelisk 1.21.0
|
||||||
- bsdtar 3.5.1 - available by 'tar' alias
|
- bsdtar 3.5.1 - available by 'tar' alias
|
||||||
- Curl 8.7.1
|
- Curl 8.10.1
|
||||||
- Git 2.45.1
|
- Git 2.46.2
|
||||||
- Git LFS 3.5.1
|
- Git LFS 3.5.1
|
||||||
- GitHub CLI 2.49.2
|
- GitHub CLI 2.57.0
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
- GNU Wget 1.24.5
|
- GNU Wget 1.24.5
|
||||||
- gpg (GnuPG) 2.4.5
|
- gpg (GnuPG) 2.4.5
|
||||||
- ImageMagick 7.1.1-32
|
- ImageMagick 7.1.1-38
|
||||||
- jq 1.7.1
|
- jq 1.7.1
|
||||||
- mongo 5.0.26
|
- mongo 5.0.29
|
||||||
- mongod 5.0.26
|
- mongod 5.0.29
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
- Packer 1.9.4
|
- Packer 1.9.4
|
||||||
- pkg-config 0.29.2
|
- pkg-config 0.29.2
|
||||||
- PostgreSQL 14.12 (Homebrew)
|
- PostgreSQL 14.13 (Homebrew)
|
||||||
- psql (PostgreSQL) 14.12 (Homebrew)
|
- psql (PostgreSQL) 14.13 (Homebrew)
|
||||||
- Sox 14.4.2
|
- Sox 14.4.2
|
||||||
- Subversion (SVN) 1.14.3
|
- Subversion (SVN) 1.14.3
|
||||||
- Switchaudio-osx 1.2.2
|
- Switchaudio-osx 1.2.2
|
||||||
- Vagrant 2.4.1
|
- Vagrant 2.4.1
|
||||||
- VirtualBox 6.1.38r153438
|
- VirtualBox 6.1.38r153438
|
||||||
- yq 4.44.1
|
- yq 4.44.3
|
||||||
- zstd 1.5.6
|
- zstd 1.5.6
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
- App Center CLI 3.0.0
|
- App Center CLI 3.0.1
|
||||||
- AWS CLI 2.15.50
|
- AWS CLI 2.17.59
|
||||||
- AWS SAM CLI 1.116.0
|
- AWS SAM CLI 1.124.0
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
- AWS Session Manager CLI 1.2.650.0
|
||||||
- Azure CLI 2.60.0
|
- Azure CLI 2.64.0
|
||||||
- Azure CLI (azure-devops) 1.0.0
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
- Bicep CLI 0.27.1
|
- Bicep CLI 0.30.23
|
||||||
- Cabal 3.10.3.0
|
- Cabal 3.10.3.0
|
||||||
- Cmake 3.29.3
|
- Cmake 3.30.3
|
||||||
- CodeQL Action Bundle 2.17.2
|
- CodeQL Action Bundle 2.19.0
|
||||||
- Colima 0.6.8
|
- Colima 0.7.5
|
||||||
- Fastlane 2.220.0
|
- Fastlane 2.222.0
|
||||||
- GHC 9.10.1
|
- GHC 9.10.1
|
||||||
- GHCup 0.1.22.0
|
- GHCup 0.1.30.0
|
||||||
- Jazzy 0.15.0
|
- Jazzy 0.15.2
|
||||||
- Stack 2.15.5
|
- Stack 3.1.1
|
||||||
- SwiftFormat 0.53.9
|
- SwiftFormat 0.54.5
|
||||||
- Swig 4.2.1
|
- Swig 4.2.1
|
||||||
- Xcbeautify 1.6.0
|
- Xcbeautify 1.6.0
|
||||||
- Xcode Command Line Tools 14.2.0.0.1.1668646533
|
- Xcode Command Line Tools 14.2.0.0.1.1668646533
|
||||||
- Xcodes 1.4.1
|
- Xcodes 1.5.0
|
||||||
|
|
||||||
### Linters
|
### Linters
|
||||||
- SwiftLint 0.53.0
|
- SwiftLint 0.53.0
|
||||||
- Yamllint 1.35.1
|
- Yamllint 1.35.1
|
||||||
|
|
||||||
### Browsers
|
### Browsers
|
||||||
- Safari 17.4.1 (17618.1.15.111.8)
|
- Safari 17.6 (17618.3.11.11.7)
|
||||||
- SafariDriver 17.4.1 (17618.1.15.111.8)
|
- SafariDriver 17.6 (17618.3.11.11.7)
|
||||||
- Google Chrome 124.0.6367.208
|
- Google Chrome 129.0.6668.71
|
||||||
- Google Chrome for Testing 124.0.6367.207
|
- Google Chrome for Testing 129.0.6668.70
|
||||||
- ChromeDriver 124.0.6367.207
|
- ChromeDriver 129.0.6668.70
|
||||||
- Microsoft Edge 124.0.2478.105
|
- Microsoft Edge 129.0.2792.52
|
||||||
- Microsoft Edge WebDriver 124.0.2478.105
|
- Microsoft Edge WebDriver 129.0.2792.46
|
||||||
- Mozilla Firefox 126.0
|
- Mozilla Firefox 130.0.1
|
||||||
- geckodriver 0.34.0
|
- geckodriver 0.35.0
|
||||||
- Selenium server 4.20.0
|
- Selenium server 4.25.0
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -137,72 +143,75 @@
|
|||||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
| Version | Environment Variable |
|
| Version | Environment Variable |
|
||||||
| ------------------- | -------------------- |
|
| --------------------- | -------------------- |
|
||||||
| 8.0.412+8 (default) | JAVA_HOME_8_X64 |
|
| 8.0.422+5.1 (default) | JAVA_HOME_8_X64 |
|
||||||
| 11.0.23+9 | JAVA_HOME_11_X64 |
|
| 11.0.24+8 | JAVA_HOME_11_X64 |
|
||||||
| 17.0.11+9 | JAVA_HOME_17_X64 |
|
| 17.0.12+7 | JAVA_HOME_17_X64 |
|
||||||
| 21.0.3+9.0 | JAVA_HOME_21_X64 |
|
| 21.0.4+7.0 | JAVA_HOME_21_X64 |
|
||||||
|
|
||||||
### Cached Tools
|
### Cached Tools
|
||||||
|
|
||||||
#### PyPy
|
#### PyPy
|
||||||
- 2.7.18 [PyPy 7.3.16]
|
- 2.7.18 [PyPy 7.3.17]
|
||||||
- 3.7.13 [PyPy 7.3.9]
|
- 3.7.13 [PyPy 7.3.9]
|
||||||
- 3.8.16 [PyPy 7.3.11]
|
- 3.8.16 [PyPy 7.3.11]
|
||||||
- 3.9.19 [PyPy 7.3.16]
|
- 3.9.19 [PyPy 7.3.16]
|
||||||
- 3.10.14 [PyPy 7.3.16]
|
- 3.10.14 [PyPy 7.3.17]
|
||||||
|
|
||||||
#### Ruby
|
#### Ruby
|
||||||
- 3.0.7
|
- 3.0.7
|
||||||
- 3.1.5
|
- 3.1.6
|
||||||
|
- 3.2.5
|
||||||
|
- 3.3.5
|
||||||
|
|
||||||
#### Python
|
#### Python
|
||||||
- 3.7.17
|
- 3.7.17
|
||||||
- 3.8.18
|
- 3.8.18
|
||||||
- 3.9.19
|
- 3.9.20
|
||||||
- 3.10.14
|
- 3.10.15
|
||||||
- 3.11.9
|
- 3.11.9
|
||||||
- 3.12.3
|
- 3.12.6
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 16.20.2
|
- 16.20.2
|
||||||
- 18.20.2
|
- 18.20.4
|
||||||
- 20.13.1
|
- 20.17.0
|
||||||
|
|
||||||
#### Go
|
#### Go
|
||||||
- 1.20.14
|
- 1.20.14
|
||||||
- 1.21.10
|
- 1.21.13
|
||||||
- 1.22.3
|
- 1.22.7
|
||||||
|
- 1.23.1
|
||||||
|
|
||||||
### Rust Tools
|
### Rust Tools
|
||||||
- Cargo 1.78.0
|
- Cargo 1.81.0
|
||||||
- Rust 1.78.0
|
- Rust 1.81.0
|
||||||
- Rustdoc 1.78.0
|
- Rustdoc 1.81.0
|
||||||
- Rustup 1.27.1
|
- Rustup 1.27.1
|
||||||
|
|
||||||
#### Packages
|
#### Packages
|
||||||
- Bindgen 0.69.4
|
- Bindgen 0.70.1
|
||||||
- Cargo-audit 0.20.0
|
- Cargo-audit 0.20.1
|
||||||
- Cargo-outdated 0.15.0
|
- Cargo-outdated 0.15.0
|
||||||
- Cbindgen 0.26.0
|
- Cbindgen 0.27.0
|
||||||
- Clippy 0.1.78
|
- Clippy 0.1.81
|
||||||
- Rustfmt 1.7.0-stable
|
- Rustfmt 1.7.1-stable
|
||||||
|
|
||||||
### PowerShell Tools
|
### PowerShell Tools
|
||||||
- PowerShell 7.4.2
|
- PowerShell 7.4.5
|
||||||
|
|
||||||
#### PowerShell Modules
|
#### PowerShell Modules
|
||||||
- Az: 11.6.0
|
- Az: 12.3.0
|
||||||
- MarkdownPS: 1.9
|
- MarkdownPS: 1.10
|
||||||
- Pester: 5.5.0
|
- Pester: 5.6.1
|
||||||
- PSScriptAnalyzer: 1.22.0
|
- PSScriptAnalyzer: 1.22.0
|
||||||
|
|
||||||
### Web Servers
|
### Web Servers
|
||||||
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
| Name | Version | ConfigFile | ServiceStatus | ListenPort |
|
||||||
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
| ----- | ------- | ------------------------------- | ------------- | ---------- |
|
||||||
| httpd | 2.4.59 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
| httpd | 2.4.62 | /usr/local/etc/httpd/httpd.conf | none | 80 |
|
||||||
| nginx | 1.25.5 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
| nginx | 1.27.1 | /usr/local/etc/nginx/nginx.conf | none | 80 |
|
||||||
|
|
||||||
### Xamarin
|
### Xamarin
|
||||||
|
|
||||||
@@ -210,7 +219,7 @@
|
|||||||
| Version | Build | Path |
|
| Version | Build | Path |
|
||||||
| -------------- | ----------- | ------------------------------------ |
|
| -------------- | ----------- | ------------------------------------ |
|
||||||
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
| 2019 | 8.10.25.2 | /Applications/Visual Studio 2019.app |
|
||||||
| 2022 (default) | 17.6.12.410 | /Applications/Visual Studio.app |
|
| 2022 (default) | 17.6.14.413 | /Applications/Visual Studio.app |
|
||||||
|
|
||||||
##### Notes
|
##### Notes
|
||||||
```
|
```
|
||||||
@@ -306,39 +315,39 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
|||||||
| DriverKit 22.2 | driverkit22.2 | 14.2 |
|
| DriverKit 22.2 | driverkit22.2 | 14.2 |
|
||||||
|
|
||||||
#### Installed Simulators
|
#### Installed Simulators
|
||||||
| OS | Xcode Version | Simulators |
|
| OS | Simulators |
|
||||||
| ----------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| iOS 15.0 | 13.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 15.0 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 15.2 | 13.2.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 15.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 15.4 | 13.3.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 15.4 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 15.5 | 13.4.1 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 15.5 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 16.0 | 14.0.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 16.0 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 16.1 | 14.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 16.1 | iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| iOS 16.2 | 14.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
| iOS 16.2 | iPod touch (7th generation)<br>iPhone 11<br>iPhone 11 Pro<br>iPhone 11 Pro Max<br>iPhone 12<br>iPhone 12 mini<br>iPhone 12 Pro<br>iPhone 12 Pro Max<br>iPhone 13<br>iPhone 13 mini<br>iPhone 13 Pro<br>iPhone 13 Pro Max<br>iPhone 14<br>iPhone 14 Plus<br>iPhone 14 Pro<br>iPhone 14 Pro Max<br>iPhone 8<br>iPhone 8 Plus<br>iPhone SE (2nd generation)<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad (9th generation)<br>iPad Air (4th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (3rd generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (5th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro (9.7-inch) |
|
||||||
| tvOS 15.0 | 13.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
| tvOS 15.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||||
| tvOS 15.2 | 13.2.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
| tvOS 15.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||||
| tvOS 15.4 | 13.3.1<br>13.4.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
| tvOS 15.4 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||||
| tvOS 16.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
| tvOS 16.0 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||||
| tvOS 16.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.2 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
| tvOS 16.1 | Apple TV<br>Apple TV 4K (2nd generation)<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p)<br>Apple TV 4K (at 1080p) (2nd generation) |
|
||||||
| watchOS 8.0 | 13.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
| watchOS 8.0 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||||
| watchOS 8.3 | 13.2.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
| watchOS 8.3 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||||
| watchOS 8.5 | 13.3.1<br>13.4.1 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
| watchOS 8.5 | Apple Watch Series 5 - 40mm<br>Apple Watch Series 5 - 44mm<br>Apple Watch Series 6 - 40mm<br>Apple Watch Series 6 - 44mm<br>Apple Watch Series 7 - 41mm<br>Apple Watch Series 7 - 45mm |
|
||||||
| watchOS 9.0 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.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 Ultra (49mm) |
|
| watchOS 9.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||||
| watchOS 9.1 | 13.1<br>13.2.1<br>13.3.1<br>13.4.1<br>14.0.1<br>14.1<br>14.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 Ultra (49mm) |
|
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
| Package Name | Version |
|
| Package Name | Version |
|
||||||
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Android Command Line Tools | 8.0 |
|
| Android Command Line Tools | 8.0 |
|
||||||
| Android Emulator | 34.2.13 |
|
| Android Emulator | 35.1.21 |
|
||||||
| Android SDK Build-tools | 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 Build-tools | 35.0.0<br>34.0.0<br>33.0.0 33.0.1 33.0.2 33.0.3<br>32.0.0<br>31.0.0 |
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
| Android SDK Platforms | android-35 (rev 1)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3)<br>android-32 (rev 1)<br>android-31 (rev 1) |
|
||||||
| Android SDK Platform-Tools | 35.0.1 |
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
| Android Support Repository | 47.0.0 |
|
| Android Support Repository | 47.0.0 |
|
||||||
| CMake | 3.18.1<br>3.22.1 |
|
| CMake | 3.18.1<br>3.22.1 |
|
||||||
| Google Play services | 49 |
|
| Google Play services | 49 |
|
||||||
| Google Repository | 58 |
|
| Google Repository | 58 |
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264 |
|
| NDK | 24.0.8215888<br>25.2.9519653 (default)<br>26.3.11579264<br>27.1.12297006 |
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -346,23 +355,24 @@ mv "/Applications/Visual Studio 2019.app" "/Applications/Visual Studio.app"
|
|||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||||
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.1.12297006 |
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/25.2.9519653 |
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
### Miscellaneous
|
### Miscellaneous
|
||||||
- libXext 1.3.6
|
- libXext 1.3.6
|
||||||
- libXft 2.3.8
|
- libXft 2.3.8
|
||||||
- Tcl/Tk 8.6.14
|
- Tcl/Tk 8.6.15
|
||||||
- Zlib 1.3.1
|
- Zlib 1.3.1
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
| ----------------- | ----------------------------------------------------------------------------------------- |
|
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||||
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v19/19.3.1-54941/ParallelsDesktop-19.3.1-54941.dmg |
|
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.0.1-55659/ParallelsDesktop-20.0.1-55659.dmg |
|
||||||
|
|
||||||
##### Notes
|
##### Notes
|
||||||
```
|
```
|
||||||
If you want to use Parallels Desktop you should download a package from URL stored in
|
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.
|
PARALLELS_DMG_URL environment variable. A system extension is allowed for this version.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
+153
-127
@@ -1,98 +1,105 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
# macOS 13
|
# macOS 13
|
||||||
- OS Version: macOS 13.6.6 (22G630)
|
- OS Version: macOS 13.7.2 (22H313)
|
||||||
- Kernel Version: Darwin 22.6.0
|
- Kernel Version: Darwin 22.6.0
|
||||||
- Image Version: 20240514.3
|
- Image Version: 20250113.572
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
|
|
||||||
### Language and Runtime
|
### Language and Runtime
|
||||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.409, 8.0.101, 8.0.204, 8.0.300
|
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404, 9.0.101
|
||||||
- Bash 3.2.57(1)-release
|
- Bash 3.2.57(1)-release
|
||||||
- Clang/LLVM 14.0.0
|
- Clang/LLVM 14.0.0
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
- Kotlin 1.9.24-release-822
|
- Kotlin 2.1.0-release-394
|
||||||
- Mono 6.12.0.188
|
- Mono 6.12.0.188
|
||||||
- Node.js 20.13.1
|
- Node.js 20.18.1
|
||||||
- Perl 5.38.2
|
- Perl 5.40.0
|
||||||
- PHP 8.3.7
|
- PHP 8.4.2
|
||||||
- Python3 3.12.3
|
- Python3 3.13.1
|
||||||
- Ruby 3.0.7p220
|
- Ruby 3.0.7p220
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
- Bundler 2.5.10
|
- Bundler 2.5.23
|
||||||
- Carthage 0.39.1
|
- Carthage 0.40.0
|
||||||
- CocoaPods 1.15.2
|
- CocoaPods 1.16.2
|
||||||
- Composer 2.7.6
|
- Composer 2.8.4
|
||||||
- Homebrew 4.3.0
|
- Homebrew 4.4.15
|
||||||
- NPM 10.5.2
|
- NPM 10.8.2
|
||||||
- NuGet 6.3.1.1
|
- NuGet 6.3.1.1
|
||||||
- Pip3 24.0 (python 3.12)
|
- Pip3 24.3.1 (python 3.13)
|
||||||
- Pipx 1.5.0
|
- Pipx 1.7.1
|
||||||
- RubyGems 3.5.10
|
- RubyGems 3.5.23
|
||||||
- Vcpkg 2024 (build from commit bd2b54836)
|
- Vcpkg 2024 (build from commit d7112d1a4)
|
||||||
- Yarn 1.22.19
|
- Yarn 1.22.22
|
||||||
|
|
||||||
### Project Management
|
### Project Management
|
||||||
- Apache Ant 1.10.14
|
- Apache Ant 1.10.15
|
||||||
- Apache Maven 3.9.6
|
- Apache Maven 3.9.9
|
||||||
- Gradle 8.7
|
- Gradle 8.12
|
||||||
|
|
||||||
### Utilities
|
### Utilities
|
||||||
- 7-Zip 17.05
|
- 7-Zip 17.05
|
||||||
- aria2 1.37.0
|
- aria2 1.37.0
|
||||||
- azcopy 10.24.0
|
- azcopy 10.27.1
|
||||||
- bazel 7.1.2
|
- bazel 8.0.0
|
||||||
- bazelisk 1.20.0
|
- bazelisk 1.25.0
|
||||||
- bsdtar 3.5.3 - available by 'tar' alias
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
- Curl 8.7.1
|
- Curl 8.11.1
|
||||||
- Git 2.45.1
|
- Git 2.48.0
|
||||||
- Git LFS 3.5.1
|
- Git LFS 3.6.0
|
||||||
- GitHub CLI 2.49.2
|
- GitHub CLI 2.65.0
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
- GNU Wget 1.24.5
|
- GNU Wget 1.25.0
|
||||||
- gpg (GnuPG) 2.4.5
|
- gpg (GnuPG) 2.4.7
|
||||||
- jq 1.7.1
|
- jq 1.7.1
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
- Packer 1.9.4
|
- Packer 1.11.2
|
||||||
- pkg-config 0.29.2
|
- pkgconf 2.3.0
|
||||||
- yq 4.44.1
|
- Unxip 3.1
|
||||||
|
- yq 4.45.1
|
||||||
- zstd 1.5.6
|
- zstd 1.5.6
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
- AWS CLI 2.15.50
|
- AWS CLI 2.22.33
|
||||||
- AWS SAM CLI 1.116.0
|
- AWS SAM CLI 1.132.0
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
- Azure CLI 2.60.0
|
- Azure CLI 2.67.0
|
||||||
- Azure CLI (azure-devops) 1.0.0
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
- Bicep CLI 0.27.1
|
- Bicep CLI 0.32.4
|
||||||
- Cmake 3.29.3
|
- Cmake 3.31.4
|
||||||
- CodeQL Action Bundle 2.17.2
|
- CodeQL Action Bundle 2.20.1
|
||||||
- Fastlane 2.220.0
|
- Fastlane 2.226.0
|
||||||
- SwiftFormat 0.53.9
|
- SwiftFormat 0.55.4
|
||||||
- Xcbeautify 2.3.1
|
- Xcbeautify 2.17.0
|
||||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||||
- Xcodes 1.4.1
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
### Linters
|
### Linters
|
||||||
- SwiftLint 0.53.0
|
- SwiftLint 0.58.0
|
||||||
|
|
||||||
### Browsers
|
### Browsers
|
||||||
- Safari 17.4.1 (18618.1.15.111.8)
|
- Safari 18.2 (18620.1.16.111.6)
|
||||||
- SafariDriver 17.4.1 (18618.1.15.111.8)
|
- SafariDriver 18.2 (18620.1.16.111.6)
|
||||||
- Google Chrome 124.0.6367.208
|
- Google Chrome 131.0.6778.265
|
||||||
- Google Chrome for Testing 124.0.6367.207
|
- Google Chrome for Testing 131.0.6778.264
|
||||||
- ChromeDriver 124.0.6367.207
|
- ChromeDriver 131.0.6778.264
|
||||||
- Microsoft Edge 124.0.2478.105
|
- Microsoft Edge 131.0.2903.147
|
||||||
- Microsoft Edge WebDriver 124.0.2478.105
|
- Microsoft Edge WebDriver 131.0.2903.112
|
||||||
- Mozilla Firefox 126.0
|
- Mozilla Firefox 134.0
|
||||||
- geckodriver 0.34.0
|
- geckodriver 0.35.0
|
||||||
- Selenium server 4.20.0
|
- Selenium server 4.27.0
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -102,70 +109,74 @@
|
|||||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
| Version | Environment Variable |
|
| Version | Environment Variable |
|
||||||
| ------------------- | -------------------- |
|
| -------------------- | -------------------- |
|
||||||
| 8.0.412+8 | JAVA_HOME_8_X64 |
|
| 8.0.432+6 | JAVA_HOME_8_X64 |
|
||||||
| 11.0.23+9 | JAVA_HOME_11_X64 |
|
| 11.0.25+9 | JAVA_HOME_11_X64 |
|
||||||
| 17.0.11+9 (default) | JAVA_HOME_17_X64 |
|
| 17.0.13+11 (default) | JAVA_HOME_17_X64 |
|
||||||
| 21.0.3+9.0 | JAVA_HOME_21_X64 |
|
| 21.0.5+11.0 | JAVA_HOME_21_X64 |
|
||||||
|
|
||||||
### Cached Tools
|
### Cached Tools
|
||||||
|
|
||||||
#### PyPy
|
#### PyPy
|
||||||
- 2.7.18 [PyPy 7.3.16]
|
- 2.7.18 [PyPy 7.3.17]
|
||||||
- 3.7.13 [PyPy 7.3.9]
|
- 3.7.13 [PyPy 7.3.9]
|
||||||
- 3.8.16 [PyPy 7.3.11]
|
- 3.8.16 [PyPy 7.3.11]
|
||||||
- 3.9.19 [PyPy 7.3.16]
|
- 3.9.19 [PyPy 7.3.16]
|
||||||
- 3.10.14 [PyPy 7.3.16]
|
- 3.10.14 [PyPy 7.3.17]
|
||||||
|
|
||||||
#### Ruby
|
#### Ruby
|
||||||
- 3.0.7
|
- 3.0.7
|
||||||
- 3.1.5
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.6
|
||||||
|
- 3.4.1
|
||||||
|
|
||||||
#### Python
|
#### Python
|
||||||
- 3.8.18
|
- 3.8.18
|
||||||
- 3.9.19
|
- 3.9.21
|
||||||
- 3.10.14
|
- 3.10.16
|
||||||
- 3.11.9
|
- 3.11.9
|
||||||
- 3.12.3
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 16.20.2
|
- 18.20.5
|
||||||
- 18.20.2
|
- 20.18.1
|
||||||
- 20.13.1
|
- 22.13.0
|
||||||
|
|
||||||
#### Go
|
#### Go
|
||||||
- 1.20.14
|
- 1.21.13
|
||||||
- 1.21.10
|
- 1.22.10
|
||||||
- 1.22.3
|
- 1.23.4
|
||||||
|
|
||||||
### Rust Tools
|
### Rust Tools
|
||||||
- Cargo 1.78.0
|
- Cargo 1.84.0
|
||||||
- Rust 1.78.0
|
- Rust 1.84.0
|
||||||
- Rustdoc 1.78.0
|
- Rustdoc 1.84.0
|
||||||
- Rustup 1.27.1
|
- Rustup 1.27.1
|
||||||
|
|
||||||
#### Packages
|
#### Packages
|
||||||
- Clippy 0.1.78
|
- Clippy 0.1.84
|
||||||
- Rustfmt 1.7.0-stable
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
### PowerShell Tools
|
### PowerShell Tools
|
||||||
- PowerShell 7.4.2
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
#### PowerShell Modules
|
#### PowerShell Modules
|
||||||
- Az: 11.6.0
|
- Az: 12.4.0
|
||||||
- Pester: 5.5.0
|
- Pester: 5.7.1
|
||||||
- PSScriptAnalyzer: 1.22.0
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
### Xcode
|
### Xcode
|
||||||
| Version | Build | Path |
|
| Version | Build | Path | Symlinks |
|
||||||
| ---------------- | ------- | ------------------------------ |
|
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
|
||||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
| 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 |
|
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.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 |
|
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
|
||||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app |
|
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
|
||||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
|
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
|
||||||
|
|
||||||
#### Installed SDKs
|
#### Installed SDKs
|
||||||
| SDK | SDK Name | Xcode Version |
|
| SDK | SDK Name | Xcode Version |
|
||||||
@@ -201,8 +212,8 @@
|
|||||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
||||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
|
||||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
| 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 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 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 |
|
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
||||||
@@ -213,35 +224,35 @@
|
|||||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||||
|
|
||||||
#### Installed Simulators
|
#### Installed Simulators
|
||||||
| OS | Xcode Version | Simulators |
|
| OS | Simulators |
|
||||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| iOS 16.1 | 14.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.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 | 14.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.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 | 14.3.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.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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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 Ultra (49mm) |
|
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||||
| watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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
|
### Android
|
||||||
| Package Name | Version |
|
| Package Name | Version |
|
||||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Android Command Line Tools | 11.0 |
|
| Android Command Line Tools | 11.0 |
|
||||||
| Android Emulator | 34.2.13 |
|
| Android Emulator | 35.3.11 |
|
||||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext11 (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 Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||||
| Android SDK Platform-Tools | 35.0.1 |
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
| Android Support Repository | 47.0.0 |
|
| Android Support Repository | 47.0.0 |
|
||||||
| CMake | 3.22.1 |
|
| CMake | 3.31.0 |
|
||||||
| Google Play services | 49 |
|
| Google Play services | 49 |
|
||||||
| Google Repository | 58 |
|
| Google Repository | 58 |
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
|
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -249,6 +260,21 @@
|
|||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| 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_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
|
### Miscellaneous
|
||||||
|
- Tcl/Tk 8.6.16
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
| Name | Value |
|
||||||
|
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.2.0-55872/ParallelsDesktop-20.2.0-55872.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.
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,90 +1,97 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
# macOS 13
|
# macOS 13
|
||||||
- OS Version: macOS 13.6.6 (22G630)
|
- OS Version: macOS 13.7.2 (22H313)
|
||||||
- Kernel Version: Darwin 22.6.0
|
- Kernel Version: Darwin 22.6.0
|
||||||
- Image Version: 20240514.3
|
- Image Version: 20250113.628
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
|
|
||||||
### Language and Runtime
|
### Language and Runtime
|
||||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.409, 8.0.101, 8.0.204, 8.0.300
|
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404, 9.0.101
|
||||||
- Bash 3.2.57(1)-release
|
- Bash 3.2.57(1)-release
|
||||||
- Clang/LLVM 14.0.0
|
- Clang/LLVM 14.0.0
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
- Kotlin 1.9.24-release-822
|
- Kotlin 2.1.0-release-394
|
||||||
- Mono 6.12.0.188
|
- Mono 6.12.0.188
|
||||||
- Node.js 20.13.1
|
- Node.js 20.18.1
|
||||||
- Perl 5.38.2
|
- Perl 5.40.0
|
||||||
- Python3 3.12.3
|
- Python3 3.13.1
|
||||||
- Ruby 3.0.7p220
|
- Ruby 3.0.7p220
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
- Bundler 2.5.10
|
- Bundler 2.5.23
|
||||||
- Carthage 0.39.1
|
- Carthage 0.40.0
|
||||||
- CocoaPods 1.15.2
|
- CocoaPods 1.16.2
|
||||||
- Homebrew 4.3.0
|
- Homebrew 4.4.15
|
||||||
- NPM 10.5.2
|
- NPM 10.8.2
|
||||||
- NuGet 6.3.1.1
|
- NuGet 6.3.1.1
|
||||||
- Pip3 24.0 (python 3.12)
|
- Pip3 24.3.1 (python 3.13)
|
||||||
- Pipx 1.5.0
|
- Pipx 1.7.1
|
||||||
- RubyGems 3.5.10
|
- RubyGems 3.5.23
|
||||||
- Yarn 1.22.19
|
- Yarn 1.22.22
|
||||||
|
|
||||||
### Project Management
|
### Project Management
|
||||||
- Apache Ant 1.10.14
|
- Apache Ant 1.10.15
|
||||||
- Apache Maven 3.9.6
|
- Apache Maven 3.9.9
|
||||||
- Gradle 8.7
|
- Gradle 8.12
|
||||||
|
|
||||||
### Utilities
|
### Utilities
|
||||||
- 7-Zip 17.05
|
- 7-Zip 17.05
|
||||||
- aria2 1.37.0
|
- aria2 1.37.0
|
||||||
- azcopy 10.24.0
|
- azcopy 10.27.1
|
||||||
- bazel 7.1.2
|
- bazel 8.0.0
|
||||||
- bazelisk 1.20.0
|
- bazelisk 1.25.0
|
||||||
- bsdtar 3.5.3 - available by 'tar' alias
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
- Curl 8.4.0
|
- Curl 8.7.1
|
||||||
- Git 2.45.1
|
- Git 2.48.0
|
||||||
- Git LFS 3.5.1
|
- Git LFS 3.6.0
|
||||||
- GitHub CLI 2.49.2
|
- GitHub CLI 2.65.0
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
- GNU Wget 1.24.5
|
- GNU Wget 1.25.0
|
||||||
- gpg (GnuPG) 2.4.5
|
- gpg (GnuPG) 2.4.7
|
||||||
- jq 1.7.1
|
- jq 1.7.1
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
- Packer 1.9.4
|
- Packer 1.11.2
|
||||||
- pkg-config 0.29.2
|
- pkgconf 2.3.0
|
||||||
- yq 4.44.1
|
- Unxip 3.1
|
||||||
|
- yq 4.45.1
|
||||||
- zstd 1.5.6
|
- zstd 1.5.6
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
- AWS CLI 2.15.50
|
- AWS CLI 2.22.33
|
||||||
- AWS SAM CLI 1.116.0
|
- AWS SAM CLI 1.132.0
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
- Azure CLI 2.60.0
|
- Azure CLI 2.67.0
|
||||||
- Azure CLI (azure-devops) 1.0.0
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
- Bicep CLI 0.27.1
|
- Bicep CLI 0.32.4
|
||||||
- Cmake 3.29.3
|
- Cmake 3.31.4
|
||||||
- CodeQL Action Bundle 2.17.2
|
- CodeQL Action Bundle 2.20.1
|
||||||
- Fastlane 2.220.0
|
- Fastlane 2.226.0
|
||||||
- SwiftFormat 0.53.9
|
- SwiftFormat 0.55.4
|
||||||
- Xcbeautify 2.3.1
|
- Xcbeautify 2.17.0
|
||||||
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
- Xcode Command Line Tools 14.3.1.0.1.1683849156
|
||||||
- Xcodes 1.4.1
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
### Linters
|
### Linters
|
||||||
|
|
||||||
### Browsers
|
### Browsers
|
||||||
- Safari 17.4.1 (18618.1.15.111.8)
|
- Safari 18.2 (18620.1.16.111.6)
|
||||||
- SafariDriver 17.4.1 (18618.1.15.111.8)
|
- SafariDriver 18.2 (18620.1.16.111.6)
|
||||||
- Google Chrome 124.0.6367.208
|
- Google Chrome 131.0.6778.265
|
||||||
- Google Chrome for Testing 124.0.6367.207
|
- Google Chrome for Testing 131.0.6778.264
|
||||||
- ChromeDriver 124.0.6367.207
|
- ChromeDriver 131.0.6778.264
|
||||||
- Selenium server 4.20.0
|
- Selenium server 4.27.0
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -94,57 +101,63 @@
|
|||||||
| GECKOWEBDRIVER | |
|
| GECKOWEBDRIVER | |
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
| Version | Environment Variable |
|
| Version | Environment Variable |
|
||||||
| ------------------- | -------------------- |
|
| -------------------- | -------------------- |
|
||||||
| 11.0.23+9 | JAVA_HOME_11_arm64 |
|
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||||
| 17.0.11+9 (default) | JAVA_HOME_17_arm64 |
|
| 17.0.13+11 (default) | JAVA_HOME_17_arm64 |
|
||||||
| 21.0.3+9.0 | JAVA_HOME_21_arm64 |
|
| 21.0.5+11.0 | JAVA_HOME_21_arm64 |
|
||||||
|
|
||||||
### Cached Tools
|
### Cached Tools
|
||||||
|
|
||||||
|
#### Ruby
|
||||||
|
- 3.0.7
|
||||||
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.6
|
||||||
|
- 3.4.1
|
||||||
|
|
||||||
#### Python
|
#### Python
|
||||||
- 3.9.13
|
|
||||||
- 3.10.11
|
|
||||||
- 3.11.9
|
- 3.11.9
|
||||||
- 3.12.3
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 16.20.1
|
- 18.20.5
|
||||||
- 18.20.2
|
- 20.18.1
|
||||||
- 20.13.1
|
- 22.13.0
|
||||||
|
|
||||||
#### Go
|
#### Go
|
||||||
- 1.20.14
|
- 1.21.13
|
||||||
- 1.21.10
|
- 1.22.10
|
||||||
- 1.22.3
|
- 1.23.4
|
||||||
|
|
||||||
### Rust Tools
|
### Rust Tools
|
||||||
- Cargo 1.78.0
|
- Cargo 1.84.0
|
||||||
- Rust 1.78.0
|
- Rust 1.84.0
|
||||||
- Rustdoc 1.78.0
|
- Rustdoc 1.84.0
|
||||||
- Rustup 1.27.1
|
- Rustup 1.27.1
|
||||||
|
|
||||||
#### Packages
|
#### Packages
|
||||||
- Clippy 0.1.78
|
- Clippy 0.1.84
|
||||||
- Rustfmt 1.7.0-stable
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
### PowerShell Tools
|
### PowerShell Tools
|
||||||
- PowerShell 7.4.2
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
#### PowerShell Modules
|
#### PowerShell Modules
|
||||||
- Az: 11.6.0
|
- Az: 12.4.0
|
||||||
- Pester: 5.5.0
|
- Pester: 5.7.1
|
||||||
- PSScriptAnalyzer: 1.22.0
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
### Xcode
|
### Xcode
|
||||||
| Version | Build | Path |
|
| Version | Build | Path | Symlinks |
|
||||||
| ---------------- | ------- | ------------------------------ |
|
| -------------- | ------- | ------------------------------ | --------------------------------------------------------- |
|
||||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
| 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 |
|
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.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 |
|
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app | /Applications/Xcode_14.3.app |
|
||||||
| 14.2 | 14C18 | /Applications/Xcode_14.2.app |
|
| 14.2 | 14C18 | /Applications/Xcode_14.2.app | /Applications/Xcode_14.2.0.app |
|
||||||
| 14.1 | 14B47b | /Applications/Xcode_14.1.app |
|
| 14.1 | 14B47b | /Applications/Xcode_14.1.app | /Applications/Xcode_14.1.0.app |
|
||||||
|
|
||||||
#### Installed SDKs
|
#### Installed SDKs
|
||||||
| SDK | SDK Name | Xcode Version |
|
| SDK | SDK Name | Xcode Version |
|
||||||
@@ -192,36 +205,36 @@
|
|||||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||||
|
|
||||||
#### Installed Simulators
|
#### Installed Simulators
|
||||||
| OS | Xcode Version | Simulators |
|
| OS | Simulators |
|
||||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| iOS 16.1 | 14.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.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 | 14.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.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 | 14.3.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.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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 16.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 16.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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 Ultra (49mm) |
|
| watchOS 9.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 8 (41mm)<br>Apple Watch Series 8 (45mm)<br>Apple Watch Ultra (49mm) |
|
||||||
| watchOS 9.4 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.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) |
|
| 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 | 14.1<br>14.2<br>14.3.1<br>15.0.1<br>15.1<br>15.2 | Apple Vision Pro |
|
| visionOS 1.0 | Apple Vision Pro |
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
| Package Name | Version |
|
| Package Name | Version |
|
||||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Android Command Line Tools | 11.0 |
|
| Android Command Line Tools | 11.0 |
|
||||||
| Android Emulator | 34.2.13 |
|
| Android Emulator | 35.3.11 |
|
||||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext11 (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 Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||||
| Android SDK Platform-Tools | 35.0.1 |
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
| Android Support Repository | 47.0.0 |
|
| Android Support Repository | 47.0.0 |
|
||||||
| CMake | 3.22.1 |
|
| CMake | 3.31.0 |
|
||||||
| Google Play services | 49 |
|
| Google Play services | 49 |
|
||||||
| Google Repository | 58 |
|
| Google Repository | 58 |
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
|
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -229,6 +242,10 @@
|
|||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| 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_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
|
### Miscellaneous
|
||||||
|
- Tcl/Tk 8.6.16
|
||||||
|
|
||||||
|
|||||||
+214
-178
@@ -1,97 +1,104 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS 14] Xcode 16.0 will be replaced by Xcode 16.2 in macOS-14 images on January 6, 2025](https://github.com/actions/runner-images/issues/11203) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
# macOS 14
|
# macOS 14
|
||||||
- OS Version: macOS 14.4.1 (23E224)
|
- OS Version: macOS 14.7.2 (23H311)
|
||||||
- Kernel Version: Darwin 23.4.0
|
- Kernel Version: Darwin 23.6.0
|
||||||
- Image Version: 20240514.3
|
- Image Version: 20250106.587
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
|
|
||||||
### Language and Runtime
|
### Language and Runtime
|
||||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.409, 8.0.101, 8.0.204, 8.0.300
|
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404
|
||||||
- Bash 3.2.57(1)-release
|
- Bash 3.2.57(1)-release
|
||||||
- Clang/LLVM 14.0.3
|
- Clang/LLVM 15.0.0
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
- GCC 13 (Homebrew GCC 13.2.0) - available by `gcc-13` alias
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
- GNU Fortran 13 (Homebrew GCC 13.2.0) - available by `gfortran-13` alias
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
- Kotlin 1.9.24-release-822
|
- Kotlin 2.1.0-release-394
|
||||||
- Mono 6.12.0.188
|
- Mono 6.12.0.188
|
||||||
- Node.js 20.13.1
|
- Node.js 20.18.1
|
||||||
- Perl 5.38.2
|
- Perl 5.40.0
|
||||||
- PHP 8.3.7
|
- PHP 8.4.2
|
||||||
- Python3 3.12.3
|
- Python3 3.13.1
|
||||||
- Ruby 3.0.7p220
|
- Ruby 3.0.7p220
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
- Bundler 2.5.10
|
- Bundler 2.5.23
|
||||||
- Carthage 0.39.1
|
- Carthage 0.40.0
|
||||||
- CocoaPods 1.15.2
|
- CocoaPods 1.16.2
|
||||||
- Composer 2.7.6
|
- Composer 2.8.4
|
||||||
- Homebrew 4.3.0
|
- Homebrew 4.4.15
|
||||||
- NPM 10.5.2
|
- NPM 10.8.2
|
||||||
- NuGet 6.3.1.1
|
- NuGet 6.3.1.1
|
||||||
- Pip3 24.0 (python 3.12)
|
- Pip3 24.3.1 (python 3.13)
|
||||||
- Pipx 1.5.0
|
- Pipx 1.7.1
|
||||||
- RubyGems 3.5.10
|
- RubyGems 3.5.23
|
||||||
- Yarn 1.22.19
|
- Yarn 1.22.22
|
||||||
|
|
||||||
### Project Management
|
### Project Management
|
||||||
- Apache Ant 1.10.14
|
- Apache Ant 1.10.15
|
||||||
- Apache Maven 3.9.6
|
- Apache Maven 3.9.9
|
||||||
- Gradle 8.7
|
- Gradle 8.12
|
||||||
|
|
||||||
### Utilities
|
### Utilities
|
||||||
- 7-Zip 17.05
|
- 7-Zip 17.05
|
||||||
- aria2 1.37.0
|
- aria2 1.37.0
|
||||||
- azcopy 10.24.0
|
- azcopy 10.27.1
|
||||||
- bazel 7.1.2
|
- bazel 8.0.0
|
||||||
- bazelisk 1.20.0
|
- bazelisk 1.25.0
|
||||||
- bsdtar 3.5.3 - available by 'tar' alias
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
- Curl 8.7.1
|
- Curl 8.11.1
|
||||||
- Git 2.45.1
|
- Git 2.47.1
|
||||||
- Git LFS 3.5.1
|
- Git LFS 3.6.0
|
||||||
- GitHub CLI 2.49.2
|
- GitHub CLI 2.64.0
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
- GNU Wget 1.24.5
|
- GNU Wget 1.25.0
|
||||||
- gpg (GnuPG) 2.4.5
|
- gpg (GnuPG) 2.4.7
|
||||||
- jq 1.7.1
|
- jq 1.7.1
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
- Packer 1.9.4
|
- Packer 1.11.2
|
||||||
- pkg-config 0.29.2
|
- pkgconf 2.3.0
|
||||||
- yq 4.44.1
|
- Unxip 3.1
|
||||||
|
- yq 4.44.6
|
||||||
- zstd 1.5.6
|
- zstd 1.5.6
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
- AWS CLI 2.15.50
|
- AWS CLI 2.22.28
|
||||||
- AWS SAM CLI 1.116.0
|
- AWS SAM CLI 1.132.0
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
- Azure CLI 2.60.0
|
- Azure CLI 2.67.0
|
||||||
- Azure CLI (azure-devops) 1.0.0
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
- Bicep CLI 0.27.1
|
- Bicep CLI 0.32.4
|
||||||
- Cmake 3.29.3
|
- Cmake 3.31.3
|
||||||
- CodeQL Action Bundle 2.17.2
|
- CodeQL Action Bundle 2.20.0
|
||||||
- Fastlane 2.220.0
|
- Fastlane 2.226.0
|
||||||
- SwiftFormat 0.53.9
|
- SwiftFormat 0.55.4
|
||||||
- Xcbeautify 2.3.1
|
- Xcbeautify 2.17.0
|
||||||
- Xcode Command Line Tools 15.3.0.0.1.1708646388
|
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||||
- Xcodes 1.4.1
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
### Linters
|
### Linters
|
||||||
- SwiftLint 0.53.0
|
- SwiftLint 0.57.1
|
||||||
|
|
||||||
### Browsers
|
### Browsers
|
||||||
- Safari 17.4.1 (19618.1.15.11.14)
|
- Safari 18.2 (19620.1.16.111.6)
|
||||||
- SafariDriver 17.4.1 (19618.1.15.11.14)
|
- SafariDriver 18.2 (19620.1.16.111.6)
|
||||||
- Google Chrome 124.0.6367.208
|
- Google Chrome 131.0.6778.205
|
||||||
- Google Chrome for Testing 124.0.6367.207
|
- Google Chrome for Testing 131.0.6778.204
|
||||||
- ChromeDriver 124.0.6367.207
|
- ChromeDriver 131.0.6778.204
|
||||||
- Microsoft Edge 124.0.2478.105
|
- Microsoft Edge 131.0.2903.112
|
||||||
- Microsoft Edge WebDriver 124.0.2478.97
|
- Microsoft Edge WebDriver 131.0.2903.112
|
||||||
- Mozilla Firefox 126.0
|
- Mozilla Firefox 133.0.3
|
||||||
- geckodriver 0.34.0
|
- geckodriver 0.35.0
|
||||||
- Selenium server 4.20.0
|
- Selenium server 4.27.0
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -101,147 +108,161 @@
|
|||||||
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
| GECKOWEBDRIVER | /usr/local/opt/geckodriver/bin |
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
| Version | Environment Variable |
|
| Version | Environment Variable |
|
||||||
| -------------------- | -------------------- |
|
| --------------------- | -------------------- |
|
||||||
| 8.0.412+8 | JAVA_HOME_8_X64 |
|
| 8.0.432+6 | JAVA_HOME_8_X64 |
|
||||||
| 11.0.23+9 | JAVA_HOME_11_X64 |
|
| 11.0.25+9 | JAVA_HOME_11_X64 |
|
||||||
| 17.0.11+9 | JAVA_HOME_17_X64 |
|
| 17.0.13+11 | JAVA_HOME_17_X64 |
|
||||||
| 21.0.3+9.0 (default) | JAVA_HOME_21_X64 |
|
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
|
||||||
|
|
||||||
### Cached Tools
|
### Cached Tools
|
||||||
|
|
||||||
#### Ruby
|
#### Ruby
|
||||||
- 3.0.7
|
- 3.0.7
|
||||||
- 3.1.5
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.6
|
||||||
|
|
||||||
#### Python
|
#### Python
|
||||||
- 3.9.19
|
- 3.9.21
|
||||||
- 3.10.14
|
- 3.10.16
|
||||||
- 3.11.9
|
- 3.11.9
|
||||||
- 3.12.3
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 18.20.2
|
- 18.20.5
|
||||||
- 20.13.1
|
- 20.18.1
|
||||||
|
- 22.12.0
|
||||||
|
|
||||||
#### Go
|
#### Go
|
||||||
- 1.20.14
|
- 1.21.13
|
||||||
- 1.21.10
|
- 1.22.10
|
||||||
- 1.22.3
|
- 1.23.4
|
||||||
|
|
||||||
### Rust Tools
|
### Rust Tools
|
||||||
- Cargo 1.78.0
|
- Cargo 1.83.0
|
||||||
- Rust 1.78.0
|
- Rust 1.83.0
|
||||||
- Rustdoc 1.78.0
|
- Rustdoc 1.83.0
|
||||||
- Rustup 1.27.1
|
- Rustup 1.27.1
|
||||||
|
|
||||||
#### Packages
|
#### Packages
|
||||||
- Clippy 0.1.78
|
- Clippy 0.1.83
|
||||||
- Rustfmt 1.7.0-stable
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
### PowerShell Tools
|
### PowerShell Tools
|
||||||
- PowerShell 7.4.2
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
#### PowerShell Modules
|
#### PowerShell Modules
|
||||||
- Az: 11.6.0
|
- Az: 12.4.0
|
||||||
- Pester: 5.5.0
|
- Pester: 5.6.1
|
||||||
- PSScriptAnalyzer: 1.22.0
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
### Xcode
|
### Xcode
|
||||||
| Version | Build | Path |
|
| Version | Build | Path | Symlinks |
|
||||||
| ---------------- | ------- | ------------------------------ |
|
| -------------- | -------- | ------------------------------ | --------------------------------------------------------- |
|
||||||
| 15.4 | 15F31c | /Applications/Xcode_15.4.app |
|
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||||
| 15.3 | 15E204a | /Applications/Xcode_15.3.app |
|
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
|
||||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
|
||||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app |
|
||||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||||
|
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||||
|
|
||||||
#### Installed SDKs
|
#### Installed SDKs
|
||||||
| SDK | SDK Name | Xcode Version |
|
| SDK | SDK Name | Xcode Version |
|
||||||
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
|
| ------------------------ | -------------------- | ------------- |
|
||||||
| macOS 13.3 | macosx13.3 | 14.3.1 |
|
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
| macOS 14.4 | macosx14.4 | 15.3 |
|
||||||
| macOS 14.4 | macosx14.4 | 15.3 |
|
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||||
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
|
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||||
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
||||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||||
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
|
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||||
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
||||||
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
|
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||||
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||||
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
|
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
||||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||||
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||||
| watchOS 9.4 | watchos9.4 | 14.3.1 |
|
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
||||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||||
| watchOS 10.4 | watchos10.4 | 15.3 |
|
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
| watchOS 10.4 | watchos10.4 | 15.3 |
|
||||||
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||||
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||||
| visionOS 1.1 | xros1.1 | 15.3 |
|
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
||||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
|
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
|
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||||
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
|
| visionOS 1.1 | xros1.1 | 15.3 |
|
||||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
||||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||||
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||||
|
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||||
|
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||||
|
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||||
|
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||||
|
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||||
|
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
||||||
|
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||||
|
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||||
|
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||||
|
|
||||||
#### Installed Simulators
|
#### Installed Simulators
|
||||||
| OS | Xcode Version | Simulators |
|
| OS | Simulators |
|
||||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| iOS 16.4 | 14.3.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 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||||
| iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 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 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| iOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| iOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 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 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
| Package Name | Version |
|
| Package Name | Version |
|
||||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Android Command Line Tools | 11.0 |
|
| Android Command Line Tools | 11.0 |
|
||||||
| Android Emulator | 34.2.13 |
|
| Android Emulator | 35.2.10 |
|
||||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext11 (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 Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||||
| Android SDK Platform-Tools | 35.0.1 |
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
| Android Support Repository | 47.0.0 |
|
| Android Support Repository | 47.0.0 |
|
||||||
| CMake | 3.22.1 |
|
| CMake | 3.31.0 |
|
||||||
| Google Play services | 49 |
|
| Google Play services | 49 |
|
||||||
| Google Repository | 58 |
|
| Google Repository | 58 |
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
|
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -249,6 +270,21 @@
|
|||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| 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_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
|
### Miscellaneous
|
||||||
|
- Tcl/Tk 8.6.16
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
| Name | Value |
|
||||||
|
| ----------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| PARALLELS_DMG_URL | https://download.parallels.com/desktop/v20/20.1.3-55743/ParallelsDesktop-20.1.3-55743.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.
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,90 +1,97 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
# macOS 14
|
# macOS 14
|
||||||
- OS Version: macOS 14.5 (23F79)
|
- OS Version: macOS 14.7.2 (23H311)
|
||||||
- Kernel Version: Darwin 23.5.0
|
- Kernel Version: Darwin 23.6.0
|
||||||
- Image Version: 20240526.2
|
- Image Version: 20250113.751
|
||||||
|
|
||||||
## Installed Software
|
## Installed Software
|
||||||
|
|
||||||
### Language and Runtime
|
### Language and Runtime
|
||||||
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.409, 8.0.101, 8.0.204, 8.0.300
|
- .NET Core SDK: 7.0.102, 7.0.202, 7.0.306, 7.0.410, 8.0.101, 8.0.204, 8.0.303, 8.0.404, 9.0.101
|
||||||
- Bash 3.2.57(1)-release
|
- Bash 3.2.57(1)-release
|
||||||
- Clang/LLVM 14.0.3
|
- Clang/LLVM 15.0.0
|
||||||
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
- Clang/LLVM (Homebrew) 15.0.7 - available on `$(brew --prefix llvm@15)/bin/clang`
|
||||||
- GCC 11 (Homebrew GCC 11.4.0) - available by `gcc-11` alias
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
- GCC 12 (Homebrew GCC 12.3.0) - available by `gcc-12` alias
|
|
||||||
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
- GNU Fortran 11 (Homebrew GCC 11.4.0) - available by `gfortran-11` alias
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
- GNU Fortran 12 (Homebrew GCC 12.3.0) - available by `gfortran-12` alias
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
- Kotlin 2.0.0-release-341
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
|
- Kotlin 2.1.0-release-394
|
||||||
- Mono 6.12.0.188
|
- Mono 6.12.0.188
|
||||||
- Node.js 20.13.1
|
- Node.js 20.18.1
|
||||||
- Perl 5.38.2
|
- Perl 5.40.0
|
||||||
- Python3 3.12.3
|
- Python3 3.13.1
|
||||||
- Ruby 3.0.7p220
|
- Ruby 3.0.7p220
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
- Bundler 2.5.10
|
- Bundler 2.5.23
|
||||||
- Carthage 0.39.1
|
- Carthage 0.40.0
|
||||||
- CocoaPods 1.15.2
|
- CocoaPods 1.16.2
|
||||||
- Homebrew 4.3.1
|
- Homebrew 4.4.15
|
||||||
- NPM 10.5.2
|
- NPM 10.8.2
|
||||||
- NuGet 6.3.1.1
|
- NuGet 6.3.1.1
|
||||||
- Pip3 24.0 (python 3.12)
|
- Pip3 24.3.1 (python 3.13)
|
||||||
- Pipx 1.5.0
|
- Pipx 1.7.1
|
||||||
- RubyGems 3.5.10
|
- RubyGems 3.5.23
|
||||||
- Yarn 1.22.22
|
- Yarn 1.22.22
|
||||||
|
|
||||||
### Project Management
|
### Project Management
|
||||||
- Apache Ant 1.10.14
|
- Apache Ant 1.10.15
|
||||||
- Apache Maven 3.9.7
|
- Apache Maven 3.9.9
|
||||||
- Gradle 8.7
|
- Gradle 8.12
|
||||||
|
|
||||||
### Utilities
|
### Utilities
|
||||||
- 7-Zip 17.05
|
- 7-Zip 17.05
|
||||||
- aria2 1.37.0
|
- aria2 1.37.0
|
||||||
- azcopy 10.24.0
|
- azcopy 10.27.1
|
||||||
- bazel 7.1.2
|
- bazel 8.0.0
|
||||||
- bazelisk 1.20.0
|
- bazelisk 1.25.0
|
||||||
- bsdtar 3.5.3 - available by 'tar' alias
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
- Curl 8.6.0
|
- Curl 8.7.1
|
||||||
- Git 2.45.1
|
- Git 2.48.0
|
||||||
- Git LFS 3.5.1
|
- Git LFS 3.6.0
|
||||||
- GitHub CLI 2.49.2
|
- GitHub CLI 2.65.0
|
||||||
- GNU Tar 1.35 - available by 'gtar' alias
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
- GNU Wget 1.24.5
|
- GNU Wget 1.25.0
|
||||||
- gpg (GnuPG) 2.4.5
|
- gpg (GnuPG) 2.4.7
|
||||||
- jq 1.7.1
|
- jq 1.7.1
|
||||||
- OpenSSL 1.1.1w 11 Sep 2023
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
- Packer 1.9.4
|
- Packer 1.11.2
|
||||||
- pkg-config 0.29.2
|
- pkgconf 2.3.0
|
||||||
- yq 4.44.1
|
- Unxip 3.1
|
||||||
|
- yq 4.45.1
|
||||||
- zstd 1.5.6
|
- zstd 1.5.6
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
- AWS CLI 2.15.58
|
- AWS CLI 2.22.33
|
||||||
- AWS SAM CLI 1.117.0
|
- AWS SAM CLI 1.132.0
|
||||||
- AWS Session Manager CLI 1.2.553.0
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
- Azure CLI 2.61.0
|
- Azure CLI 2.67.0
|
||||||
- Azure CLI (azure-devops) 1.0.1
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
- Bicep CLI 0.27.1
|
- Bicep CLI 0.32.4
|
||||||
- Cmake 3.29.3
|
- Cmake 3.31.4
|
||||||
- CodeQL Action Bundle 2.17.3
|
- CodeQL Action Bundle 2.20.1
|
||||||
- Fastlane 2.220.0
|
- Fastlane 2.226.0
|
||||||
- SwiftFormat 0.53.10
|
- SwiftFormat 0.55.4
|
||||||
- Xcbeautify 2.3.1
|
- Xcbeautify 2.17.0
|
||||||
- Xcode Command Line Tools 15.3.0.0.1.1708646388
|
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||||
- Xcodes 1.4.1
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
### Linters
|
### Linters
|
||||||
|
|
||||||
### Browsers
|
### Browsers
|
||||||
- Safari 17.5 (19618.2.12.11.6)
|
- Safari 18.2 (19620.1.16.111.6)
|
||||||
- SafariDriver 17.5 (19618.2.12.11.6)
|
- SafariDriver 18.2 (19620.1.16.111.6)
|
||||||
- Google Chrome 125.0.6422.113
|
- Google Chrome 131.0.6778.265
|
||||||
- Google Chrome for Testing 125.0.6422.78
|
- Google Chrome for Testing 131.0.6778.264
|
||||||
- ChromeDriver 125.0.6422.78
|
- ChromeDriver 131.0.6778.264
|
||||||
- Selenium server 4.21.0
|
- Selenium server 4.27.0
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -94,145 +101,162 @@
|
|||||||
| GECKOWEBDRIVER | |
|
| GECKOWEBDRIVER | |
|
||||||
|
|
||||||
### Java
|
### Java
|
||||||
| Version | Environment Variable |
|
| Version | Environment Variable |
|
||||||
| -------------------- | -------------------- |
|
| --------------------- | -------------------- |
|
||||||
| 11.0.23+9 | JAVA_HOME_11_arm64 |
|
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||||
| 17.0.11+9 | JAVA_HOME_17_arm64 |
|
| 17.0.13+11 | JAVA_HOME_17_arm64 |
|
||||||
| 21.0.3+9.0 (default) | JAVA_HOME_21_arm64 |
|
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
|
||||||
|
|
||||||
### Cached Tools
|
### Cached Tools
|
||||||
|
|
||||||
|
#### Ruby
|
||||||
|
- 3.0.7
|
||||||
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.6
|
||||||
|
- 3.4.1
|
||||||
|
|
||||||
#### Python
|
#### Python
|
||||||
- 3.9.13
|
|
||||||
- 3.10.11
|
|
||||||
- 3.11.9
|
- 3.11.9
|
||||||
- 3.12.3
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
#### Node.js
|
#### Node.js
|
||||||
- 18.20.3
|
- 18.20.5
|
||||||
- 20.13.1
|
- 20.18.1
|
||||||
|
- 22.13.0
|
||||||
|
|
||||||
#### Go
|
#### Go
|
||||||
- 1.20.14
|
- 1.21.13
|
||||||
- 1.21.10
|
- 1.22.10
|
||||||
- 1.22.3
|
- 1.23.4
|
||||||
|
|
||||||
### Rust Tools
|
### Rust Tools
|
||||||
- Cargo 1.78.0
|
- Cargo 1.84.0
|
||||||
- Rust 1.78.0
|
- Rust 1.84.0
|
||||||
- Rustdoc 1.78.0
|
- Rustdoc 1.84.0
|
||||||
- Rustup 1.27.1
|
- Rustup 1.27.1
|
||||||
|
|
||||||
#### Packages
|
#### Packages
|
||||||
- Clippy 0.1.78
|
- Clippy 0.1.84
|
||||||
- Rustfmt 1.7.0-stable
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
### PowerShell Tools
|
### PowerShell Tools
|
||||||
- PowerShell 7.4.2
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
#### PowerShell Modules
|
#### PowerShell Modules
|
||||||
- Az: 12.0.0
|
- Az: 12.4.0
|
||||||
- Pester: 5.5.0
|
- Pester: 5.7.1
|
||||||
- PSScriptAnalyzer: 1.22.0
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
### Xcode
|
### Xcode
|
||||||
| Version | Build | Path |
|
| Version | Build | Path | Symlinks |
|
||||||
| ---------------- | ------- | ------------------------------ |
|
| -------------- | -------- | ------------------------------ | --------------------------------------------------------- |
|
||||||
| 15.4 | 15F31d | /Applications/Xcode_15.4.app |
|
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||||
| 15.3 | 15E204a | /Applications/Xcode_15.3.app |
|
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||||
| 15.2 | 15C500b | /Applications/Xcode_15.2.app |
|
| 15.4 (default) | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app<br>/Applications/Xcode.app |
|
||||||
| 15.1 | 15C65 | /Applications/Xcode_15.1.app |
|
| 15.3 | 15E204a | /Applications/Xcode_15.3.app | /Applications/Xcode_15.3.0.app |
|
||||||
| 15.0.1 (default) | 15A507 | /Applications/Xcode_15.0.1.app |
|
| 15.2 | 15C500b | /Applications/Xcode_15.2.app | /Applications/Xcode_15.2.0.app |
|
||||||
| 14.3.1 | 14E300c | /Applications/Xcode_14.3.1.app |
|
| 15.1 | 15C65 | /Applications/Xcode_15.1.app | /Applications/Xcode_15.1.0.app |
|
||||||
|
| 15.0.1 | 15A507 | /Applications/Xcode_15.0.1.app | /Applications/Xcode_15.0.app |
|
||||||
|
|
||||||
#### Installed SDKs
|
#### Installed SDKs
|
||||||
| SDK | SDK Name | Xcode Version |
|
| SDK | SDK Name | Xcode Version |
|
||||||
| ------------------------------------------------------- | --------------------------------------------- | ------------- |
|
| ------------------------ | -------------------- | ------------- |
|
||||||
| macOS 13.3 | macosx13.3 | 14.3.1 |
|
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
||||||
| macOS 14.0 | macosx14.0 | 15.0.1 |
|
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
||||||
| macOS 14.2 | macosx14.2 | 15.1, 15.2 |
|
| macOS 14.4 | macosx14.4 | 15.3 |
|
||||||
| macOS 14.4 | macosx14.4 | 15.3 |
|
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||||
| macOS 14.5 | macosx14.5 | 15.4 |
|
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||||
| iOS 16.4 | iphoneos16.4 | 14.3.1 |
|
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||||
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
| iOS 17.0 | iphoneos17.0 | 15.0.1 |
|
||||||
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
| iOS 17.2 | iphoneos17.2 | 15.1, 15.2 |
|
||||||
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
| iOS 17.4 | iphoneos17.4 | 15.3 |
|
||||||
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||||
| Simulator - iOS 16.4 | iphonesimulator16.4 | 14.3.1 |
|
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||||
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||||
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
| Simulator - iOS 17.0 | iphonesimulator17.0 | 15.0.1 |
|
||||||
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
| Simulator - iOS 17.2 | iphonesimulator17.2 | 15.1, 15.2 |
|
||||||
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
| Simulator - iOS 17.4 | iphonesimulator17.4 | 15.3 |
|
||||||
| tvOS 16.4 | appletvos16.4 | 14.3.1 |
|
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||||
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||||
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||||
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
| tvOS 17.0 | appletvos17.0 | 15.0.1 |
|
||||||
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
| tvOS 17.2 | appletvos17.2 | 15.1, 15.2 |
|
||||||
| Simulator - tvOS 16.4 | appletvsimulator16.4 | 14.3.1 |
|
| tvOS 17.4 | appletvos17.4 | 15.3 |
|
||||||
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||||
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||||
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||||
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
| Simulator - tvOS 17.0 | appletvsimulator17.0 | 15.0.1 |
|
||||||
| watchOS 9.4 | watchos9.4 | 14.3.1 |
|
| Simulator - tvOS 17.2 | appletvsimulator17.2 | 15.1, 15.2 |
|
||||||
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
| Simulator - tvOS 17.4 | appletvsimulator17.4 | 15.3 |
|
||||||
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||||
| watchOS 10.4 | watchos10.4 | 15.3 |
|
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||||
| watchOS 10.5 | watchos10.5 | 15.4 |
|
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||||
| Simulator - watchOS 9.4 | watchsimulator9.4 | 14.3.1 |
|
| watchOS 10.0 | watchos10.0 | 15.0.1 |
|
||||||
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
| watchOS 10.2 | watchos10.2 | 15.1, 15.2 |
|
||||||
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
| watchOS 10.4 | watchos10.4 | 15.3 |
|
||||||
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||||
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||||
| visionOS 1.0 | xros1.0 | 15.2 |
|
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||||
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
| Simulator - watchOS 10.0 | watchsimulator10.0 | 15.0.1 |
|
||||||
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
| Simulator - watchOS 10.2 | watchsimulator10.2 | 15.1, 15.2 |
|
||||||
| visionOS 1.1 | xros1.1 | 15.3 |
|
| Simulator - watchOS 10.4 | watchsimulator10.4 | 15.3 |
|
||||||
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||||
| visionOS 1.2 | xros1.2 | 15.4 |
|
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting watchOS 9.4 | assetruntime.host.macosx.target.watchos9.4 | 14.3.1 |
|
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting tvOS 16.4 | assetruntime.host.macosx.target.appletvos16.4 | 14.3.1 |
|
| Simulator - visionOS 1.0 | xrsimulator1.0 | 15.2 |
|
||||||
| Asset Runtime SDK for macOS hosts targeting iOS 16.4 | assetruntime.host.macosx.target.iphoneos16.4 | 14.3.1 |
|
| visionOS 1.0 | xros1.0 | 15.2 |
|
||||||
| DriverKit 22.4 | driverkit22.4 | 14.3.1 |
|
| Simulator - visionOS 1.1 | xrsimulator1.1 | 15.3 |
|
||||||
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
| visionOS 1.1 | xros1.1 | 15.3 |
|
||||||
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||||
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||||
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||||
|
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||||
|
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||||
|
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||||
|
| DriverKit 23.0 | driverkit23.0 | 15.0.1 |
|
||||||
|
| DriverKit 23.2 | driverkit23.2 | 15.1, 15.2 |
|
||||||
|
| DriverKit 23.4 | driverkit23.4 | 15.3 |
|
||||||
|
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||||
|
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||||
|
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||||
|
|
||||||
#### Installed Simulators
|
#### Installed Simulators
|
||||||
| OS | Xcode Version | Simulators |
|
| OS | Simulators |
|
||||||
| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| iOS 16.4 | 14.3.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 17.0 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation) |
|
||||||
| iOS 17.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 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 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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.4 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air (5th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| iOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| iOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | 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 Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro (11-inch) (4th generation)<br>iPad Pro (12.9-inch) (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
| iOS 18.1 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
| tvOS 16.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| tvOS 17.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
| watchOS 9.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 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 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 10.4 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.4 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| watchOS 10.5 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.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 Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra (49mm)<br>Apple Watch Ultra 2 (49mm) |
|
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
| visionOS 1.0 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple Vision Pro |
|
| visionOS 1.0 | Apple Vision Pro |
|
||||||
| visionOS 1.1 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple Vision Pro |
|
| visionOS 1.1 | Apple Vision Pro |
|
||||||
| visionOS 1.2 | 14.3.1<br>15.0.1<br>15.1<br>15.2<br>15.3<br>15.4 | Apple Vision Pro |
|
| visionOS 1.2 | Apple Vision Pro |
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
| Package Name | Version |
|
| Package Name | Version |
|
||||||
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Android Command Line Tools | 11.0 |
|
| Android Command Line Tools | 11.0 |
|
||||||
| Android Emulator | 34.2.14 |
|
| Android Emulator | 35.3.11 |
|
||||||
| Android SDK Build-tools | 34.0.0<br>33.0.2 33.0.3 |
|
| Android SDK Build-tools | 35.0.0<br>34.0.0<br>33.0.2 33.0.3 |
|
||||||
| Android SDK Platforms | android-34-ext8 (rev 1)<br>android-34-ext11 (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 Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1)<br>android-33 (rev 3) |
|
||||||
| Android SDK Platform-Tools | 35.0.1 |
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
| Android Support Repository | 47.0.0 |
|
| Android Support Repository | 47.0.0 |
|
||||||
| CMake | 3.22.1 |
|
| CMake | 3.31.0 |
|
||||||
| Google Play services | 49 |
|
| Google Play services | 49 |
|
||||||
| Google Repository | 58 |
|
| Google Repository | 58 |
|
||||||
| NDK | 24.0.8215888<br>25.2.9519653<br>26.3.11579264 (default) |
|
| NDK | 26.3.11579264 (default)<br>27.2.12479018 |
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
| Name | Value |
|
| Name | Value |
|
||||||
@@ -240,6 +264,10 @@
|
|||||||
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| 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_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/26.3.11579264 |
|
||||||
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
|
### Miscellaneous
|
||||||
|
- Tcl/Tk 8.6.16
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,249 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
|
# macOS 15
|
||||||
|
- OS Version: macOS 15.2 (24C101)
|
||||||
|
- Kernel Version: Darwin 24.2.0
|
||||||
|
- Image Version: 20250113.570
|
||||||
|
|
||||||
|
## Installed Software
|
||||||
|
|
||||||
|
### Language and Runtime
|
||||||
|
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.404, 9.0.101
|
||||||
|
- Bash 3.2.57(1)-release
|
||||||
|
- Clang/LLVM 15.0.0
|
||||||
|
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
|
||||||
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
|
- Kotlin 2.1.0-release-394
|
||||||
|
- Node.js 22.13.0
|
||||||
|
- Perl 5.40.0
|
||||||
|
- PHP 8.4.2
|
||||||
|
- Python3 3.13.1
|
||||||
|
- Ruby 3.3.6
|
||||||
|
|
||||||
|
### Package Management
|
||||||
|
- Bundler 2.6.2
|
||||||
|
- Carthage 0.40.0
|
||||||
|
- CocoaPods 1.16.2
|
||||||
|
- Composer 2.8.4
|
||||||
|
- Homebrew 4.4.15
|
||||||
|
- NPM 10.9.2
|
||||||
|
- Pip3 24.3.1 (python 3.13)
|
||||||
|
- Pipx 1.7.1
|
||||||
|
- RubyGems 3.6.2
|
||||||
|
- Yarn 1.22.22
|
||||||
|
|
||||||
|
### Project Management
|
||||||
|
- Apache Ant 1.10.15
|
||||||
|
- Apache Maven 3.9.9
|
||||||
|
- Gradle 8.12
|
||||||
|
|
||||||
|
### Utilities
|
||||||
|
- 7-Zip 17.05
|
||||||
|
- aria2 1.37.0
|
||||||
|
- azcopy 10.27.1
|
||||||
|
- bazel 8.0.0
|
||||||
|
- bazelisk 1.25.0
|
||||||
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
|
- Curl 8.11.1
|
||||||
|
- Git 2.48.0
|
||||||
|
- Git LFS 3.6.0
|
||||||
|
- GitHub CLI 2.65.0
|
||||||
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
|
- GNU Wget 1.25.0
|
||||||
|
- gpg (GnuPG) 2.4.7
|
||||||
|
- jq 1.7.1
|
||||||
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
|
- Packer 1.11.2
|
||||||
|
- pkgconf 2.3.0
|
||||||
|
- Unxip 3.1
|
||||||
|
- yq 4.45.1
|
||||||
|
- zstd 1.5.6
|
||||||
|
|
||||||
|
### Tools
|
||||||
|
- AWS CLI 2.22.33
|
||||||
|
- AWS SAM CLI 1.132.0
|
||||||
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
|
- Azure CLI 2.67.0
|
||||||
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
|
- Bicep CLI 0.32.4
|
||||||
|
- Cmake 3.31.4
|
||||||
|
- CodeQL Action Bundle 2.20.1
|
||||||
|
- Fastlane 2.226.0
|
||||||
|
- SwiftFormat 0.55.4
|
||||||
|
- Xcbeautify 2.17.0
|
||||||
|
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||||
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
|
### Linters
|
||||||
|
- SwiftLint 0.58.0
|
||||||
|
|
||||||
|
### Browsers
|
||||||
|
- Safari 18.2 (20620.1.16.11.8)
|
||||||
|
- SafariDriver 18.2 (20620.1.16.11.8)
|
||||||
|
- Google Chrome 131.0.6778.265
|
||||||
|
- Google Chrome for Testing 131.0.6778.264
|
||||||
|
- ChromeDriver 131.0.6778.264
|
||||||
|
- Microsoft Edge 131.0.2903.147
|
||||||
|
- Microsoft Edge WebDriver 131.0.2903.112
|
||||||
|
- Mozilla Firefox 134.0
|
||||||
|
- geckodriver 0.35.0
|
||||||
|
- Selenium server 4.27.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.25+9 | JAVA_HOME_11_X64 |
|
||||||
|
| 17.0.13+11 | JAVA_HOME_17_X64 |
|
||||||
|
| 21.0.5+11.0 (default) | JAVA_HOME_21_X64 |
|
||||||
|
|
||||||
|
### Cached Tools
|
||||||
|
|
||||||
|
#### Ruby
|
||||||
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.6
|
||||||
|
- 3.4.1
|
||||||
|
|
||||||
|
#### Python
|
||||||
|
- 3.9.21
|
||||||
|
- 3.10.16
|
||||||
|
- 3.11.9
|
||||||
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
|
#### Node.js
|
||||||
|
- 18.20.5
|
||||||
|
- 20.18.1
|
||||||
|
- 22.13.0
|
||||||
|
|
||||||
|
#### Go
|
||||||
|
- 1.21.13
|
||||||
|
- 1.22.10
|
||||||
|
- 1.23.4
|
||||||
|
|
||||||
|
### Rust Tools
|
||||||
|
- Cargo 1.84.0
|
||||||
|
- Rust 1.84.0
|
||||||
|
- Rustdoc 1.84.0
|
||||||
|
- Rustup 1.27.1
|
||||||
|
|
||||||
|
#### Packages
|
||||||
|
- Clippy 0.1.84
|
||||||
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
|
### PowerShell Tools
|
||||||
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
|
#### PowerShell Modules
|
||||||
|
- Az: 12.4.0
|
||||||
|
- Pester: 5.7.1
|
||||||
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
|
### Xcode
|
||||||
|
| Version | Build | Path | Symlinks |
|
||||||
|
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||||
|
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||||
|
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
|
||||||
|
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
|
||||||
|
|
||||||
|
#### Installed SDKs
|
||||||
|
| SDK | SDK Name | Xcode Version |
|
||||||
|
| ------------------------ | -------------------- | ------------- |
|
||||||
|
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||||
|
| macOS 15.0 | macosx15.0 | 16.0 |
|
||||||
|
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||||
|
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||||
|
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||||
|
| iOS 18.0 | iphoneos18.0 | 16.0 |
|
||||||
|
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||||
|
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||||
|
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||||
|
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
|
||||||
|
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||||
|
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||||
|
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||||
|
| tvOS 18.0 | appletvos18.0 | 16.0 |
|
||||||
|
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||||
|
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||||
|
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||||
|
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
|
||||||
|
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||||
|
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||||
|
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||||
|
| watchOS 11.0 | watchos11.0 | 16.0 |
|
||||||
|
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||||
|
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||||
|
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||||
|
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
|
||||||
|
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||||
|
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||||
|
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||||
|
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||||
|
| visionOS 2.0 | xros2.0 | 16.0 |
|
||||||
|
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
|
||||||
|
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||||
|
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||||
|
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||||
|
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||||
|
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||||
|
| DriverKit 24.0 | driverkit24.0 | 16.0 |
|
||||||
|
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||||
|
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||||
|
|
||||||
|
#### Installed Simulators
|
||||||
|
| OS | Simulators |
|
||||||
|
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
|
||||||
|
### Android
|
||||||
|
| Package Name | Version |
|
||||||
|
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| Android Command Line Tools | 16.0 |
|
||||||
|
| Android Emulator | 35.3.11 |
|
||||||
|
| Android SDK Build-tools | 35.0.0 |
|
||||||
|
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||||
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
|
| Android Support Repository | 47.0.0 |
|
||||||
|
| CMake | 3.31.0 |
|
||||||
|
| Google Play services | 49 |
|
||||||
|
| Google Repository | 58 |
|
||||||
|
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
| Name | Value |
|
||||||
|
| ----------------------- | --------------------------------------------------- |
|
||||||
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
|
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
@@ -0,0 +1,244 @@
|
|||||||
|
| Announcements |
|
||||||
|
|-|
|
||||||
|
| [[macOS] Ruby version 3.0 will be removed from the images on Feb 10, 2025 and 3.3 will be set as default. ](https://github.com/actions/runner-images/issues/11345) |
|
||||||
|
| [[macOS] The macOS 12 Actions runner image will begin deprecation on 10/7/24 and will be fully unsupported by 12/3/24 for GitHub and by 01/13/25 for ADO](https://github.com/actions/runner-images/issues/10721) |
|
||||||
|
| [macOS 15 (Sequoia) is now available as a public beta in GitHub Actions](https://github.com/actions/runner-images/issues/10686) |
|
||||||
|
***
|
||||||
|
# macOS 15
|
||||||
|
- OS Version: macOS 15.2 (24C101)
|
||||||
|
- Kernel Version: Darwin 24.2.0
|
||||||
|
- Image Version: 20250120.596
|
||||||
|
|
||||||
|
## Installed Software
|
||||||
|
|
||||||
|
### Language and Runtime
|
||||||
|
- .NET Core SDK: 8.0.101, 8.0.204, 8.0.303, 8.0.405, 9.0.102
|
||||||
|
- Bash 3.2.57(1)-release
|
||||||
|
- Clang/LLVM 15.0.0
|
||||||
|
- Clang/LLVM (Homebrew) 18.1.8 - available on `$(brew --prefix llvm@18)/bin/clang`
|
||||||
|
- GCC 12 (Homebrew GCC 12.4.0) - available by `gcc-12` alias
|
||||||
|
- GCC 13 (Homebrew GCC 13.3.0) - available by `gcc-13` alias
|
||||||
|
- GCC 14 (Homebrew GCC 14.2.0_1) - available by `gcc-14` alias
|
||||||
|
- GNU Fortran 12 (Homebrew GCC 12.4.0) - available by `gfortran-12` alias
|
||||||
|
- GNU Fortran 13 (Homebrew GCC 13.3.0) - available by `gfortran-13` alias
|
||||||
|
- GNU Fortran 14 (Homebrew GCC 14.2.0_1) - available by `gfortran-14` alias
|
||||||
|
- Kotlin 2.1.0-release-394
|
||||||
|
- Node.js 22.13.0
|
||||||
|
- Perl 5.40.1
|
||||||
|
- Python3 3.13.1
|
||||||
|
- Ruby 3.3.7
|
||||||
|
|
||||||
|
### Package Management
|
||||||
|
- Bundler 2.6.3
|
||||||
|
- Carthage 0.40.0
|
||||||
|
- CocoaPods 1.16.2
|
||||||
|
- Homebrew 4.4.16
|
||||||
|
- NPM 10.9.2
|
||||||
|
- Pip3 24.3.1 (python 3.13)
|
||||||
|
- Pipx 1.7.1
|
||||||
|
- RubyGems 3.6.3
|
||||||
|
- Yarn 1.22.22
|
||||||
|
|
||||||
|
### Project Management
|
||||||
|
- Apache Ant 1.10.15
|
||||||
|
- Apache Maven 3.9.9
|
||||||
|
- Gradle 8.12
|
||||||
|
|
||||||
|
### Utilities
|
||||||
|
- 7-Zip 17.05
|
||||||
|
- aria2 1.37.0
|
||||||
|
- azcopy 10.27.1
|
||||||
|
- bazel 8.0.1
|
||||||
|
- bazelisk 1.25.0
|
||||||
|
- bsdtar 3.5.3 - available by 'tar' alias
|
||||||
|
- Curl 8.7.1
|
||||||
|
- Git 2.48.1
|
||||||
|
- Git LFS 3.6.1
|
||||||
|
- GitHub CLI 2.65.0
|
||||||
|
- GNU Tar 1.35 - available by 'gtar' alias
|
||||||
|
- GNU Wget 1.25.0
|
||||||
|
- gpg (GnuPG) 2.4.7
|
||||||
|
- jq 1.7.1
|
||||||
|
- OpenSSL 1.1.1w 11 Sep 2023
|
||||||
|
- Packer 1.11.2
|
||||||
|
- pkgconf 2.3.0
|
||||||
|
- Unxip 3.1
|
||||||
|
- yq 4.45.1
|
||||||
|
- zstd 1.5.6
|
||||||
|
|
||||||
|
### Tools
|
||||||
|
- AWS CLI 2.23.2
|
||||||
|
- AWS SAM CLI 1.132.0
|
||||||
|
- AWS Session Manager CLI 1.2.694.0
|
||||||
|
- Azure CLI 2.68.0
|
||||||
|
- Azure CLI (azure-devops) 1.0.1
|
||||||
|
- Bicep CLI 0.32.4
|
||||||
|
- Cmake 3.31.4
|
||||||
|
- CodeQL Action Bundle 2.20.1
|
||||||
|
- Fastlane 2.226.0
|
||||||
|
- SwiftFormat 0.55.4
|
||||||
|
- Xcbeautify 2.17.0
|
||||||
|
- Xcode Command Line Tools 16.2.0.0.1.1733547573
|
||||||
|
- Xcodes 1.6.0
|
||||||
|
|
||||||
|
### Linters
|
||||||
|
|
||||||
|
### Browsers
|
||||||
|
- Safari 18.2 (20620.1.16.11.8)
|
||||||
|
- SafariDriver 18.2 (20620.1.16.11.8)
|
||||||
|
- Google Chrome 132.0.6834.84
|
||||||
|
- Google Chrome for Testing 132.0.6834.83
|
||||||
|
- ChromeDriver 132.0.6834.83
|
||||||
|
- Selenium server 4.27.0
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
| Name | Value |
|
||||||
|
| --------------- | --------------------------------------- |
|
||||||
|
| CHROMEWEBDRIVER | /usr/local/share/chromedriver-mac-arm64 |
|
||||||
|
| EDGEWEBDRIVER | |
|
||||||
|
| GECKOWEBDRIVER | |
|
||||||
|
|
||||||
|
### Java
|
||||||
|
| Version | Environment Variable |
|
||||||
|
| --------------------- | -------------------- |
|
||||||
|
| 11.0.25+9 | JAVA_HOME_11_arm64 |
|
||||||
|
| 17.0.13+11 | JAVA_HOME_17_arm64 |
|
||||||
|
| 21.0.5+11.0 (default) | JAVA_HOME_21_arm64 |
|
||||||
|
|
||||||
|
### Cached Tools
|
||||||
|
|
||||||
|
#### Ruby
|
||||||
|
- 3.1.6
|
||||||
|
- 3.2.6
|
||||||
|
- 3.3.7
|
||||||
|
- 3.4.1
|
||||||
|
|
||||||
|
#### Python
|
||||||
|
- 3.11.9
|
||||||
|
- 3.12.8
|
||||||
|
- 3.13.1
|
||||||
|
|
||||||
|
#### Node.js
|
||||||
|
- 18.20.5
|
||||||
|
- 20.18.1
|
||||||
|
- 22.13.0
|
||||||
|
|
||||||
|
#### Go
|
||||||
|
- 1.21.13
|
||||||
|
- 1.22.10
|
||||||
|
- 1.23.4
|
||||||
|
|
||||||
|
### Rust Tools
|
||||||
|
- Cargo 1.84.0
|
||||||
|
- Rust 1.84.0
|
||||||
|
- Rustdoc 1.84.0
|
||||||
|
- Rustup 1.27.1
|
||||||
|
|
||||||
|
#### Packages
|
||||||
|
- Clippy 0.1.84
|
||||||
|
- Rustfmt 1.8.0-stable
|
||||||
|
|
||||||
|
### PowerShell Tools
|
||||||
|
- PowerShell 7.4.6
|
||||||
|
|
||||||
|
#### PowerShell Modules
|
||||||
|
- Az: 12.4.0
|
||||||
|
- Pester: 5.7.1
|
||||||
|
- PSScriptAnalyzer: 1.23.0
|
||||||
|
|
||||||
|
### Xcode
|
||||||
|
| Version | Build | Path | Symlinks |
|
||||||
|
| -------------- | -------- | ---------------------------- | ----------------------------------------------------------------------------------------- |
|
||||||
|
| 16.2 | 16C5032a | /Applications/Xcode_16.2.app | /Applications/Xcode_16.2.0.app |
|
||||||
|
| 16.1 | 16B40 | /Applications/Xcode_16.1.app | /Applications/Xcode_16.1.0.app |
|
||||||
|
| 16.0 (default) | 16A242d | /Applications/Xcode_16.app | /Applications/Xcode_16.0.0.app<br>/Applications/Xcode_16.0.app<br>/Applications/Xcode.app |
|
||||||
|
| 15.4 | 15F31d | /Applications/Xcode_15.4.app | /Applications/Xcode_15.4.0.app |
|
||||||
|
|
||||||
|
#### Installed SDKs
|
||||||
|
| SDK | SDK Name | Xcode Version |
|
||||||
|
| ------------------------ | -------------------- | ------------- |
|
||||||
|
| macOS 14.5 | macosx14.5 | 15.4 |
|
||||||
|
| macOS 15.0 | macosx15.0 | 16.0 |
|
||||||
|
| macOS 15.1 | macosx15.1 | 16.1 |
|
||||||
|
| macOS 15.2 | macosx15.2 | 16.2 |
|
||||||
|
| iOS 17.5 | iphoneos17.5 | 15.4 |
|
||||||
|
| iOS 18.0 | iphoneos18.0 | 16.0 |
|
||||||
|
| iOS 18.1 | iphoneos18.1 | 16.1 |
|
||||||
|
| iOS 18.2 | iphoneos18.2 | 16.2 |
|
||||||
|
| Simulator - iOS 17.5 | iphonesimulator17.5 | 15.4 |
|
||||||
|
| Simulator - iOS 18.0 | iphonesimulator18.0 | 16.0 |
|
||||||
|
| Simulator - iOS 18.1 | iphonesimulator18.1 | 16.1 |
|
||||||
|
| Simulator - iOS 18.2 | iphonesimulator18.2 | 16.2 |
|
||||||
|
| tvOS 17.5 | appletvos17.5 | 15.4 |
|
||||||
|
| tvOS 18.0 | appletvos18.0 | 16.0 |
|
||||||
|
| tvOS 18.1 | appletvos18.1 | 16.1 |
|
||||||
|
| tvOS 18.2 | appletvos18.2 | 16.2 |
|
||||||
|
| Simulator - tvOS 17.5 | appletvsimulator17.5 | 15.4 |
|
||||||
|
| Simulator - tvOS 18.0 | appletvsimulator18.0 | 16.0 |
|
||||||
|
| Simulator - tvOS 18.1 | appletvsimulator18.1 | 16.1 |
|
||||||
|
| Simulator - tvOS 18.2 | appletvsimulator18.2 | 16.2 |
|
||||||
|
| watchOS 10.5 | watchos10.5 | 15.4 |
|
||||||
|
| watchOS 11.0 | watchos11.0 | 16.0 |
|
||||||
|
| watchOS 11.1 | watchos11.1 | 16.1 |
|
||||||
|
| watchOS 11.2 | watchos11.2 | 16.2 |
|
||||||
|
| Simulator - watchOS 10.5 | watchsimulator10.5 | 15.4 |
|
||||||
|
| Simulator - watchOS 11.0 | watchsimulator11.0 | 16.0 |
|
||||||
|
| Simulator - watchOS 11.1 | watchsimulator11.1 | 16.1 |
|
||||||
|
| Simulator - watchOS 11.2 | watchsimulator11.2 | 16.2 |
|
||||||
|
| Simulator - visionOS 1.2 | xrsimulator1.2 | 15.4 |
|
||||||
|
| visionOS 1.2 | xros1.2 | 15.4 |
|
||||||
|
| visionOS 2.0 | xros2.0 | 16.0 |
|
||||||
|
| Simulator - visionOS 2.0 | xrsimulator2.0 | 16.0 |
|
||||||
|
| visionOS 2.1 | xros2.1 | 16.1 |
|
||||||
|
| Simulator - visionOS 2.1 | xrsimulator2.1 | 16.1 |
|
||||||
|
| Simulator - visionOS 2.2 | xrsimulator2.2 | 16.2 |
|
||||||
|
| visionOS 2.2 | xros2.2 | 16.2 |
|
||||||
|
| DriverKit 23.5 | driverkit23.5 | 15.4 |
|
||||||
|
| DriverKit 24.0 | driverkit24.0 | 16.0 |
|
||||||
|
| DriverKit 24.1 | driverkit24.1 | 16.1 |
|
||||||
|
| DriverKit 24.2 | driverkit24.2 | 16.2 |
|
||||||
|
|
||||||
|
#### Installed Simulators
|
||||||
|
| OS | Simulators |
|
||||||
|
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| iOS 17.5 | iPhone 15<br>iPhone 15 Plus<br>iPhone 15 Pro<br>iPhone 15 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.0 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (6th generation)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.1 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| iOS 18.2 | iPhone 16<br>iPhone 16 Plus<br>iPhone 16 Pro<br>iPhone 16 Pro Max<br>iPhone SE (3rd generation)<br>iPad (10th generation)<br>iPad Air 11-inch (M2)<br>iPad Air 13-inch (M2)<br>iPad mini (A17 Pro)<br>iPad Pro 11-inch (M4)<br>iPad Pro 13-inch (M4) |
|
||||||
|
| tvOS 17.5 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.0 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.1 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| tvOS 18.2 | Apple TV<br>Apple TV 4K (3rd generation)<br>Apple TV 4K (3rd generation) (at 1080p) |
|
||||||
|
| watchOS 10.5 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 5 (40mm)<br>Apple Watch Series 5 (44mm)<br>Apple Watch Series 6 (40mm)<br>Apple Watch Series 6 (44mm)<br>Apple Watch Series 7 (41mm)<br>Apple Watch Series 7 (45mm)<br>Apple Watch Series 9 (41mm)<br>Apple Watch Series 9 (45mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.0 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.1 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| watchOS 11.2 | Apple Watch SE (40mm) (2nd generation)<br>Apple Watch SE (44mm) (2nd generation)<br>Apple Watch Series 10 (42mm)<br>Apple Watch Series 10 (46mm)<br>Apple Watch Ultra 2 (49mm) |
|
||||||
|
| visionOS 1.2 | Apple Vision Pro |
|
||||||
|
| visionOS 2.0 | Apple Vision Pro |
|
||||||
|
| visionOS 2.1 | Apple Vision Pro |
|
||||||
|
| visionOS 2.2 | Apple Vision Pro |
|
||||||
|
|
||||||
|
### Android
|
||||||
|
| Package Name | Version |
|
||||||
|
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| Android Command Line Tools | 16.0 |
|
||||||
|
| Android Emulator | 35.3.11 |
|
||||||
|
| Android SDK Build-tools | 35.0.0 35.0.1 |
|
||||||
|
| Android SDK Platforms | android-35-ext14 (rev 1)<br>android-35 (rev 2)<br>android-34-ext8 (rev 1)<br>android-34-ext12 (rev 1)<br>android-34-ext11 (rev 1)<br>android-34-ext10 (rev 1)<br>android-34 (rev 3)<br>android-33-ext5 (rev 1)<br>android-33-ext4 (rev 1) |
|
||||||
|
| Android SDK Platform-Tools | 35.0.2 |
|
||||||
|
| Android Support Repository | 47.0.0 |
|
||||||
|
| CMake | 3.31.0 |
|
||||||
|
| Google Play services | 49 |
|
||||||
|
| Google Repository | 58 |
|
||||||
|
| NDK | 26.3.11579264<br>27.2.12479018 (default) |
|
||||||
|
|
||||||
|
#### Environment variables
|
||||||
|
| Name | Value |
|
||||||
|
| ----------------------- | --------------------------------------------------- |
|
||||||
|
| ANDROID_HOME | /Users/runner/Library/Android/sdk |
|
||||||
|
| ANDROID_NDK | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_LATEST_HOME | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_NDK_ROOT | /Users/runner/Library/Android/sdk/ndk/27.2.12479018 |
|
||||||
|
| ANDROID_SDK_ROOT | /Users/runner/Library/Android/sdk |
|
||||||
|
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
echo "Enabling automatic GUI login for the '$USERNAME' user.."
|
echo "Enabling automatic GUI login for the '$USERNAME' user.."
|
||||||
python3 $HOME/bootstrap/kcpassword.py "$PASSWORD"
|
python3 $HOME/bootstrap/kcpassword.py "$PASSWORD"
|
||||||
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "$USERNAME"
|
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser "$USERNAME"
|
||||||
|
/usr/bin/defaults write /Library/Preferences/com.apple.loginwindow autoLoginUserScreenLocked -bool false
|
||||||
|
|
||||||
: '
|
: '
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|||||||
@@ -17,14 +17,7 @@ sudo rm -f /var/vm/sleepimage
|
|||||||
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
|
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
|
||||||
|
|
||||||
# Disable Keyboard Setup Assistant window
|
# Disable Keyboard Setup Assistant window
|
||||||
if is_Veertu; then
|
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
|
||||||
sudo defaults write /Library/Preferences/com.apple.keyboardtype "keyboardtype" -dict-add "3-7582-0" -int 40
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Change screen resolution to the maximum supported for 4Mb video memory
|
|
||||||
if [[ -d "/Library/Application Support/VMware Tools" ]]; then
|
|
||||||
sudo "/Library/Application Support/VMware Tools/vmware-resolutionSet" 1176 885
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript
|
# Update VoiceOver Utility to allow VoiceOver to be controlled with AppleScript
|
||||||
# by creating a special Accessibility DB file (SIP must be disabled) and
|
# by creating a special Accessibility DB file (SIP must be disabled) and
|
||||||
@@ -39,7 +32,6 @@ defaults write com.apple.VoiceOver4/default SCREnableAppleScript -bool YES
|
|||||||
# Rotate the certificate before expiration to ensure your apps are installed and signed with an active certificate.
|
# Rotate the certificate before expiration to ensure your apps are installed and signed with an active certificate.
|
||||||
# Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030.
|
# Confirm that the correct intermediate certificate is installed by verifying the expiration date is set to 2030.
|
||||||
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
|
# sudo security delete-certificate -Z FF6797793A3CD798DC5B2ABEF56F73EDC9F83A64 /Library/Keychains/System.keychain
|
||||||
# Big Sur requires user interaction to add a cert https://developer.apple.com/forums/thread/671582, we need to use a workaround with SecItemAdd swift method
|
|
||||||
|
|
||||||
swiftc -suppress-warnings "${HOME}/image-generation/add-certificate.swift"
|
swiftc -suppress-warnings "${HOME}/image-generation/add-certificate.swift"
|
||||||
|
|
||||||
@@ -58,21 +50,18 @@ done
|
|||||||
rm -f ./add-certificate
|
rm -f ./add-certificate
|
||||||
|
|
||||||
# enable-automationmode-without-authentication
|
# enable-automationmode-without-authentication
|
||||||
if ! is_BigSur; then
|
brew install expect
|
||||||
retry=10
|
retry=10
|
||||||
while [[ $retry -gt 0 ]]; do
|
while [[ $retry -gt 0 ]]; do
|
||||||
{
|
{
|
||||||
osascript <<EOF
|
/usr/bin/expect <<EOF
|
||||||
tell application "Terminal"
|
spawn automationmodetool enable-automationmode-without-authentication
|
||||||
activate
|
expect "password"
|
||||||
do script "automationmodetool enable-automationmode-without-authentication"
|
send "${PASSWORD}\r"
|
||||||
delay 2
|
expect {
|
||||||
tell application "System Events"
|
"succeeded." { puts "Automation mode enabled successfully"; exit 0 }
|
||||||
keystroke "${PASSWORD}"
|
eof
|
||||||
keystroke return
|
}
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
delay 5
|
|
||||||
EOF
|
EOF
|
||||||
} && break
|
} && break
|
||||||
|
|
||||||
@@ -84,16 +73,21 @@ EOF
|
|||||||
sleep 10
|
sleep 10
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Getting terminal windows"
|
echo "Getting terminal windows"
|
||||||
term_service=$(launchctl list | grep -i terminal | cut -f3)
|
launchctl_output=$(launchctl list | grep -i terminal || true)
|
||||||
|
|
||||||
|
if [ -n "$launchctl_output" ]; then
|
||||||
|
term_service=$(echo "$launchctl_output" | cut -f3)
|
||||||
echo "Close terminal windows: gui/501/${term_service}"
|
echo "Close terminal windows: gui/501/${term_service}"
|
||||||
launchctl bootout gui/501/${term_service} && sleep 5
|
launchctl bootout gui/501/${term_service} && sleep 5
|
||||||
|
else
|
||||||
|
echo "No open terminal windows found."
|
||||||
|
fi
|
||||||
|
|
||||||
# test enable-automationmode-without-authentication
|
# test enable-automationmode-without-authentication
|
||||||
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
if [[ ! "$(automationmodetool)" =~ "DOES NOT REQUIRE" ]]; then
|
||||||
echo "Failed to enable enable-automationmode-without-authentication option"
|
echo "Failed to enable enable-automationmode-without-authentication option"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create symlink for tests running
|
# Create symlink for tests running
|
||||||
@@ -103,6 +97,3 @@ if [[ ! -d "/usr/local/bin" ]];then
|
|||||||
fi
|
fi
|
||||||
chmod +x $HOME/utils/invoke-tests.sh
|
chmod +x $HOME/utils/invoke-tests.sh
|
||||||
sudo ln -s $HOME/utils/invoke-tests.sh /usr/local/bin/invoke_tests
|
sudo ln -s $HOME/utils/invoke-tests.sh /usr/local/bin/invoke_tests
|
||||||
|
|
||||||
# Revert to the old behaviour and avoid the Git LFS problems (https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/)
|
|
||||||
echo "export GIT_CLONE_PROTECTION_ACTIVE=false" >> $HOME/.bashrc
|
|
||||||
|
|||||||
@@ -19,15 +19,9 @@ if [[ $arch == "arm64" ]]; then
|
|||||||
else
|
else
|
||||||
image_label="macos-${label_version}"
|
image_label="macos-${label_version}"
|
||||||
fi
|
fi
|
||||||
release_label="macOS-${label_version}"
|
|
||||||
|
|
||||||
if is_Ventura || is_Sonoma || is_Monterey; then
|
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
||||||
software_url="https://github.com/actions/runner-images/blob/${image_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
|
||||||
releaseUrl="https://github.com/actions/runner-images/releases/tag/${image_label}%2F${image_version}"
|
|
||||||
else
|
|
||||||
software_url="https://github.com/actions/runner-images/blob/${release_label}/${image_version}/images/macos/${image_label}-Readme.md"
|
|
||||||
releaseUrl="https://github.com/actions/runner-images/releases/tag/${release_label}%2F${image_version}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat <<EOF > $imagedata_file
|
cat <<EOF > $imagedata_file
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -14,5 +14,6 @@ sudo chsh -s /bin/bash root
|
|||||||
# Check MacOS architecture and add HOMEBREW PATH to bashrc
|
# Check MacOS architecture and add HOMEBREW PATH to bashrc
|
||||||
if [[ $arch == "arm64" ]]; then
|
if [[ $arch == "arm64" ]]; then
|
||||||
echo "Adding Homebrew environment to bash"
|
echo "Adding Homebrew environment to bash"
|
||||||
/opt/homebrew/bin/brew shellenv >> ~/.bashrc
|
# Discussed here: https://github.com/Homebrew/brew/pull/18366
|
||||||
|
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.bashrc
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -11,18 +11,20 @@ close_finder_window
|
|||||||
|
|
||||||
# Remove Parallels Desktop
|
# Remove Parallels Desktop
|
||||||
# https://github.com/actions/runner-images/issues/6105
|
# https://github.com/actions/runner-images/issues/6105
|
||||||
if is_Monterey; then
|
# https://github.com/actions/runner-images/issues/10143
|
||||||
|
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||||
brew uninstall parallels
|
brew uninstall parallels
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Put documentation to $HOME root
|
# Put documentation to $HOME root
|
||||||
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
|
cp $HOME/image-generation/output/software-report/systeminfo.* $HOME/
|
||||||
|
|
||||||
# Put build vm assets scripts to proper directory
|
# Put build vm assets (xamarin-selector) scripts to proper directory
|
||||||
mkdir -p /usr/local/opt/$USER/scripts
|
if is_Monterey || is_Sonoma || is_Ventura; then
|
||||||
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
|
mkdir -p /usr/local/opt/$USER/scripts
|
||||||
|
mv $HOME/image-generation/assets/* /usr/local/opt/$USER/scripts
|
||||||
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
|
find /usr/local/opt/$USER/scripts -type f -name "*\.sh" -exec chmod +x {} \;
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove fastlane cached cookie
|
# Remove fastlane cached cookie
|
||||||
rm -rf ~/.fastlane
|
rm -rf ~/.fastlane
|
||||||
@@ -45,3 +47,9 @@ echo "Indexing completed"
|
|||||||
|
|
||||||
# delete symlink for tests running
|
# delete symlink for tests running
|
||||||
sudo rm -f /usr/local/bin/invoke_tests
|
sudo rm -f /usr/local/bin/invoke_tests
|
||||||
|
|
||||||
|
# Clean Homebrew downloads
|
||||||
|
sudo rm -rf /Users/$USER/Library/Caches/Homebrew/downloads/*
|
||||||
|
|
||||||
|
# Uninstall expect used in configure-machine.sh
|
||||||
|
brew uninstall expect
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ systemValuesArray=(
|
|||||||
"'kTCCServiceAccessibility','com.apple.Terminal',0,2,0,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,NULL,'UNUSED',NULL,0,1591180502"
|
"'kTCCServiceAccessibility','com.apple.Terminal',0,2,0,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,NULL,'UNUSED',NULL,0,1591180502"
|
||||||
"'kTCCServiceAccessibility','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
|
"'kTCCServiceAccessibility','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1583997993"
|
||||||
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
||||||
|
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
|
||||||
"'kTCCServiceScreenCapture','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1599831148"
|
"'kTCCServiceScreenCapture','/bin/bash',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1599831148"
|
||||||
"'kTCCServiceScreenCapture','com.devexpress.testcafe-browser-tools',0,2,3,1,X'fade0c0000000068000000010000000700000007000000080000001443fa4ca5141baeda21aeca1f50894673b440d4690000000800000014f8afcf6e69791b283e55bd0b03e39e422745770e0000000800000014bf4fc1aed64c871a49fc6bc9dd3878ce5d4d17c6',NULL,0,'UNUSED',NULL,0,1687952810"
|
"'kTCCServiceScreenCapture','com.devexpress.testcafe-browser-tools',0,2,3,1,X'fade0c0000000068000000010000000700000007000000080000001443fa4ca5141baeda21aeca1f50894673b440d4690000000800000014f8afcf6e69791b283e55bd0b03e39e422745770e0000000800000014bf4fc1aed64c871a49fc6bc9dd3878ce5d4d17c6',NULL,0,'UNUSED',NULL,0,1687952810"
|
||||||
"'kTCCServicePostEvent','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1644565949"
|
"'kTCCServicePostEvent','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1644565949"
|
||||||
@@ -32,7 +33,7 @@ systemValuesArray=(
|
|||||||
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
|
"'kTCCServiceSystemPolicyNetworkVolumes','com.apple.Terminal',0,2,4,1,X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',NULL,0,'UNUSED',NULL,0,1678990068"
|
||||||
)
|
)
|
||||||
for values in "${systemValuesArray[@]}"; do
|
for values in "${systemValuesArray[@]}"; do
|
||||||
if is_Sonoma; then
|
if is_Sonoma || is_Sequoia; then
|
||||||
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
||||||
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
configure_system_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
||||||
else
|
else
|
||||||
@@ -54,6 +55,7 @@ userValuesArray=(
|
|||||||
"'kTCCServiceAppleEvents','/bin/bash',1,2,0,1,NULL,NULL,0,'com.apple.finder',NULL,NULL,1592919552"
|
"'kTCCServiceAppleEvents','/bin/bash',1,2,0,1,NULL,NULL,0,'com.apple.finder',NULL,NULL,1592919552"
|
||||||
"'kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576347152"
|
"'kTCCServiceMicrophone','com.apple.CoreSimulator.SimulatorTrampoline',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576347152"
|
||||||
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
"'kTCCServiceMicrophone','/usr/local/opt/runner/runprovisioner.sh',1,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1576661342"
|
||||||
|
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,NULL,'UNUSED',NULL,NULL,1736467200"
|
||||||
"'kTCCServiceUbiquity','/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd',1,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619461750"
|
"'kTCCServiceUbiquity','/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd',1,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619461750"
|
||||||
"'kTCCServiceUbiquity','com.apple.PassKitCore',0,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619516250"
|
"'kTCCServiceUbiquity','com.apple.PassKitCore',0,2,5,1,NULL,NULL,NULL,'UNUSED',NULL,0,1619516250"
|
||||||
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1629294900"
|
"'kTCCServiceAppleEvents','/Library/Application Support/Veertu/Anka/addons/ankarund',1,2,3,1,NULL,NULL,0,'com.apple.finder',X'fade0c000000002c00000001000000060000000200000010636f6d2e6170706c652e66696e64657200000003',NULL,1629294900"
|
||||||
@@ -66,7 +68,7 @@ userValuesArray=(
|
|||||||
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
|
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,3,1,NULL,NULL,0,'com.apple.systemevents',X'fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003',NULL,1592919552"
|
||||||
)
|
)
|
||||||
for values in "${userValuesArray[@]}"; do
|
for values in "${userValuesArray[@]}"; do
|
||||||
if is_Sonoma; then
|
if is_Sonoma || is_Sequoia; then
|
||||||
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
# TCC access table in Sonoma has extra 4 columns: pid, pid_version, boot_uuid, last_reminded
|
||||||
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
configure_user_tccdb "$values,NULL,NULL,'UNUSED',${values##*,}"
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ if [[ ! -d $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE ]]; then
|
|||||||
mkdir -p $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
mkdir -p $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest")
|
download_url=$(resolve_github_release_asset_url "actions/action-versions" "contains(\"action-versions.tar.gz\")" "latest" "$API_PAT")
|
||||||
echo "Downloading action-versions $download_url"
|
echo "Downloading action-versions $download_url"
|
||||||
archive_path=$(download_with_retry $download_url)
|
archive_path=$(download_with_retry $download_url)
|
||||||
tar -xzf $archive_path -C $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
tar -xzf $archive_path -C $ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ echo "Installing aws..."
|
|||||||
awscliv2_pkg_path=$(download_with_retry "https://awscli.amazonaws.com/AWSCLIV2.pkg")
|
awscliv2_pkg_path=$(download_with_retry "https://awscli.amazonaws.com/AWSCLIV2.pkg")
|
||||||
sudo installer -pkg "$awscliv2_pkg_path" -target /
|
sudo installer -pkg "$awscliv2_pkg_path" -target /
|
||||||
|
|
||||||
if ! is_BigSur; then
|
echo "Installing aws sam cli..."
|
||||||
echo "Installing aws sam cli..."
|
brew tap aws/tap
|
||||||
brew tap aws/tap
|
brew_smart_install aws-sam-cli
|
||||||
brew_smart_install aws-sam-cli
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Install aws cli session manager"
|
echo "Install aws cli session manager"
|
||||||
brew install --cask session-manager-plugin
|
brew install --cask session-manager-plugin
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ echo "Google Chrome version is $full_chrome_version"
|
|||||||
# Get Google Chrome versions information
|
# Get Google Chrome versions information
|
||||||
chrome_platform="mac-$arch"
|
chrome_platform="mac-$arch"
|
||||||
CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
|
CHROME_VERSIONS_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build-with-downloads.json"
|
||||||
chrome_versions_json="$(cat $(download_with_retry "$CHROME_VERSIONS_URL"))"
|
chrome_versions_json=$(download_with_retry "$CHROME_VERSIONS_URL")
|
||||||
|
|
||||||
# Download and unpack the latest release of Chrome Driver
|
# Download and unpack the latest release of Chrome Driver
|
||||||
chromedriver_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
chromedriver_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||||
echo "Installing Chrome Driver version $chromedriver_version"
|
echo "Installing Chrome Driver version $chromedriver_version"
|
||||||
|
|
||||||
chromedriver_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url')
|
chromedriver_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chromedriver[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||||
chromedriver_dir="/usr/local/share/chromedriver-$chrome_platform"
|
chromedriver_dir="/usr/local/share/chromedriver-$chrome_platform"
|
||||||
chromedriver_bin="$chromedriver_dir/chromedriver"
|
chromedriver_bin="$chromedriver_dir/chromedriver"
|
||||||
|
|
||||||
@@ -36,10 +36,10 @@ ln -s $chromedriver_bin /usr/local/bin/chromedriver
|
|||||||
echo "export CHROMEWEBDRIVER=$chromedriver_dir" >> ${HOME}/.bashrc
|
echo "export CHROMEWEBDRIVER=$chromedriver_dir" >> ${HOME}/.bashrc
|
||||||
|
|
||||||
# Download and unpack the latest release of Google Chrome for Testing
|
# Download and unpack the latest release of Google Chrome for Testing
|
||||||
chrome_for_testing_version=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
chrome_for_testing_version=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].version')
|
||||||
echo "Installing Google Chrome for Testing version $chrome_for_testing_version"
|
echo "Installing Google Chrome for Testing version $chrome_for_testing_version"
|
||||||
|
|
||||||
chrome_for_testing_url=$(echo $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url')
|
chrome_for_testing_url=$(cat $chrome_versions_json | jq -r '.builds["'"$chrome_version"'"].downloads.chrome[] | select(.platform=="'"${chrome_platform}"'").url')
|
||||||
chrome_for_testing_app="Google Chrome for Testing.app"
|
chrome_for_testing_app="Google Chrome for Testing.app"
|
||||||
|
|
||||||
chrome_for_testing_archive_path=$(download_with_retry $chrome_for_testing_url)
|
chrome_for_testing_archive_path=$(download_with_retry $chrome_for_testing_url)
|
||||||
|
|||||||
@@ -6,12 +6,6 @@
|
|||||||
|
|
||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
# Download and install YQ in cases when it is not available in the formulae as for macOS 11: https://formulae.brew.sh/formula/yq
|
|
||||||
if is_BigSur; then
|
|
||||||
binary_path=$(download_with_retry "https://github.com/mikefarah/yq/releases/latest/download/yq_darwin_amd64")
|
|
||||||
sudo install "$binary_path" /usr/local/bin/yq
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Monterey needs future review:
|
# Monterey needs future review:
|
||||||
# aliyun-cli, gnupg, helm have issues with building from the source code.
|
# aliyun-cli, gnupg, helm have issues with building from the source code.
|
||||||
# Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code.
|
# Added gmp for now, because toolcache ruby needs its libs. Remove it when php starts to build from source code.
|
||||||
@@ -23,7 +17,19 @@ for package in $common_packages; do
|
|||||||
xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
|
xcbeautify_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-core/d3653e83f9c029a3fddb828ac804b07ac32f7b3b/Formula/x/xcbeautify.rb")
|
||||||
brew install "$xcbeautify_path"
|
brew install "$xcbeautify_path"
|
||||||
else
|
else
|
||||||
brew_smart_install "$package"
|
if [[ $package == "packer" ]]; then
|
||||||
|
# Packer has been deprecated in Homebrew. Use tap to install Packer.
|
||||||
|
brew install hashicorp/tap/packer
|
||||||
|
else
|
||||||
|
if (is_VenturaX64 || is_SonomaX64) && [[ $package == "tcl-tk@8" ]]; then
|
||||||
|
brew_smart_install "$package"
|
||||||
|
# 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
|
||||||
|
else
|
||||||
|
brew_smart_install "$package"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -36,45 +42,62 @@ for package in $cask_packages; do
|
|||||||
virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
|
virtualbox_cask_path=$(download_with_retry "https://raw.githubusercontent.com/Homebrew/homebrew-cask/aa3c55951fc9d687acce43e5c0338f42c1ddff7b/Casks/virtualbox.rb")
|
||||||
brew install $virtualbox_cask_path
|
brew install $virtualbox_cask_path
|
||||||
else
|
else
|
||||||
brew install --cask $package
|
if is_Arm64 && [[ $package == "parallels" ]]; then
|
||||||
|
echo "Parallels installation is skipped for arm64 architecture"
|
||||||
|
else
|
||||||
|
brew install --cask $package
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Load "Parallels International GmbH"
|
# Load "Parallels International GmbH"
|
||||||
if is_Monterey; then
|
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||||
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
|
sudo kextload /Applications/Parallels\ Desktop.app/Contents/Library/Extensions/10.9/prl_hypervisor.kext || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Execute AppleScript to change security preferences
|
# Execute AppleScript to change security preferences for macOS12, macOS13 and macOS14
|
||||||
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
|
# System Preferences -> Security & Privacy -> General -> Unlock -> Allow -> Not now
|
||||||
if is_Monterey; then
|
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||||
if is_Veertu; then
|
for retry in {4..0}; do
|
||||||
for retry in {4..0}; do
|
echo "Executing AppleScript to change security preferences. Retries left: $retry"
|
||||||
echo "Executing AppleScript to change security preferences. Retries left: $retry"
|
{
|
||||||
{
|
set -e
|
||||||
set -e
|
osascript -e 'tell application "System Events" to get application processes where visible is true'
|
||||||
osascript -e 'tell application "System Events" to get application processes where visible is true'
|
if is_Monterey; then
|
||||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
||||||
} && break
|
|
||||||
|
|
||||||
if [[ $retry -eq 0 ]]; then
|
|
||||||
echo "Executing AppleScript failed. No retries left"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if is_VenturaX64; then
|
||||||
|
osascript $HOME/utils/confirm-identified-developers-macos13.scpt $USER_PASSWORD
|
||||||
|
fi
|
||||||
|
|
||||||
|
if is_SonomaX64; then
|
||||||
|
osascript $HOME/utils/confirm-identified-developers-macos14.scpt $USER_PASSWORD
|
||||||
|
fi
|
||||||
|
} && break
|
||||||
|
|
||||||
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
|
if [[ $retry -eq 0 ]]; then
|
||||||
sleep 10
|
echo "Executing AppleScript failed. No retries left"
|
||||||
done
|
exit 1
|
||||||
else
|
fi
|
||||||
echo "Executing AppleScript to change security preferences"
|
|
||||||
osascript $HOME/utils/confirm-identified-developers.scpt $USER_PASSWORD
|
echo "Executing AppleScript failed. Sleeping for 10 seconds and retrying"
|
||||||
fi
|
sleep 10
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Validate "Parallels International GmbH" kext
|
# Validate "Parallels International GmbH" kext
|
||||||
if is_Monterey; then
|
if is_Monterey || is_SonomaX64 || is_VenturaX64; then
|
||||||
echo "Closing System Preferences window if it is still opened"
|
|
||||||
killall "System Preferences" || true
|
if is_Monterey; then
|
||||||
|
echo "Closing System Preferences window if it is still opened"
|
||||||
|
killall "System Preferences" || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if is_SonomaX64 || is_VenturaX64; then
|
||||||
|
echo "Closing System Settings window if it is still opened"
|
||||||
|
killall "System Settings" || true
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Checking parallels kexts"
|
echo "Checking parallels kexts"
|
||||||
dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
|
dbName="/var/db/SystemPolicyConfiguration/KextPolicy"
|
||||||
@@ -95,10 +118,8 @@ if is_Monterey; then
|
|||||||
echo "export PARALLELS_DMG_URL=$url" >> ${HOME}/.bashrc
|
echo "export PARALLELS_DMG_URL=$url" >> ${HOME}/.bashrc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! is_BigSur; then
|
# Install Azure DevOps extension for Azure Command Line Interface
|
||||||
# Install Azure DevOps extension for Azure Command Line Interface
|
az extension add -n azure-devops
|
||||||
az extension add -n azure-devops
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Invoke tests for all basic tools
|
# Invoke tests for all basic tools
|
||||||
invoke_tests "BasicTools"
|
invoke_tests "BasicTools"
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash -e -o pipefail
|
||||||
|
################################################################################
|
||||||
|
## File: install-compilable-brew-packages.sh
|
||||||
|
## Desc: Install compilable brew packages
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
|
compilable_packages=$(get_toolset_value '.brew.compilable_packages[]')
|
||||||
|
for package in $compilable_packages; do
|
||||||
|
echo "Installing $package..."
|
||||||
|
brew_smart_install "$package"
|
||||||
|
done
|
||||||
|
|
||||||
|
invoke_tests "Common" "Compiled"
|
||||||
@@ -23,18 +23,12 @@ dotnet_versions=($(get_toolset_value ".dotnet.arch[\"$arch\"].versions | .[]"))
|
|||||||
for dotnet_version in ${dotnet_versions[@]}; do
|
for dotnet_version in ${dotnet_versions[@]}; do
|
||||||
release_url="https://raw.githubusercontent.com/dotnet/core/main/release-notes/${dotnet_version}/releases.json"
|
release_url="https://raw.githubusercontent.com/dotnet/core/main/release-notes/${dotnet_version}/releases.json"
|
||||||
releases_json_file=$(download_with_retry "$release_url")
|
releases_json_file=$(download_with_retry "$release_url")
|
||||||
|
args_list+=(
|
||||||
if [[ $dotnet_version == "6.0" ]]; then
|
$(cat $releases_json_file | \
|
||||||
args_list+=(
|
jq -r '.releases[].sdk."version"' | \
|
||||||
$(cat $releases_json_file | jq -r 'first(.releases[].sdks[]?.version | select(contains("preview") or contains("rc") | not))')
|
grep -v -E '\-(preview|rc)\d*' | \
|
||||||
)
|
sort -r | rev | uniq -s 2 | rev)
|
||||||
else
|
)
|
||||||
args_list+=(
|
|
||||||
$(cat $releases_json_file | \
|
|
||||||
jq -r '.releases[].sdk."version"' | grep -v -E '\-(preview|rc)\d*' | \
|
|
||||||
sort -r | rev | uniq -s 2 | rev)
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
for ARGS in ${args_list[@]}; do
|
for ARGS in ${args_list[@]}; do
|
||||||
|
|||||||
@@ -11,16 +11,13 @@ brew_smart_install "git"
|
|||||||
|
|
||||||
git config --global --add safe.directory "*"
|
git config --global --add safe.directory "*"
|
||||||
|
|
||||||
|
echo "Installing Git LFS"
|
||||||
|
brew_smart_install "git-lfs"
|
||||||
|
|
||||||
if ! is_BigSur; then
|
# Update global git config
|
||||||
echo "Installing Git LFS"
|
git lfs install
|
||||||
brew_smart_install "git-lfs"
|
# Update system git config
|
||||||
|
sudo git lfs install --system
|
||||||
# Update global git config
|
|
||||||
git lfs install
|
|
||||||
# Update system git config
|
|
||||||
sudo git lfs install --system
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Disable all the Git help messages..."
|
echo "Disable all the Git help messages..."
|
||||||
git config --global advice.pushUpdateRejected false
|
git config --global advice.pushUpdateRejected false
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ echo Installing yarn...
|
|||||||
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
|
yarn_installer_path=$(download_with_retry "https://yarnpkg.com/install.sh")
|
||||||
bash $yarn_installer_path
|
bash $yarn_installer_path
|
||||||
|
|
||||||
if is_BigSur || is_Monterey; then
|
if is_Monterey; then
|
||||||
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
|
npm_global_packages=$(get_toolset_value '.npm.global_packages[].name')
|
||||||
for module in ${npm_global_packages[@]}; do
|
for module in ${npm_global_packages[@]}; do
|
||||||
echo "Install $module"
|
echo "Install $module"
|
||||||
|
|||||||
@@ -7,7 +7,16 @@
|
|||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
|
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
|
||||||
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
|
||||||
|
nvm_version=$(get_toolset_value '.node.nvm_installer')
|
||||||
|
if [[ -z $nvm_version || "$nvm_version" == "latest" ]]; then
|
||||||
|
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $nvm_version != "v*" ]]; then
|
||||||
|
nvm_version="v${nvm_version}"
|
||||||
|
fi
|
||||||
|
|
||||||
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
|
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
|
||||||
|
|
||||||
if bash $nvm_installer_path; then
|
if bash $nvm_installer_path; then
|
||||||
|
|||||||
@@ -7,7 +7,13 @@
|
|||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
echo "Install [email protected]"
|
echo "Install [email protected]"
|
||||||
brew_smart_install "[email protected]"
|
|
||||||
|
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
|
||||||
|
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/o/[email protected]"
|
||||||
|
FORMULA_PATH="$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/o/[email protected]"
|
||||||
|
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 [email protected]
|
||||||
|
|
||||||
if ! is_Arm64; then
|
if ! is_Arm64; then
|
||||||
# Symlink brew [email protected] to `/usr/local/bin` as Homebrew refuses
|
# Symlink brew [email protected] to `/usr/local/bin` as Homebrew refuses
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ source ~/utils/utils.sh
|
|||||||
|
|
||||||
echo "Installing Python Tooling"
|
echo "Installing Python Tooling"
|
||||||
|
|
||||||
if is_Monterey || is_BigSur; then
|
if is_Monterey; then
|
||||||
echo "Install latest Python 2"
|
echo "Install latest Python 2"
|
||||||
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
|
python2_pkg=$(download_with_retry "https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg")
|
||||||
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
|
python2_pkg_sha256="c570f38b05dd8b112ad21b418cdf51a9816d62f9f44746452739d421be24d50c"
|
||||||
@@ -33,9 +33,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Close Finder window
|
# Close Finder window
|
||||||
if is_Veertu; then
|
close_finder_window
|
||||||
close_finder_window
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Brew Installing Python 3"
|
echo "Brew Installing Python 3"
|
||||||
brew_smart_install "[email protected]"
|
brew_smart_install "[email protected]"
|
||||||
|
|||||||
@@ -12,8 +12,10 @@ echo "Installing Ruby..."
|
|||||||
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
|
brew_smart_install "ruby@${DEFAULT_RUBY_VERSION}"
|
||||||
if [[ $arch == "arm64" ]]; then
|
if [[ $arch == "arm64" ]]; then
|
||||||
export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
export PATH=/opt/homebrew/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
||||||
|
ruby_suffix="macos-13-arm64"
|
||||||
else
|
else
|
||||||
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
export PATH=/usr/local/opt/ruby@${DEFAULT_RUBY_VERSION}/bin:$PATH
|
||||||
|
ruby_suffix="macos-latest"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}')
|
GEM_PATH=$(gem env|awk '/EXECUTABLE DIRECTORY/ {print $4}')
|
||||||
@@ -24,37 +26,36 @@ else
|
|||||||
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc
|
echo 'export PATH="$GEM_PATH:/usr/local/opt/ruby@'${DEFAULT_RUBY_VERSION}'/bin:$PATH"' >> $HOME/.bashrc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! is_Arm64; then
|
echo "Install Ruby from toolset..."
|
||||||
echo "Install Ruby from toolset..."
|
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
||||||
[ -n "$API_PAT" ] && authString=(-H "Authorization: token ${API_PAT}")
|
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
||||||
PACKAGE_TAR_NAMES=$(curl "${authString[@]}" -fsSL "https://api.github.com/repos/ruby/ruby-builder/releases/latest" | jq -r '.assets[].name')
|
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
|
||||||
TOOLSET_VERSIONS=$(get_toolset_value '.toolcache[] | select(.name | contains("Ruby")) | .arch.'$arch'.versions[]')
|
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
|
||||||
RUBY_PATH=$AGENT_TOOLSDIRECTORY/Ruby
|
|
||||||
|
|
||||||
echo "Check if Ruby hostedtoolcache folder exists..."
|
echo "Check if Ruby hostedtoolcache folder exists..."
|
||||||
if [[ ! -d $RUBY_PATH ]]; then
|
if [[ ! -d $RUBY_PATH ]]; then
|
||||||
mkdir -p $RUBY_PATH
|
mkdir -p $RUBY_PATH
|
||||||
fi
|
|
||||||
echo "ruby path - $RUBY_PATH "
|
|
||||||
for TOOLSET_VERSION in ${TOOLSET_VERSIONS[@]}; do
|
|
||||||
PACKAGE_TAR_NAME=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${TOOLSET_VERSION}-macos-latest.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
|
|
||||||
RUBY_VERSION=$(echo "$PACKAGE_TAR_NAME" | cut -d'-' -f 2)
|
|
||||||
RUBY_VERSION_PATH="$RUBY_PATH/$RUBY_VERSION"
|
|
||||||
|
|
||||||
echo "Create Ruby $RUBY_VERSION directory..."
|
|
||||||
mkdir -p $RUBY_VERSION_PATH
|
|
||||||
|
|
||||||
echo "Downloading tar archive $PACKAGE_TAR_NAME"
|
|
||||||
ARCHIVE_PATH=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${PACKAGE_TAR_NAME}")
|
|
||||||
|
|
||||||
echo "Expand $PACKAGE_TAR_NAME to the $RUBY_VERSION_PATH folder"
|
|
||||||
tar xf $ARCHIVE_PATH -C $RUBY_VERSION_PATH
|
|
||||||
COMPLETE_FILE_PATH=$RUBY_VERSION_PATH/x64.complete
|
|
||||||
if [[ ! -f $COMPLETE_FILE_PATH ]]; then
|
|
||||||
echo "Create complete file"
|
|
||||||
touch $COMPLETE_FILE_PATH
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
echo "ruby path - $RUBY_PATH"
|
||||||
|
|
||||||
invoke_tests "Ruby.$arch"
|
for toolset_version in ${TOOLSET_VERSIONS[@]}; do
|
||||||
|
package_tar_name=$(echo "$PACKAGE_TAR_NAMES" | grep "^ruby-${toolset_version}-${ruby_suffix}.tar.gz$" | egrep -v "rc|preview" | sort -V | tail -1)
|
||||||
|
ruby_version=$(echo "$package_tar_name" | cut -d'-' -f 2)
|
||||||
|
ruby_version_path="$RUBY_PATH/$ruby_version"
|
||||||
|
|
||||||
|
echo "Create Ruby $ruby_version directory..."
|
||||||
|
mkdir -p $ruby_version_path
|
||||||
|
|
||||||
|
echo "Downloading tar archive $package_tar_name"
|
||||||
|
archive_path=$(download_with_retry "https://github.com/ruby/ruby-builder/releases/download/toolcache/${package_tar_name}")
|
||||||
|
|
||||||
|
echo "Expand $package_tar_name to the $ruby_version_path folder"
|
||||||
|
tar xf $archive_path -C $ruby_version_path
|
||||||
|
complete_file_path=$ruby_version_path/$arch.complete
|
||||||
|
if [[ ! -f $complete_file_path ]]; then
|
||||||
|
echo "Create complete file"
|
||||||
|
touch $complete_file_path
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
invoke_tests "Ruby"
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ source ~/utils/utils.sh
|
|||||||
echo "Updating RubyGems..."
|
echo "Updating RubyGems..."
|
||||||
gem update --system
|
gem update --system
|
||||||
|
|
||||||
# Temporarily install activesupport 7.0.8 due to compatibility issues with cocoapods https://github.com/CocoaPods/CocoaPods/issues/12081
|
# Temporarily install activesupport 7.1.5.1 due to compatibility issues with cocoapods https://github.com/CocoaPods/CocoaPods/issues/12081
|
||||||
gem install activesupport -v 7.0.8
|
gem install activesupport -v 7.1.5.1
|
||||||
|
|
||||||
gemsToInstall=$(get_toolset_value '.ruby.rubygems | .[]')
|
gemsToInstall=$(get_toolset_value '.ruby.rubygems | .[]')
|
||||||
if [[ -n $gemsToInstall ]]; then
|
if [[ -n $gemsToInstall ]]; then
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ CARGO_HOME=$HOME/.cargo
|
|||||||
echo "Install common tools..."
|
echo "Install common tools..."
|
||||||
rustup component add rustfmt clippy
|
rustup component add rustfmt clippy
|
||||||
|
|
||||||
if is_BigSur || is_Monterey; then
|
if is_Monterey; then
|
||||||
cargo install --locked bindgen-cli cbindgen cargo-audit cargo-outdated
|
cargo install bindgen-cli cbindgen cargo-audit cargo-outdated
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Cleanup Cargo registry cached data..."
|
echo "Cleanup Cargo registry cached data..."
|
||||||
|
|||||||
@@ -7,14 +7,7 @@
|
|||||||
source ~/utils/utils.sh
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
echo "Installing Swiftlint..."
|
echo "Installing Swiftlint..."
|
||||||
if is_BigSur; then
|
if is_Monterey; then
|
||||||
# SwiftLint now requires Swift 5.6 or higher to build, and macOS 12 or higher to run https://github.com/realm/SwiftLint/releases/tag/0.49.0
|
|
||||||
COMMIT=d1d5743344227fe6e3c37cfba19f0cfe15a9448a
|
|
||||||
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/swiftlint.rb"
|
|
||||||
|
|
||||||
curl -fsSL $FORMULA_URL > $(find $(brew --repository) -name swiftlint.rb)
|
|
||||||
HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_FROM_API=1 brew install swiftlint
|
|
||||||
elif is_Monterey; then
|
|
||||||
# SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1
|
# SwiftLint now requires Xcode 15.3 or higher to build https://github.com/realm/SwiftLint/releases/tag/0.55.1
|
||||||
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
|
COMMIT=d91dabd087cb0b906c92a825df9e5e5e1a4f59f8
|
||||||
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb"
|
FORMULA_URL="https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/s/swiftlint.rb"
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash -e -o pipefail
|
||||||
|
################################################################################
|
||||||
|
## File: install-unxip.sh
|
||||||
|
## Desc: Install unxip
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
source ~/utils/utils.sh
|
||||||
|
|
||||||
|
echo "Installing unxip..."
|
||||||
|
unxip_pkg=$(download_with_retry "https://github.com/saagarjha/unxip/releases/download/v3.1/unxip")
|
||||||
|
unxip_pkg_sha256="926ecd7bffa201c7b2b8a729fc70fbf228cf624a0e6856c13f935a97fa4fc71a"
|
||||||
|
use_checksum_comparison $unxip_pkg $unxip_pkg_sha256
|
||||||
|
install "$unxip_pkg" /usr/local/bin/unxip
|
||||||
|
|
||||||
|
invoke_tests "Common" "Unxip"
|
||||||
@@ -38,32 +38,34 @@ $languageAndRuntime.AddToolVersion("Bash", $(Get-BashVersion))
|
|||||||
$languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
|
$languageAndRuntime.AddNodes($(Get-ClangLLVMVersions))
|
||||||
$languageAndRuntime.AddNodes($(Get-GccVersions))
|
$languageAndRuntime.AddNodes($(Get-GccVersions))
|
||||||
$languageAndRuntime.AddNodes($(Get-FortranVersions))
|
$languageAndRuntime.AddNodes($(Get-FortranVersions))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
$languageAndRuntime.AddToolVersion("Julia", $(Get-JuliaVersion))
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
|
$languageAndRuntime.AddToolVersion("Kotlin", $(Get-KotlinVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
|
$languageAndRuntime.AddToolVersion("Go", $(Get-GoVersion))
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
if ((-not $os.IsSequoia)) {
|
||||||
|
$languageAndRuntime.AddToolVersion("Mono", $(Get-MonoVersion))
|
||||||
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
|
$languageAndRuntime.AddToolVersion("Node.js", $(Get-NodeVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
|
$languageAndRuntime.AddToolVersion("MSBuild", $(Get-MSBuildVersion))
|
||||||
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
|
$languageAndRuntime.AddToolVersion("NVM", $(Get-NVMVersion))
|
||||||
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
$languageAndRuntime.AddToolVersionsListInline("NVM - Cached node versions", $(Get-NVMNodeVersionList), '^\d+')
|
||||||
}
|
}
|
||||||
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
$languageAndRuntime.AddToolVersion("Perl", $(Get-PerlVersion))
|
||||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||||
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
$languageAndRuntime.AddToolVersion("PHP", $(Get-PHPVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
|
$languageAndRuntime.AddToolVersion("Python", $(Get-PythonVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
$languageAndRuntime.AddToolVersion("Python3", $(Get-Python3Version))
|
||||||
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsBigSur)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
$languageAndRuntime.AddToolVersion("R", $(Get-RVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,16 +76,18 @@ $packageManagement = $installedSoftware.AddHeader("Package Management")
|
|||||||
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
$packageManagement.AddToolVersion("Bundler", $(Get-BundlerVersion))
|
||||||
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
$packageManagement.AddToolVersion("Carthage", $(Get-CarthageVersion))
|
||||||
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
$packageManagement.AddToolVersion("CocoaPods", $(Get-CocoaPodsVersion))
|
||||||
if ((-not $os.IsBigSur) -and (-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||||
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
$packageManagement.AddToolVersion("Composer", $(Get-ComposerVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
$packageManagement.AddToolVersion("Homebrew", $(Get-HomebrewVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
|
$packageManagement.AddToolVersion("Miniconda", $(Get-CondaVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
|
$packageManagement.AddToolVersion("NPM", $(Get-NPMVersion))
|
||||||
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
if ((-not $os.IsSequoia)) {
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
$packageManagement.AddToolVersion("NuGet", $(Get-NuGetVersion))
|
||||||
|
}
|
||||||
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
|
$packageManagement.AddToolVersion("Pip", $(Get-PipVersion -Version 2))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,12 +95,12 @@ $packageManagement.AddToolVersion("Pip3", $(Get-PipVersion -Version 3))
|
|||||||
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
$packageManagement.AddToolVersion("Pipx", $(Get-PipxVersion))
|
||||||
|
|
||||||
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
|
$packageManagement.AddToolVersion("RubyGems", $(Get-RubyGemsVersion))
|
||||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
|
$packageManagement.AddToolVersion("Vcpkg", $(Get-VcpkgVersion))
|
||||||
}
|
}
|
||||||
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
|
$packageManagement.AddToolVersion("Yarn", $(Get-YarnVersion))
|
||||||
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
|
$packageManagement.AddNode($(Build-PackageManagementEnvironmentTable))
|
||||||
}
|
}
|
||||||
# Project Management
|
# Project Management
|
||||||
@@ -104,7 +108,7 @@ $projectManagement = $installedSoftware.AddHeader("Project Management")
|
|||||||
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
|
$projectManagement.AddToolVersion("Apache Ant", $(Get-ApacheAntVersion))
|
||||||
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
|
$projectManagement.AddToolVersion("Apache Maven", $(Get-MavenVersion))
|
||||||
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
$projectManagement.AddToolVersion("Gradle", $(Get-GradleVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
$projectManagement.AddToolVersion("Sbt", $(Get-SbtVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,31 +122,23 @@ $utilities.AddToolVersion("bazelisk", $(Get-BazeliskVersion))
|
|||||||
$utilities.AddToolVersion("bsdtar", $(Get-BsdtarVersion))
|
$utilities.AddToolVersion("bsdtar", $(Get-BsdtarVersion))
|
||||||
$utilities.AddToolVersion("Curl", $(Get-CurlVersion))
|
$utilities.AddToolVersion("Curl", $(Get-CurlVersion))
|
||||||
$utilities.AddToolVersion("Git", $(Get-GitVersion))
|
$utilities.AddToolVersion("Git", $(Get-GitVersion))
|
||||||
if (-not $os.IsBigSur) {
|
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
||||||
$utilities.AddToolVersion("Git LFS", $(Get-GitLFSVersion))
|
|
||||||
}
|
|
||||||
$utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion))
|
$utilities.AddToolVersion("GitHub CLI", $(Get-GitHubCLIVersion))
|
||||||
$utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion))
|
$utilities.AddToolVersion("GNU Tar", $(Get-GnuTarVersion))
|
||||||
$utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion))
|
$utilities.AddToolVersion("GNU Wget", $(Get-WgetVersion))
|
||||||
$utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
|
$utilities.AddToolVersion("gpg (GnuPG)", $(Get-GPGVersion))
|
||||||
if ($os.IsBigSur) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$utilities.AddToolVersion("helm", $(Get-HelmVersion))
|
|
||||||
}
|
|
||||||
if ((-not $os.IsBigSur) -and (-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
|
||||||
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
$utilities.AddToolVersion("ImageMagick", $(Get-ImageMagickVersion))
|
||||||
}
|
}
|
||||||
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
$utilities.AddToolVersion("jq", $(Get-JqVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
|
$utilities.AddToolVersion("mongo", $(Get-MongoVersion))
|
||||||
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
|
$utilities.AddToolVersion("mongod", $(Get-MongodVersion))
|
||||||
}
|
}
|
||||||
if ($os.IsBigSur) {
|
|
||||||
$utilities.AddToolVersion("Newman", $(Get-NewmanVersion))
|
|
||||||
}
|
|
||||||
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
|
$utilities.AddToolVersion("OpenSSL", $(Get-OpenSSLVersion))
|
||||||
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
|
$utilities.AddToolVersion("Packer", $(Get-PackerVersion))
|
||||||
$utilities.AddToolVersion("pkg-config", $(Get-PKGConfigVersion))
|
$utilities.AddToolVersion("pkgconf", $(Get-PKGConfVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
|
$utilities.AddToolVersion("PostgreSQL", $(Get-PostgresServerVersion))
|
||||||
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
|
$utilities.AddToolVersion("psql (PostgreSQL)", $(Get-PostgresClientVersion))
|
||||||
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
|
$utilities.AddToolVersion("Sox", $(Get-SoxVersion))
|
||||||
@@ -153,28 +149,22 @@ if ($os.IsMonterey) {
|
|||||||
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
|
$utilities.AddToolVersion("Vagrant", $(Get-VagrantVersion))
|
||||||
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
|
$utilities.AddToolVersion("VirtualBox", $(Get-VirtualBoxVersion))
|
||||||
}
|
}
|
||||||
|
$utilities.AddToolVersion("Unxip", $(Get-UnxipVersion))
|
||||||
$utilities.AddToolVersion("yq", $(Get-YqVersion))
|
$utilities.AddToolVersion("yq", $(Get-YqVersion))
|
||||||
$utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
|
$utilities.AddToolVersion("zstd", $(Get-ZstdVersion))
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
$tools = $installedSoftware.AddHeader("Tools")
|
$tools = $installedSoftware.AddHeader("Tools")
|
||||||
if ($os.IsBigSur) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$tools.AddToolVersion("Aliyun CLI", $(Get-AliyunCLIVersion))
|
|
||||||
}
|
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
|
||||||
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
|
$tools.AddToolVersion("App Center CLI", $(Get-AppCenterCLIVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
|
$tools.AddToolVersion("AWS CLI", $(Get-AWSCLIVersion))
|
||||||
if (-not $os.IsBigSur) {
|
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
|
||||||
$tools.AddToolVersion("AWS SAM CLI", $(Get-AWSSAMCLIVersion))
|
|
||||||
}
|
|
||||||
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
|
$tools.AddToolVersion("AWS Session Manager CLI", $(Get-AWSSessionManagerCLIVersion))
|
||||||
if (-not $os.IsBigSur) {
|
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
||||||
$tools.AddToolVersion("Azure CLI", $(Get-AzureCLIVersion))
|
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
||||||
$tools.AddToolVersion("Azure CLI (azure-devops)", $(Get-AzureDevopsVersion))
|
|
||||||
}
|
|
||||||
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
|
$tools.AddToolVersion("Bicep CLI", $(Get-BicepVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
$tools.AddToolVersion("Cabal", $(Get-CabalVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
|
$tools.AddToolVersion("Cmake", $(Get-CmakeVersion))
|
||||||
@@ -183,30 +173,26 @@ if ($os.IsMonterey) {
|
|||||||
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
|
$tools.AddToolVersion("Colima", $(Get-ColimaVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
$tools.AddToolVersion("Fastlane", $(Get-FastlaneVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
|
$tools.AddToolVersion("GHC", $(Get-GHCVersion))
|
||||||
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
|
$tools.AddToolVersion("GHCup", $(Get-GHCupVersion))
|
||||||
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
|
$tools.AddToolVersion("Jazzy", $(Get-JazzyVersion))
|
||||||
$tools.AddToolVersion("Stack", $(Get-StackVersion))
|
$tools.AddToolVersion("Stack", $(Get-StackVersion))
|
||||||
}
|
}
|
||||||
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
$tools.AddToolVersion("SwiftFormat", $(Get-SwiftFormatVersion))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
$tools.AddToolVersion("Swig", $(Get-SwigVersion))
|
||||||
}
|
}
|
||||||
if (-not $os.IsBigSur) {
|
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
||||||
$tools.AddToolVersion("Xcbeautify", $(Get-XcbeautifyVersion))
|
|
||||||
}
|
|
||||||
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
$tools.AddToolVersion("Xcode Command Line Tools", $(Get-XcodeCommandLineToolsVersion))
|
||||||
if (-not $os.IsBigSur) {
|
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
||||||
$tools.AddToolVersion("Xcodes", $(Get-XcodesVersion))
|
|
||||||
}
|
|
||||||
|
|
||||||
# Linters
|
# Linters
|
||||||
$linters = $installedSoftware.AddHeader("Linters")
|
$linters = $installedSoftware.AddHeader("Linters")
|
||||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||||
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
|
$linters.AddToolVersion("SwiftLint", $(Get-SwiftLintVersion))
|
||||||
}
|
}
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
|
$linters.AddToolVersion("Yamllint", $(Get-YamllintVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,12 +206,10 @@ $java = $installedSoftware.AddHeader("Java")
|
|||||||
$java.AddTable($(Get-JavaVersions))
|
$java.AddTable($(Get-JavaVersions))
|
||||||
|
|
||||||
# Toolcache
|
# Toolcache
|
||||||
|
|
||||||
$toolcache = $installedSoftware.AddHeader("Cached Tools")
|
$toolcache = $installedSoftware.AddHeader("Cached Tools")
|
||||||
$toolcache.AddNodes($(Build-ToolcacheSection))
|
$toolcache.AddNodes($(Build-ToolcacheSection))
|
||||||
|
|
||||||
# Rust
|
# Rust
|
||||||
if (-not $os.IsBigSur) {
|
|
||||||
$rust = $installedSoftware.AddHeader("Rust Tools")
|
$rust = $installedSoftware.AddHeader("Rust Tools")
|
||||||
$rust.AddToolVersion("Cargo", $(Get-RustCargoVersion))
|
$rust.AddToolVersion("Cargo", $(Get-RustCargoVersion))
|
||||||
$rust.AddToolVersion("Rust", $(Get-RustVersion))
|
$rust.AddToolVersion("Rust", $(Get-RustVersion))
|
||||||
@@ -233,7 +217,7 @@ $rust.AddToolVersion("Rustdoc", $(Get-RustdocVersion))
|
|||||||
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
|
$rust.AddToolVersion("Rustup", $(Get-RustupVersion))
|
||||||
|
|
||||||
$rustPackages = $rust.AddHeader("Packages")
|
$rustPackages = $rust.AddHeader("Packages")
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
|
$rustPackages.AddToolVersion("Bindgen", $(Get-Bindgen))
|
||||||
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
|
$rustPackages.AddToolVersion("Cargo-audit", $(Get-Cargoaudit))
|
||||||
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
|
$rustPackages.AddToolVersion("Cargo-outdated", $(Get-Cargooutdated))
|
||||||
@@ -241,7 +225,6 @@ if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
|||||||
}
|
}
|
||||||
$rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion))
|
$rustPackages.AddToolVersion("Clippy", $(Get-RustClippyVersion))
|
||||||
$rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion))
|
$rustPackages.AddToolVersion("Rustfmt", $(Get-RustfmtVersion))
|
||||||
}
|
|
||||||
|
|
||||||
# PowerShell
|
# PowerShell
|
||||||
$powerShell = $installedSoftware.AddHeader("PowerShell Tools")
|
$powerShell = $installedSoftware.AddHeader("PowerShell Tools")
|
||||||
@@ -251,13 +234,13 @@ $powerShellModules = $powerShell.AddHeader("PowerShell Modules")
|
|||||||
$powerShellModules.AddNodes($(Get-PowerShellModules))
|
$powerShellModules.AddNodes($(Get-PowerShellModules))
|
||||||
|
|
||||||
# Web Servers
|
# Web Servers
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$webServers = $installedSoftware.AddHeader("Web Servers")
|
$webServers = $installedSoftware.AddHeader("Web Servers")
|
||||||
$webServers.AddTable($(Build-WebServersSection))
|
$webServers.AddTable($(Build-WebServersSection))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Xamarin section
|
# Xamarin section
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$xamarin = $installedSoftware.AddHeader("Xamarin")
|
$xamarin = $installedSoftware.AddHeader("Xamarin")
|
||||||
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
|
$vsForMac = $xamarin.AddHeader("Visual Studio for Mac")
|
||||||
$vsForMac.AddTable($(Build-VSMacTable))
|
$vsForMac.AddTable($(Build-VSMacTable))
|
||||||
@@ -284,7 +267,7 @@ Get-XcodeInfoList | Out-Null
|
|||||||
|
|
||||||
$xcodeInfo = Get-XcodeInfoList
|
$xcodeInfo = Get-XcodeInfoList
|
||||||
$xcode.AddTable($(Build-XcodeTable $xcodeInfo))
|
$xcode.AddTable($(Build-XcodeTable $xcodeInfo))
|
||||||
if ((-not $os.IsVentura) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVentura) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$xcodeTools = $xcode.AddHeader("Xcode Support Tools")
|
$xcodeTools = $xcode.AddHeader("Xcode Support Tools")
|
||||||
$xcodeTools.AddNodes($(Build-XcodeSupportToolsSection))
|
$xcodeTools.AddNodes($(Build-XcodeSupportToolsSection))
|
||||||
}
|
}
|
||||||
@@ -303,7 +286,7 @@ $android.AddTable($androidTable)
|
|||||||
$androidEnv = $android.AddHeader("Environment variables")
|
$androidEnv = $android.AddHeader("Environment variables")
|
||||||
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
|
$androidEnv.AddTable($(Build-AndroidEnvironmentTable))
|
||||||
|
|
||||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
if ($os.IsMonterey) {
|
||||||
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
||||||
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
|
$miscellaneous.AddToolVersion("libXext", $(Get-LibXextVersion))
|
||||||
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
|
$miscellaneous.AddToolVersion("libXft", $(Get-LibXftVersion))
|
||||||
@@ -311,7 +294,15 @@ if ($os.IsBigSur -or $os.IsMonterey) {
|
|||||||
$miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion))
|
$miscellaneous.AddToolVersion("Zlib", $(Get-ZlibVersion))
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($os.IsMonterey) {
|
if ($os.IsSonoma -or $os.IsVentura) {
|
||||||
|
$miscellaneous = $installedSoftware.AddHeader("Miscellaneous")
|
||||||
|
$miscellaneous.AddToolVersion("Tcl/Tk", $(Get-TclTkVersion))
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($os.IsMonterey -or $os.IsSonomaX64 -or $os.IsVenturaX64) {
|
||||||
|
|
||||||
|
Write-Host "Adding environment variables for parallels"
|
||||||
|
|
||||||
$miscellaneousEnv = $miscellaneous.AddHeader("Environment variables")
|
$miscellaneousEnv = $miscellaneous.AddHeader("Environment variables")
|
||||||
$miscellaneousEnv.AddTable($(Build-MiscellaneousEnvironmentTable))
|
$miscellaneousEnv.AddTable($(Build-MiscellaneousEnvironmentTable))
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ function Build-BrowserSection {
|
|||||||
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
[ToolVersionNode]::new("ChromeDriver", $(Get-ChromeDriverVersion))
|
||||||
)
|
)
|
||||||
|
|
||||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64) -and (-not $os.IsSequoiaArm64)) {
|
||||||
$nodes += @(
|
$nodes += @(
|
||||||
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
[ToolVersionNode]::new("Microsoft Edge", $(Get-EdgeVersion))
|
||||||
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
[ToolVersionNode]::new("Microsoft Edge WebDriver", $(Get-EdgeDriverVersion))
|
||||||
@@ -79,7 +79,7 @@ function Get-GeckodriverVersion {
|
|||||||
|
|
||||||
function Get-SeleniumVersion {
|
function Get-SeleniumVersion {
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
$cellarPath = "/opt/homebrew/Cellar"
|
$cellarPath = "/opt/homebrew/Cellar"
|
||||||
} else {
|
} else {
|
||||||
$cellarPath = "/usr/local/Cellar"
|
$cellarPath = "/usr/local/Cellar"
|
||||||
|
|||||||
@@ -367,11 +367,6 @@ function Get-BazeliskVersion {
|
|||||||
return ($bazeliskVersion -replace "^bazelisk").Trim()
|
return ($bazeliskVersion -replace "^bazelisk").Trim()
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-HelmVersion {
|
|
||||||
$helmVersion = Run-Command "helm version --short"
|
|
||||||
return $helmVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-MongoVersion {
|
function Get-MongoVersion {
|
||||||
$mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
|
$mongo = Run-Command "mongo --version" | Select-String "MongoDB shell version" | Take-Part -Part 3
|
||||||
return $mongo.TrimStart("v").Trim()
|
return $mongo.TrimStart("v").Trim()
|
||||||
@@ -397,11 +392,6 @@ function Get-BsdtarVersion {
|
|||||||
return "$bsdtar - available by 'tar' alias"
|
return "$bsdtar - available by 'tar' alias"
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-NewmanVersion {
|
|
||||||
$newmanVersion = Run-Command "newman --version"
|
|
||||||
return $newmanVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-VirtualBoxVersion {
|
function Get-VirtualBoxVersion {
|
||||||
$virtualBox = Run-Command "vboxmanage -v"
|
$virtualBox = Run-Command "vboxmanage -v"
|
||||||
return $virtualBox
|
return $virtualBox
|
||||||
@@ -457,11 +447,6 @@ function Get-AWSSessionManagerCLIVersion {
|
|||||||
return $awsSessionManagerVersion
|
return $awsSessionManagerVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-AliyunCLIVersion {
|
|
||||||
$aliyunVersion = Run-Command "aliyun --version" | Select-String "Alibaba Cloud Command Line Interface Version " | Take-Part -Part 6
|
|
||||||
return $aliyunVersion
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-GHCupVersion {
|
function Get-GHCupVersion {
|
||||||
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
|
$ghcUpVersion = (Run-Command "ghcup --version" | Take-Part -Part 5).Replace('v','')
|
||||||
return $ghcUpVersion
|
return $ghcUpVersion
|
||||||
@@ -553,7 +538,7 @@ function Get-LibXextVersion {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function Get-TclTkVersion {
|
function Get-TclTkVersion {
|
||||||
$tcltkVersion = (Run-Command "brew info --json tcl-tk" | ConvertFrom-Json).installed.version
|
$tcltkVersion = (Run-Command "brew info --json tcl-tk@8" | ConvertFrom-Json).installed.version
|
||||||
return $tcltkVersion
|
return $tcltkVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -620,9 +605,9 @@ function Get-ColimaVersion {
|
|||||||
return $colimaVersion
|
return $colimaVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-PKGConfigVersion {
|
function Get-PKGConfVersion {
|
||||||
$pkgconfigVersion = Run-Command "pkg-config --version"
|
$pkgconfVersion = Run-Command "pkgconf --version"
|
||||||
return $pkgconfigVersion
|
return $pkgconfVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
function Get-XcbeautifyVersion {
|
function Get-XcbeautifyVersion {
|
||||||
@@ -634,3 +619,8 @@ function Get-XcodesVersion {
|
|||||||
$XcodesVersion = Run-Command "xcodes version"
|
$XcodesVersion = Run-Command "xcodes version"
|
||||||
return $XcodesVersion
|
return $XcodesVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Get-UnxipVersion {
|
||||||
|
$unxipVersion = Run-Command "unxip --version" | Take-Part -Part 1
|
||||||
|
return $unxipVersion
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ function Get-JavaVersions {
|
|||||||
$defaultJavaPath = (Get-Item env:JAVA_HOME).value
|
$defaultJavaPath = (Get-Item env:JAVA_HOME).value
|
||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
$javaVersions = Get-Item env:JAVA_HOME_*_arm64
|
$javaVersions = Get-Item env:JAVA_HOME_*_arm64
|
||||||
} else {
|
} else {
|
||||||
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
$javaVersions = Get-Item env:JAVA_HOME_*_X64
|
||||||
|
|||||||
@@ -37,18 +37,14 @@ function Build-ToolcacheSection {
|
|||||||
|
|
||||||
$nodes = @()
|
$nodes = @()
|
||||||
|
|
||||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma)) {
|
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonoma) -and (-not $os.IsSequoia)) {
|
||||||
$nodes += @(
|
$nodes += @(
|
||||||
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
|
[ToolVersionsListNode]::new("PyPy", $(Get-ToolcachePyPyVersions), '^\d+\.\d+', "List")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if ((-not $os.IsVenturaArm64) -and (-not $os.IsSonomaArm64)) {
|
|
||||||
$nodes += @(
|
|
||||||
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
$nodes += @(
|
$nodes += @(
|
||||||
|
[ToolVersionsListNode]::new("Ruby", $(Get-ToolcacheRubyVersions), '^\d+\.\d+', "List")
|
||||||
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
|
[ToolVersionsListNode]::new("Python", $(Get-ToolcachePythonVersions), '^\d+\.\d+', "List"),
|
||||||
[ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"),
|
[ToolVersionsListNode]::new("Node.js", $(Get-ToolcacheNodeVersions), '^\d+', "List"),
|
||||||
[ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List")
|
[ToolVersionsListNode]::new("Go", $(Get-ToolcacheGoVersions), '^\d+\.\d+', "List")
|
||||||
|
|||||||
@@ -94,12 +94,26 @@ function Build-XcodeTable {
|
|||||||
|
|
||||||
$xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules
|
$xcodeList = $xcodeInfo.Values | ForEach-Object { $_.VersionInfo } | Sort-Object $sortRules
|
||||||
return $xcodeList | ForEach-Object {
|
return $xcodeList | ForEach-Object {
|
||||||
$defaultPostfix = If ($_.IsDefault) { " (default)" } else { "" }
|
$defaultPostfix = if ($_.IsDefault) { " (default)" } else { "" }
|
||||||
$betaPostfix = If ($_.IsStable) { "" } else { " (beta)" }
|
$betaPostfix = if ($_.IsStable) { "" } else { " (beta)" }
|
||||||
|
$targetPath = $_.Path
|
||||||
|
$symlinks = @()
|
||||||
|
Get-ChildItem -Path "/Applications" | ForEach-Object {
|
||||||
|
if ($_.LinkType -eq 'SymbolicLink') {
|
||||||
|
$linkTarget = & readlink $_.FullName
|
||||||
|
if ($linkTarget -eq $targetPath) {
|
||||||
|
$symlinks += $_.FullName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($null -eq $symlinks) {
|
||||||
|
$symlinks = @("N/A")
|
||||||
|
}
|
||||||
return [PSCustomObject] @{
|
return [PSCustomObject] @{
|
||||||
"Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix
|
"Version" = $_.Version.ToString() + $betaPostfix + $defaultPostfix
|
||||||
"Build" = $_.Build
|
"Build" = $_.Build
|
||||||
"Path" = $_.Path
|
"Path" = $_.Path
|
||||||
|
"Symlinks" = [String]::Join("<br>", $symlinks)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -186,35 +200,30 @@ function Build-XcodeSimulatorsTable {
|
|||||||
$runtimes += $_
|
$runtimes += $_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$runtimes = $runtimes | Sort-Object @{ Expression = { $_.identifier } } -Unique
|
$runtimes = $runtimes | Sort-Object @{ Expression = { $_.identifier } } -Unique
|
||||||
|
|
||||||
return $runtimes | ForEach-Object {
|
return $runtimes | ForEach-Object {
|
||||||
$runtime = $_
|
$runtime = $_
|
||||||
$runtimeDevices = @()
|
$runtimeDevices = @()
|
||||||
$xcodeList = @()
|
|
||||||
|
|
||||||
$xcodeInfo.Values | ForEach-Object {
|
$xcodeInfo.Values | ForEach-Object {
|
||||||
$runtimeFound = $_.SimulatorsInfo.runtimes | Where-Object { $_.identifier -eq $runtime.identifier } | Select-Object -First 1
|
$runtimeFound = $_.SimulatorsInfo.runtimes | Where-Object { $_.identifier -eq $runtime.identifier } | Select-Object -First 1
|
||||||
if ($runtimeFound) {
|
if ($runtimeFound) {
|
||||||
$devicesToAdd = Build-XcodeDevicesList -XcodeInfo $_ -Runtime $runtimeFound
|
$devicesToAdd = Build-XcodeDevicesList -XcodeInfo $_ -Runtime $runtimeFound
|
||||||
$runtimeDevices += $devicesToAdd | Select-Object -ExpandProperty name
|
$runtimeDevices += $devicesToAdd | Select-Object -ExpandProperty name
|
||||||
$xcodeList += $_.VersionInfo.Version
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$xcodeList = $xcodeList | Sort-Object
|
|
||||||
$runtimeDevices = $runtimeDevices | ForEach-Object { Format-XcodeSimulatorName $_ } | Select-Object -Unique
|
$runtimeDevices = $runtimeDevices | ForEach-Object { Format-XcodeSimulatorName $_ } | Select-Object -Unique
|
||||||
$sortedRuntimeDevices = $runtimeDevices | Sort-Object @{
|
If (($runtimeDevices | Where-Object { -not ([string]::IsNullOrWhitespace($_)) }).Count -eq 0) {
|
||||||
Expression = { $_.Split(" ")[0] };
|
$sortedRuntimeDevices = @("N/A")
|
||||||
Descending = $true;
|
} else {
|
||||||
}, {
|
$sortedRuntimeDevices = $runtimeDevices | Sort-Object @{
|
||||||
$_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
|
Expression = { $_.Split(" ")[0] };
|
||||||
|
Descending = $true;
|
||||||
|
}, {
|
||||||
|
$_.Split(" ") | Select-Object -Skip 1 | Join-String -Separator " "
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [PSCustomObject] @{
|
return [PSCustomObject] @{
|
||||||
"OS" = $runtime.name
|
"OS" = $runtime.name
|
||||||
"Xcode Version" = [String]::Join("<br>", $xcodeList)
|
|
||||||
"Simulators" = [String]::Join("<br>", $sortedRuntimeDevices)
|
"Simulators" = [String]::Join("<br>", $sortedRuntimeDevices)
|
||||||
}
|
}
|
||||||
} | Sort-Object {
|
} | Sort-Object {
|
||||||
@@ -236,7 +245,7 @@ function Build-XcodeSupportToolsSection {
|
|||||||
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
|
$xcversion = Run-Command "xcversion --version" | Select-String "^[0-9]"
|
||||||
|
|
||||||
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
|
$toolNodes += [ToolVersionNode]::new("xcpretty", $xcpretty)
|
||||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
if ($os.IsMonterey) {
|
||||||
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
|
$toolNodes += [ToolVersionNode]::new("xcversion", $xcversion)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -245,10 +254,5 @@ function Build-XcodeSupportToolsSection {
|
|||||||
$nomadShenzhenOutput = Run-Command "ipa -version"
|
$nomadShenzhenOutput = Run-Command "ipa -version"
|
||||||
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
$nomadShenzhen = [regex]::matches($nomadShenzhenOutput, "(\d+.){2}\d+").Value
|
||||||
|
|
||||||
if ($os.IsBigSur) {
|
|
||||||
$toolNodes += [ToolVersionNode]::new("Nomad CLI", $nomadCLI)
|
|
||||||
$toolNodes += [ToolVersionNode]::new("Nomad shenzhen CLI", $nomadShenzhen)
|
|
||||||
}
|
|
||||||
|
|
||||||
return $toolNodes
|
return $toolNodes
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ function Get-OSVersion {
|
|||||||
Version = $osVersion.Version
|
Version = $osVersion.Version
|
||||||
Platform = $osVersion.Platform
|
Platform = $osVersion.Platform
|
||||||
IsArm64 = $processorArchitecture -eq "arm64"
|
IsArm64 = $processorArchitecture -eq "arm64"
|
||||||
IsBigSur = $osVersion.Version.Major -eq "11"
|
|
||||||
IsMonterey = $osVersion.Version.Major -eq "12"
|
IsMonterey = $osVersion.Version.Major -eq "12"
|
||||||
IsVentura = $($osVersion.Version.Major -eq "13")
|
IsVentura = $($osVersion.Version.Major -eq "13")
|
||||||
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
|
IsVenturaArm64 = $($osVersion.Version.Major -eq "13" -and $processorArchitecture -eq "arm64")
|
||||||
@@ -37,6 +36,9 @@ function Get-OSVersion {
|
|||||||
IsSonoma = $($osVersion.Version.Major -eq "14")
|
IsSonoma = $($osVersion.Version.Major -eq "14")
|
||||||
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
|
IsSonomaArm64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -eq "arm64")
|
||||||
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
|
IsSonomaX64 = $($osVersion.Version.Major -eq "14" -and $processorArchitecture -ne "arm64")
|
||||||
|
IsSequoia = $($osVersion.Version.Major -eq "15")
|
||||||
|
IsSequoiaArm64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -eq "arm64")
|
||||||
|
IsSequoiaX64 = $($osVersion.Version.Major -eq "15" -and $processorArchitecture -ne "arm64")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,10 +106,6 @@ function Invoke-DownloadWithRetry {
|
|||||||
return $Path
|
return $Path
|
||||||
}
|
}
|
||||||
|
|
||||||
function isVeertu {
|
|
||||||
return (Test-Path -Path "/Library/Application Support/Veertu")
|
|
||||||
}
|
|
||||||
|
|
||||||
function Get-Architecture {
|
function Get-Architecture {
|
||||||
$arch = arch
|
$arch = arch
|
||||||
if ($arch -ne "arm64") {
|
if ($arch -ne "arm64") {
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
|
||||||
|
# Steps:
|
||||||
|
# - Open System Settings -> Privacy & Security
|
||||||
|
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
|
||||||
|
# - Enter password for runner
|
||||||
|
|
||||||
|
on run argv
|
||||||
|
set userpassword to item 1 of argv
|
||||||
|
|
||||||
|
tell application "System Settings"
|
||||||
|
activate
|
||||||
|
delay 5
|
||||||
|
end tell
|
||||||
|
|
||||||
|
tell application "System Events"
|
||||||
|
tell process "System Settings"
|
||||||
|
set frontmost to true
|
||||||
|
repeat until exists window 1
|
||||||
|
delay 2
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
tell splitter group 1 of group 1 of window 1
|
||||||
|
select row 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
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# This AppleScript clicks "Allow" for "System Software from developer "Parallels International GmbH"
|
||||||
|
# Steps:
|
||||||
|
# - Open System Settings -> Privacy & Security
|
||||||
|
# - Click 'Allow' for 'System Software from developer "Parallels International GmbH'
|
||||||
|
# - Enter password for runner
|
||||||
|
|
||||||
|
on run argv
|
||||||
|
set userpassword to item 1 of argv
|
||||||
|
|
||||||
|
tell application "System Settings"
|
||||||
|
activate
|
||||||
|
delay 5
|
||||||
|
end tell
|
||||||
|
|
||||||
|
tell application "System Events"
|
||||||
|
tell process "System Settings"
|
||||||
|
set frontmost to true
|
||||||
|
repeat until exists window 1
|
||||||
|
delay 2
|
||||||
|
end repeat
|
||||||
|
|
||||||
|
tell splitter group 1 of group 1 of window 1
|
||||||
|
select row 18 of outline 1 of scroll area 1 of group 1
|
||||||
|
delay 5
|
||||||
|
click UI Element 2 of group 5 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
|
||||||
@@ -45,6 +45,18 @@ is_Arm64() {
|
|||||||
[ "$(arch)" = "arm64" ]
|
[ "$(arch)" = "arm64" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_Sequoia() {
|
||||||
|
[ "$OSTYPE" = "darwin24" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
is_SequoiaArm64() {
|
||||||
|
is_Sequoia && is_Arm64
|
||||||
|
}
|
||||||
|
|
||||||
|
is_SequoiaX64() {
|
||||||
|
is_Sequoia && ! is_Arm64
|
||||||
|
}
|
||||||
|
|
||||||
is_Sonoma() {
|
is_Sonoma() {
|
||||||
[ "$OSTYPE" = "darwin23" ]
|
[ "$OSTYPE" = "darwin23" ]
|
||||||
}
|
}
|
||||||
@@ -73,14 +85,6 @@ is_Monterey() {
|
|||||||
[ "$OSTYPE" = "darwin21" ]
|
[ "$OSTYPE" = "darwin21" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
is_BigSur() {
|
|
||||||
[ "$OSTYPE" = "darwin20" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
is_Veertu() {
|
|
||||||
[[ -d "/Library/Application Support/Veertu" ]]
|
|
||||||
}
|
|
||||||
|
|
||||||
get_toolset_value() {
|
get_toolset_value() {
|
||||||
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
|
local toolset_path=$(echo "$IMAGE_FOLDER/toolset.json")
|
||||||
local query=$1
|
local query=$1
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ Describe "Android" {
|
|||||||
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
|
Sdkmanager = "$env:ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if ($os.IsBigSur -or $os.IsMonterey) {
|
if ($os.IsMonterey) {
|
||||||
$testCases += @(
|
$testCases += @(
|
||||||
@{
|
@{
|
||||||
PackageName = "SDK tools"
|
PackageName = "SDK tools"
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Azure CLI" -Skip:($os.IsBigSur) {
|
Describe "Azure CLI" {
|
||||||
It "Azure CLI" {
|
It "Azure CLI" {
|
||||||
"az -v" | Should -ReturnZeroExitCode
|
"az -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Azure DevOps CLI" -Skip:($os.IsBigSur) {
|
Describe "Azure DevOps CLI" {
|
||||||
It "az devops" {
|
It "az devops" {
|
||||||
"az devops -h" | Should -ReturnZeroExitCode
|
"az devops -h" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@ Describe "cmake" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Subversion" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Subversion" {
|
It "Subversion" {
|
||||||
"svn --version" | Should -ReturnZeroExitCode
|
"svn --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -62,16 +62,10 @@ Describe "Perl" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Helm" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "Tcl/Tk" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoia) {
|
||||||
It "Helm" {
|
|
||||||
"helm version --short" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Tcl/Tk" {
|
|
||||||
It "libtcl" {
|
It "libtcl" {
|
||||||
"file /usr/local/lib/libtcl8.6.dylib" | Should -ReturnZeroExitCode
|
Test-Path "/usr/local/lib/libtcl8.6.dylib" | Should -BeTrue
|
||||||
"file /usr/local/lib/libtk8.6.dylib" | Should -ReturnZeroExitCode
|
Test-Path "/usr/local/lib/libtk8.6.dylib" | Should -BeTrue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +87,7 @@ Describe "7-Zip" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Apache Ant" {
|
Describe "Apache Ant" -Skip:($os.IsMonterey) {
|
||||||
It "Apache Ant" {
|
It "Apache Ant" {
|
||||||
"ant -version" | Should -ReturnZeroExitCode
|
"ant -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -117,13 +111,7 @@ Describe "bazel" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Aliyun CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Aliyun CLI" {
|
|
||||||
"aliyun --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Julia" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|
||||||
It "Julia" {
|
It "Julia" {
|
||||||
"julia --version" | Should -ReturnZeroExitCode
|
"julia --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -147,19 +135,19 @@ Describe "wget" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "vagrant" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "vagrant" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "vagrant" {
|
It "vagrant" {
|
||||||
"vagrant --version" | Should -ReturnZeroExitCode
|
"vagrant --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "virtualbox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "virtualbox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "virtualbox" {
|
It "virtualbox" {
|
||||||
"vboxmanage -v" | Should -ReturnZeroExitCode
|
"vboxmanage -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsBigSur) {
|
Describe "R" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "R" {
|
It "R" {
|
||||||
"R --version" | Should -ReturnZeroExitCode
|
"R --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -171,28 +159,28 @@ Describe "Homebrew" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Kotlin" {
|
Describe "Kotlin" -Skip:($os.IsMonterey) {
|
||||||
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
|
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlinc-js")
|
||||||
|
|
||||||
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
||||||
"$toolName -version" | Should -ReturnZeroExitCode
|
"$toolName -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "sbt" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|
||||||
It "sbt" {
|
|
||||||
"sbt -version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "yq" {
|
Describe "yq" {
|
||||||
It "yq" {
|
It "yq" {
|
||||||
"yq --version" | Should -ReturnZeroExitCode
|
"yq --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "imagemagick" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "imagemagick" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "imagemagick" {
|
It "imagemagick" {
|
||||||
"magick -version" | Should -ReturnZeroExitCode
|
"magick -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Describe "pkgconf" {
|
||||||
|
It "pkgconf" {
|
||||||
|
"pkgconf --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ Describe "Selenium server" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "Microsoft Edge" {
|
It "Microsoft Edge" {
|
||||||
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
$edgeLocation = "/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
|
||||||
$edgeLocation | Should -Exist
|
$edgeLocation | Should -Exist
|
||||||
@@ -53,7 +53,7 @@ Describe "Edge" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Describe "Firefox" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "Firefox" {
|
It "Firefox" {
|
||||||
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
$firefoxLocation = "/Applications/Firefox.app/Contents/MacOS/firefox"
|
||||||
$firefoxLocation | Should -Exist
|
$firefoxLocation | Should -Exist
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ Describe "GCC" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSonoma) {
|
Describe "vcpkg" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "vcpkg" {
|
It "vcpkg" {
|
||||||
"vcpkg version" | Should -ReturnZeroExitCode
|
"vcpkg version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ Describe "AWS" {
|
|||||||
It "AWS CLI" {
|
It "AWS CLI" {
|
||||||
"aws --version" | Should -ReturnZeroExitCode
|
"aws --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
It "AWS SAM CLI" -Skip:($os.IsBigSur) {
|
It "AWS SAM CLI" {
|
||||||
"sam --version" | Should -ReturnZeroExitCode
|
"sam --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ Describe "AzCopy" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Conda" {
|
It "Conda" {
|
||||||
[System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
|
[System.Environment]::GetEnvironmentVariable("CONDA") | Should -Not -BeNullOrEmpty
|
||||||
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
$condaBinPath = Join-Path $env:CONDA "bin" "conda"
|
||||||
@@ -66,7 +66,7 @@ Describe "Miniconda" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Stack" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Stack" {
|
It "Stack" {
|
||||||
"stack --version" | Should -ReturnZeroExitCode
|
"stack --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -78,7 +78,7 @@ Describe "CocoaPods" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
|
$vsMacVersions = (Get-ToolsetContent).xamarin.vsmac.versions
|
||||||
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
|
$defaultVSMacVersion = (Get-ToolsetContent).xamarin.vsmac.default
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ Describe "VSMac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Swig" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Swig" {
|
It "Swig" {
|
||||||
"swig -version" | Should -ReturnZeroExitCode
|
"swig -version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -117,13 +117,13 @@ Describe "Bicep" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Go" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Go" {
|
It "Go" {
|
||||||
"go version" | Should -ReturnZeroExitCode
|
"go version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "VirtualBox" -Skip:($os.IsBigSur -or $os.IsVentura -or $os.IsSonoma) {
|
Describe "VirtualBox" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Check kext kernel modules" {
|
It "Check kext kernel modules" {
|
||||||
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
kextstat | Out-String | Should -Match "org.virtualbox.kext"
|
||||||
}
|
}
|
||||||
@@ -141,8 +141,30 @@ Describe "CodeQL Bundle" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Colima" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Colima" {
|
It "Colima" {
|
||||||
"colima version" | Should -ReturnZeroExitCode
|
"colima version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Describe "Compiled" -Skip:(-not $os.IsMonterey) {
|
||||||
|
It "Apache Ant" {
|
||||||
|
"ant -version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
$kotlinPackages = @("kapt", "kotlin", "kotlinc", "kotlinc-jvm", "kotlin-dce-js")
|
||||||
|
|
||||||
|
It "<toolName> is available" -TestCases ($kotlinPackages | ForEach-Object { @{ toolName = $_ } }) {
|
||||||
|
"$toolName -version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
It "sbt" {
|
||||||
|
"sbt -version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Describe "Unxip" {
|
||||||
|
It "Unxip" {
|
||||||
|
"unxip --version" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "<ToolName>" -TestCases @(
|
It "<ToolName>" -TestCases @(
|
||||||
@{ ToolName = "mongo" }
|
@{ ToolName = "mongo" }
|
||||||
@{ ToolName = "mongod" }
|
@{ ToolName = "mongod" }
|
||||||
@@ -12,7 +12,7 @@ Describe "MongoDB" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "PostgreSQL" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "PostgreSQL version should correspond to the version in the toolset" {
|
It "PostgreSQL version should correspond to the version in the toolset" {
|
||||||
$toolsetVersion = (Get-ToolsetContent).postgresql.version
|
$toolsetVersion = (Get-ToolsetContent).postgresql.version
|
||||||
# Client version
|
# Client version
|
||||||
|
|||||||
@@ -6,10 +6,7 @@ Describe "Git" {
|
|||||||
It "git is installed" {
|
It "git is installed" {
|
||||||
"git --version" | Should -ReturnZeroExitCode
|
"git --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
It "git lfs is installed" -Skip:($os.IsBigSur) {
|
It "git lfs is installed" {
|
||||||
"git lfs version" | Should -ReturnZeroExitCode
|
"git lfs version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
It "GIT_CLONE_PROTECTION_ACTIVE environment variable should be equal false" {
|
|
||||||
$env:GIT_CLONE_PROTECTION_ACTIVE | Should -BeExactly false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Haskell" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
Context "GHCup" {
|
Context "GHCup" {
|
||||||
It "GHCup" {
|
It "GHCup" {
|
||||||
"ghcup --version" | Should -ReturnZeroExitCode
|
"ghcup --version" | Should -ReturnZeroExitCode
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Describe "SwiftLint" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "SwiftLint" {
|
It "SwiftLint" {
|
||||||
"swiftlint version" | Should -ReturnZeroExitCode
|
"swiftlint version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Describe "Node.js" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "nvm" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
|
$nvmPath = Join-Path $env:HOME ".nvm" "nvm.sh"
|
||||||
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
|
$nvmInitCommand = ". $nvmPath > /dev/null 2>&1 || true"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "PHP" {
|
Describe "PHP" {
|
||||||
Context "PHP" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Context "PHP" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "PHP Path" {
|
It "PHP Path" {
|
||||||
Get-ToolPath "php" | Should -Not -BeLike "/usr/bin/php*"
|
Get-ToolPath "php" | Should -Not -BeLike "/usr/bin/php*"
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,7 @@ Describe "PHP" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Composer" -Skip:($os.IsBigSur -or $os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Context "Composer" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "Composer" {
|
It "Composer" {
|
||||||
"composer --version" | Should -ReturnZeroExitCode
|
"composer --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "PipxPackages" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$pipxToolset = (Get-ToolsetContent).pipx
|
$pipxToolset = (Get-ToolsetContent).pipx
|
||||||
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
$testCases = $pipxToolset | ForEach-Object { @{package = $_.package; cmd = $_.cmd} }
|
||||||
It "<package>" -TestCases $testCases {
|
It "<package>" -TestCases $testCases {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Describe "Python3" {
|
|||||||
"python3 --version" | Should -ReturnZeroExitCode
|
"python3 --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
if ($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
It "Python 3 is installed under /opt/homebrew/bin/" {
|
It "Python 3 is installed under /opt/homebrew/bin/" {
|
||||||
Get-ToolPath "python3" | Should -BeLike "/opt/homebrew/bin/*"
|
Get-ToolPath "python3" | Should -BeLike "/opt/homebrew/bin/*"
|
||||||
}
|
}
|
||||||
@@ -34,7 +34,7 @@ Describe "Python3" {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Python2" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Python 2 is available" {
|
It "Python 2 is available" {
|
||||||
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
|
"/Library/Frameworks/Python.framework/Versions/2.7/bin/python --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-7
@@ -1,9 +1,7 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
||||||
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
||||||
|
|
||||||
$os = Get-OSVersion
|
Describe "Ruby" {
|
||||||
|
|
||||||
Describe "Ruby" -Skip:(-not $os.IsArm64) {
|
|
||||||
It "Ruby is available" {
|
It "Ruby is available" {
|
||||||
"ruby --version" | Should -ReturnZeroExitCode
|
"ruby --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -13,10 +11,11 @@ Describe "Ruby" -Skip:(-not $os.IsArm64) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
It "Ruby tools are consistent" {
|
It "Ruby tools are consistent" {
|
||||||
$expectedPrefix = "/opt/homebrew"
|
$os = Get-OSVersion
|
||||||
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
|
$expectedPrefix = if ($os.IsArm64) { "/opt/homebrew" } else { "/usr/local" }
|
||||||
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
|
Get-ToolPath "ruby" | Should -Match "^$expectedPrefix.*"
|
||||||
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
|
Get-ToolPath "gem" | Should -Match "^$expectedPrefix.*"
|
||||||
|
Get-ToolPath "bundler" | Should -Match "^$expectedPrefix.*"
|
||||||
}
|
}
|
||||||
|
|
||||||
It "Ruby gems permissions are valid" {
|
It "Ruby gems permissions are valid" {
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|
||||||
Import-Module "$PSScriptRoot/Helpers.psm1" -DisableNameChecking
|
|
||||||
|
|
||||||
$os = Get-OSVersion
|
|
||||||
|
|
||||||
Describe "Ruby" -Skip:($os.IsArm64) {
|
|
||||||
It "Ruby is available" {
|
|
||||||
"ruby --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
|
|
||||||
It "Ruby is installed via HomeBrew" {
|
|
||||||
Get-ToolPath "ruby" | Should -Not -BeLike "/usr/bin/ruby*"
|
|
||||||
}
|
|
||||||
|
|
||||||
It "Ruby tools are consistent" {
|
|
||||||
$expectedPrefix = "/usr/local"
|
|
||||||
Get-ToolPath "ruby" | Should -Match "$($expectedPrefix)*"
|
|
||||||
Get-ToolPath "gem" | Should -Match "$($expectedPrefix)*"
|
|
||||||
Get-ToolPath "bundler" | Should -Match "$($expectedPrefix)*"
|
|
||||||
}
|
|
||||||
|
|
||||||
It "Ruby gems permissions are valid" {
|
|
||||||
"gem install bundle" | Should -ReturnZeroExitCode
|
|
||||||
"gem uninstall bundle" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,25 +20,19 @@ Describe "Bundler" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nomad shenzhen CLI" -Skip:($os.IsMonterey -or $os.IsVentura -or $os.IsSonoma) {
|
|
||||||
It "Nomad shenzhen CLI" {
|
|
||||||
"ipa --version" | Should -ReturnZeroExitCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Fastlane" {
|
Describe "Fastlane" {
|
||||||
It "Fastlane" {
|
It "Fastlane" {
|
||||||
"fastlane --version" | Should -ReturnZeroExitCode
|
"fastlane --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "xcpretty" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "xcpretty" {
|
It "xcpretty" {
|
||||||
"xcpretty --version" | Should -ReturnZeroExitCode
|
"xcpretty --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "jazzy" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "jazzy" {
|
It "jazzy" {
|
||||||
"jazzy --version" | Should -ReturnZeroExitCode
|
"jazzy --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Rust" -Skip:($os.IsBigSur) {
|
Describe "Rust" {
|
||||||
Context "Rust" {
|
Context "Rust" {
|
||||||
It "Rustup is installed" {
|
It "Rustup is installed" {
|
||||||
"rustup --version" | Should -ReturnZeroExitCode
|
"rustup --version" | Should -ReturnZeroExitCode
|
||||||
@@ -18,7 +18,7 @@ Describe "Rust" -Skip:($os.IsBigSur) {
|
|||||||
"cargo --version" | Should -ReturnZeroExitCode
|
"cargo --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Context "Cargo dependencies" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "bindgen" {
|
It "bindgen" {
|
||||||
"bindgen --version" | Should -ReturnZeroExitCode
|
"bindgen --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,16 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Disk free space" {
|
Describe "Disk free space" {
|
||||||
It "Image has more than 10GB free space" {
|
It "Image has more than 30GB free space" {
|
||||||
# we should have at least 10 GB of free space on macOS images
|
# we should have at least 30 GB of free space on macOS images
|
||||||
# https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
|
# 10GB here: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops#capabilities-and-limitations
|
||||||
$freeSpace = (Get-PSDrive "/").Free
|
# 14GB here: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
|
||||||
$freeSpace | Should -BeGreaterOrEqual 10GB
|
# 30GB due to: https://github.com/actions/runner-images/issues/10511
|
||||||
|
$diskInfo = Get-PSDrive "/"
|
||||||
|
$totalSpaceGB = [math]::Floor(($diskInfo.Used + $diskInfo.Free) / 1GB)
|
||||||
|
$freeSpaceGB = [math]::Floor($diskInfo.Free / 1GB)
|
||||||
|
Write-Host " [i] Disk size: ${totalSpaceGB} GB; Free space: ${freeSpaceGB} GB"
|
||||||
|
$freeSpaceGB | Should -BeGreaterOrEqual 30
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +30,7 @@ Describe "Certificate" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Sox is installed" {
|
It "Sox is installed" {
|
||||||
"sox --version" | Should -ReturnZeroExitCode
|
"sox --version" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -35,23 +40,8 @@ Describe "Audio device" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Screen Resolution" -Skip:(isVeertu) {
|
|
||||||
It "Screen Resolution" {
|
|
||||||
system_profiler SPDisplaysDataType | Select-String "Resolution" | Should -Match "1176 x 885|1920 x 1080"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "Open windows" -Skip:(isVeertu) {
|
|
||||||
It "Opened windows not found" {
|
|
||||||
'tell application id "com.apple.systemevents" to get every window of (every process whose class of windows contains window)' | Tee-Object /tmp/windows.osascript
|
|
||||||
$cmd = "osascript /tmp/windows.osascript"
|
|
||||||
$openWindows = bash -c $cmd
|
|
||||||
$openWindows.Split(",").Trim() | Where-Object { $_ -notmatch "NotificationCenter" } | Should -BeNullOrEmpty
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Describe "AutomationModeTool" {
|
Describe "AutomationModeTool" {
|
||||||
It "Does not require user authentication" -Skip:($os.IsBigSur) {
|
It "Does not require user authentication" {
|
||||||
automationmodetool | Out-String | Should -Match "DOES NOT REQUIRE"
|
automationmodetool | Out-String | Should -Match "DOES NOT REQUIRE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ Describe "Toolcache" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Context "Ruby" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64) {
|
Context "Ruby" -Skip:($os.IsVenturaArm64 -or $os.IsSonomaArm64 -or $os.IsSequoiaArm64) {
|
||||||
$rubyDirectory = Join-Path $toolcacheDirectory "Ruby"
|
$rubyDirectory = Join-Path $toolcacheDirectory "Ruby"
|
||||||
$rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1
|
$rubyPackage = $packages | Where-Object { $_.ToolName -eq "Ruby" } | Select-Object -First 1
|
||||||
$testCase = @{ RubyDirectory = $rubyDirectory }
|
$testCase = @{ RubyDirectory = $rubyDirectory }
|
||||||
@@ -99,7 +99,7 @@ Describe "Toolcache" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Context "PyPy" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma) {
|
Context "PyPy" -Skip:($os.IsVenturaArm64 -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
|
$pypyDirectory = Join-Path $toolcacheDirectory "PyPy"
|
||||||
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
|
$pypyPackage = $packages | Where-Object { $_.ToolName -eq "pypy" } | Select-Object -First 1
|
||||||
$testCase = @{ PypyDirectory = $pypyDirectory }
|
$testCase = @{ PypyDirectory = $pypyDirectory }
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Import-Module "$PSScriptRoot/../helpers/Common.Helpers.psm1"
|
|||||||
|
|
||||||
$os = Get-OSVersion
|
$os = Get-OSVersion
|
||||||
|
|
||||||
Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Apache CLI" {
|
It "Apache CLI" {
|
||||||
"httpd -v" | Should -ReturnZeroExitCode
|
"httpd -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ Describe "Apache" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Nginx" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Nginx CLI" {
|
It "Nginx CLI" {
|
||||||
"nginx -v" | Should -ReturnZeroExitCode
|
"nginx -v" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,18 @@ if ($os.IsVentura -or $os.IsSonoma) {
|
|||||||
$XAMARIN_IOS_VERSIONS = @()
|
$XAMARIN_IOS_VERSIONS = @()
|
||||||
$XAMARIN_MAC_VERSIONS = @()
|
$XAMARIN_MAC_VERSIONS = @()
|
||||||
$XAMARIN_ANDROID_VERSIONS = @()
|
$XAMARIN_ANDROID_VERSIONS = @()
|
||||||
} elseif ($os.IsBigSur -or $os.IsMonterey) {
|
} elseif ($os.IsMonterey) {
|
||||||
$MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions
|
$MONO_VERSIONS = (Get-ToolsetContent).xamarin.mono_versions
|
||||||
$XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions
|
$XAMARIN_IOS_VERSIONS = (Get-ToolsetContent).xamarin.ios_versions
|
||||||
$XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_versions
|
$XAMARIN_MAC_VERSIONS = (Get-ToolsetContent).xamarin.mac_versions
|
||||||
$XAMARIN_ANDROID_VERSIONS = (Get-ToolsetContent).xamarin.android_versions
|
$XAMARIN_ANDROID_VERSIONS = (Get-ToolsetContent).xamarin.android_versions
|
||||||
|
} elseif ($os.IsSequoia) {
|
||||||
|
Write-Host "Skipping all the Mono and Xamarin tests as deprecated"
|
||||||
|
# Dummy workaround for the issue with the tests discovery
|
||||||
|
$MONO_VERSIONS = @()
|
||||||
|
$XAMARIN_IOS_VERSIONS = @()
|
||||||
|
$XAMARIN_MAC_VERSIONS = @()
|
||||||
|
$XAMARIN_ANDROID_VERSIONS = @()
|
||||||
}
|
}
|
||||||
|
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
@@ -26,7 +33,7 @@ BeforeAll {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Mono" {
|
Describe "Mono" -Skip:($os.IsSequoia) {
|
||||||
$MONO_VERSIONS | ForEach-Object {
|
$MONO_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
||||||
@@ -90,7 +97,7 @@ Describe "Mono" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$XAMARIN_IOS_VERSIONS | ForEach-Object {
|
$XAMARIN_IOS_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
||||||
@@ -123,7 +130,7 @@ Describe "Xamarin.iOS" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$XAMARIN_MAC_VERSIONS | ForEach-Object {
|
$XAMARIN_MAC_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
$XAMARIN_MAC_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Mac.framework/Versions"
|
||||||
@@ -156,7 +163,7 @@ Describe "Xamarin.Mac" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
$XAMARIN_ANDROID_VERSIONS | ForEach-Object {
|
$XAMARIN_ANDROID_VERSIONS | ForEach-Object {
|
||||||
Context "$_" {
|
Context "$_" {
|
||||||
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
|
$XAMARIN_ANDROID_VERSIONS_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions"
|
||||||
@@ -196,7 +203,7 @@ Describe "Xamarin.Android" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
BeforeAll {
|
BeforeAll {
|
||||||
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
$MONO_VERSIONS_PATH = "/Library/Frameworks/Mono.framework/Versions"
|
||||||
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
$XAMARIN_IOS_VERSIONS_PATH = "/Library/Frameworks/Xamarin.iOS.framework/Versions"
|
||||||
@@ -303,7 +310,7 @@ Describe "Xamarin Bundles" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma) {
|
Describe "Nuget" -Skip:($os.IsVentura -or $os.IsSonoma -or $os.IsSequoia) {
|
||||||
It "Nuget config contains nuget.org feed" {
|
It "Nuget config contains nuget.org feed" {
|
||||||
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
|
Get-Content $env:HOME/.config/NuGet/NuGet.Config | Out-String | Should -Match "nuget.org"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,13 @@ Describe "Xcode" {
|
|||||||
$defaultXcodeTestCase = @{ DefaultXcode = $defaultXcode }
|
$defaultXcodeTestCase = @{ DefaultXcode = $defaultXcode }
|
||||||
It "Default Xcode is <DefaultXcode>" -TestCases $defaultXcodeTestCase {
|
It "Default Xcode is <DefaultXcode>" -TestCases $defaultXcodeTestCase {
|
||||||
"xcodebuild -version" | Should -ReturnZeroExitCode
|
"xcodebuild -version" | Should -ReturnZeroExitCode
|
||||||
|
If ($DefaultXcode -ilike "*_*") {
|
||||||
|
Write-Host "Composite version detected (beta/RC/preview)"
|
||||||
|
$DefaultXcode = $DefaultXcode.split("_")[0]
|
||||||
|
If ($DefaultXcode -notlike "*.*") {
|
||||||
|
$DefaultXcode = "${DefaultXcode}.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
(Get-CommandResult "xcodebuild -version").Output | Should -BeLike "Xcode ${DefaultXcode}*"
|
(Get-CommandResult "xcodebuild -version").Output | Should -BeLike "Xcode ${DefaultXcode}*"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ variable "vm_password" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "github_api_pat" {
|
variable "github_api_pat" {
|
||||||
type = string
|
type = string
|
||||||
default = ""
|
sensitive = true
|
||||||
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "xcode_install_storage_url" {
|
||||||
@@ -96,7 +97,7 @@ source "null" "template" {
|
|||||||
ssh_host = "${var.source_vm_name}"
|
ssh_host = "${var.source_vm_name}"
|
||||||
ssh_port = "${var.source_vm_port}"
|
ssh_port = "${var.source_vm_port}"
|
||||||
ssh_username = "${var.vm_username}"
|
ssh_username = "${var.vm_username}"
|
||||||
ssh_private_key_file = "${var.vm_password}"
|
ssh_password = "${var.vm_password}"
|
||||||
ssh_proxy_host = "${var.socks_proxy}"
|
ssh_proxy_host = "${var.socks_proxy}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,7 +266,8 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-pypy.sh",
|
"${path.root}/../scripts/build/install-pypy.sh",
|
||||||
"${path.root}/../scripts/build/install-pipx-packages.sh",
|
"${path.root}/../scripts/build/install-pipx-packages.sh",
|
||||||
"${path.root}/../scripts/build/install-bicep.sh",
|
"${path.root}/../scripts/build/install-bicep.sh",
|
||||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
"${path.root}/../scripts/build/install-codeql-bundle.sh",
|
||||||
|
"${path.root}/../scripts/build/install-compilable-brew-packages.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ variable "vm_password" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "github_api_pat" {
|
variable "github_api_pat" {
|
||||||
type = string
|
type = string
|
||||||
default = ""
|
sensitive = true
|
||||||
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "xcode_install_storage_url" {
|
||||||
@@ -96,7 +97,7 @@ source "null" "template" {
|
|||||||
ssh_host = "${var.source_vm_name}"
|
ssh_host = "${var.source_vm_name}"
|
||||||
ssh_port = "${var.source_vm_port}"
|
ssh_port = "${var.source_vm_port}"
|
||||||
ssh_username = "${var.vm_username}"
|
ssh_username = "${var.vm_username}"
|
||||||
ssh_private_key_file = "${var.vm_password}"
|
ssh_password = "${var.vm_password}"
|
||||||
ssh_proxy_host = "${var.socks_proxy}"
|
ssh_proxy_host = "${var.socks_proxy}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +158,7 @@ build {
|
|||||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
||||||
"mkdir ~/utils",
|
"mkdir ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/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/invoke-tests.sh ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
|
"mv ${local.image_folder}/helpers/utils.sh ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
||||||
@@ -177,6 +178,7 @@ build {
|
|||||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
"${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-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
@@ -215,7 +217,8 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||||
"${path.root}/../scripts/build/install-git.sh",
|
"${path.root}/../scripts/build/install-git.sh",
|
||||||
"${path.root}/../scripts/build/install-node.sh",
|
"${path.root}/../scripts/build/install-node.sh",
|
||||||
"${path.root}/../scripts/build/install-common-utils.sh"
|
"${path.root}/../scripts/build/install-common-utils.sh",
|
||||||
|
"${path.root}/../scripts/build/install-unxip.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ variable "vm_password" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "github_api_pat" {
|
variable "github_api_pat" {
|
||||||
type = string
|
type = string
|
||||||
default = ""
|
sensitive = true
|
||||||
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "xcode_install_storage_url" {
|
||||||
@@ -97,7 +98,7 @@ source "null" "template" {
|
|||||||
ssh_host = "${var.source_vm_name}"
|
ssh_host = "${var.source_vm_name}"
|
||||||
ssh_port = "${var.source_vm_port}"
|
ssh_port = "${var.source_vm_port}"
|
||||||
ssh_username = "${var.vm_username}"
|
ssh_username = "${var.vm_username}"
|
||||||
ssh_private_key_file = "${var.vm_password}"
|
ssh_password = "${var.vm_password}"
|
||||||
ssh_proxy_host = "${var.socks_proxy}"
|
ssh_proxy_host = "${var.socks_proxy}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,6 +179,7 @@ build {
|
|||||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
"${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-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
@@ -217,7 +219,8 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||||
"${path.root}/../scripts/build/install-git.sh",
|
"${path.root}/../scripts/build/install-git.sh",
|
||||||
"${path.root}/../scripts/build/install-node.sh",
|
"${path.root}/../scripts/build/install-node.sh",
|
||||||
"${path.root}/../scripts/build/install-common-utils.sh"
|
"${path.root}/../scripts/build/install-common-utils.sh",
|
||||||
|
"${path.root}/../scripts/build/install-unxip.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ variable "vm_password" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "github_api_pat" {
|
variable "github_api_pat" {
|
||||||
type = string
|
type = string
|
||||||
default = ""
|
sensitive = true
|
||||||
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "xcode_install_storage_url" {
|
||||||
@@ -96,7 +97,7 @@ source "null" "template" {
|
|||||||
ssh_host = "${var.source_vm_name}"
|
ssh_host = "${var.source_vm_name}"
|
||||||
ssh_port = "${var.source_vm_port}"
|
ssh_port = "${var.source_vm_port}"
|
||||||
ssh_username = "${var.vm_username}"
|
ssh_username = "${var.vm_username}"
|
||||||
ssh_private_key_file = "${var.vm_password}"
|
ssh_password = "${var.vm_password}"
|
||||||
ssh_proxy_host = "${var.socks_proxy}"
|
ssh_proxy_host = "${var.socks_proxy}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +158,7 @@ build {
|
|||||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
||||||
"mkdir ~/utils",
|
"mkdir ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
|
"mv ${local.image_folder}/helpers/confirm-identified-developers-macos14.scpt ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/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",
|
||||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
||||||
@@ -177,6 +178,7 @@ build {
|
|||||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
"${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-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
@@ -249,7 +251,6 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-chrome.sh",
|
"${path.root}/../scripts/build/install-chrome.sh",
|
||||||
"${path.root}/../scripts/build/install-edge.sh",
|
"${path.root}/../scripts/build/install-edge.sh",
|
||||||
"${path.root}/../scripts/build/install-firefox.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-bicep.sh",
|
||||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ variable "vm_password" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "github_api_pat" {
|
variable "github_api_pat" {
|
||||||
type = string
|
type = string
|
||||||
default = ""
|
sensitive = true
|
||||||
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "xcode_install_storage_url" {
|
||||||
@@ -97,7 +98,7 @@ source "null" "template" {
|
|||||||
ssh_host = "${var.source_vm_name}"
|
ssh_host = "${var.source_vm_name}"
|
||||||
ssh_port = "${var.source_vm_port}"
|
ssh_port = "${var.source_vm_port}"
|
||||||
ssh_username = "${var.vm_username}"
|
ssh_username = "${var.vm_username}"
|
||||||
ssh_private_key_file = "${var.vm_password}"
|
ssh_password = "${var.vm_password}"
|
||||||
ssh_proxy_host = "${var.socks_proxy}"
|
ssh_proxy_host = "${var.socks_proxy}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,6 +180,7 @@ build {
|
|||||||
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
"${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-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
|
|||||||
+93
-111
@@ -1,8 +1,8 @@
|
|||||||
packer {
|
packer {
|
||||||
required_plugins {
|
required_plugins {
|
||||||
vsphere = {
|
veertu-anka = {
|
||||||
source = "github.com/hashicorp/vsphere"
|
version = ">= v3.2.0"
|
||||||
version = "~> 1"
|
source = "github.com/veertuinc/veertu-anka"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,51 +11,39 @@ locals {
|
|||||||
image_folder = "/Users/${var.vm_username}/image-generation"
|
image_folder = "/Users/${var.vm_username}/image-generation"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "baseimage_name" {
|
variable "builder_type" {
|
||||||
type = string
|
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" {
|
variable "build_id" {
|
||||||
type = string
|
type = string
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "cluster_or_esxi_host" {
|
variable "vm_username" {
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "esxi_datastore" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "github_api_pat" {
|
|
||||||
type = string
|
|
||||||
default = ""
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "image_os" {
|
|
||||||
type = string
|
|
||||||
default = "macos12"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "output_folder" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_datacenter" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_password" {
|
|
||||||
type = string
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_server" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_username" {
|
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
@@ -65,7 +53,13 @@ variable "vm_password" {
|
|||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "vm_username" {
|
variable "github_api_pat" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "xcode_install_storage_url" {
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
@@ -75,33 +69,40 @@ variable "xcode_install_sas" {
|
|||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "vcpu_count" {
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
default = "6"
|
||||||
}
|
}
|
||||||
|
|
||||||
source "vsphere-clone" "template" {
|
variable "ram_size" {
|
||||||
CPUs = "5"
|
type = string
|
||||||
NestedHV = "true"
|
default = "8G"
|
||||||
RAM = "24576"
|
}
|
||||||
cpu_cores = "5"
|
|
||||||
datacenter = "${var.vcenter_datacenter}"
|
variable "image_os" {
|
||||||
datastore = "${var.esxi_datastore}"
|
type = string
|
||||||
folder = "${var.output_folder}"
|
default = "macos15"
|
||||||
host = "${var.cluster_or_esxi_host}"
|
}
|
||||||
insecure_connection = true
|
|
||||||
password = "${var.vcenter_password}"
|
source "veertu-anka-vm-clone" "template" {
|
||||||
shutdown_timeout = "15m"
|
vm_name = "${var.build_id}"
|
||||||
ssh_password = "${var.vm_password}"
|
source_vm_name = "${var.source_vm_name}"
|
||||||
ssh_username = "${var.vm_username}"
|
source_vm_tag = "${var.source_vm_tag}"
|
||||||
template = "${var.baseimage_name}"
|
vcpu_count = "${var.vcpu_count}"
|
||||||
username = "${var.vcenter_username}"
|
ram_size = "${var.ram_size}"
|
||||||
vcenter_server = "${var.vcenter_server}"
|
stop_vm = "true"
|
||||||
vm_name = "${var.build_id}"
|
}
|
||||||
|
|
||||||
|
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 {
|
build {
|
||||||
sources = ["source.vsphere-clone.template"]
|
sources = ["source.${var.builder_type}.template"]
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
inline = ["mkdir ${local.image_folder}"]
|
inline = ["mkdir ${local.image_folder}"]
|
||||||
@@ -110,7 +111,6 @@ build {
|
|||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${local.image_folder}/"
|
destination = "${local.image_folder}/"
|
||||||
sources = [
|
sources = [
|
||||||
"${path.root}/../assets/xamarin-selector",
|
|
||||||
"${path.root}/../scripts/tests",
|
"${path.root}/../scripts/tests",
|
||||||
"${path.root}/../scripts/docs-gen",
|
"${path.root}/../scripts/docs-gen",
|
||||||
"${path.root}/../scripts/helpers"
|
"${path.root}/../scripts/helpers"
|
||||||
@@ -128,44 +128,41 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/.bashrc"
|
destination = ".bashrc"
|
||||||
source = "${path.root}/../assets/bashrc"
|
source = "${path.root}/../assets/bashrc"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/.bash_profile"
|
destination = ".bash_profile"
|
||||||
source = "${path.root}/../assets/bashprofile"
|
source = "${path.root}/../assets/bashprofile"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
inline = [ "mkdir ~/bootstrap" ]
|
inline = ["mkdir ~/bootstrap"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/bootstrap"
|
destination = "bootstrap"
|
||||||
source = "${path.root}/../assets/bootstrap-provisioner/"
|
source = "${path.root}/../assets/bootstrap-provisioner/"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${local.image_folder}/toolset.json"
|
destination = "${local.image_folder}/toolset.json"
|
||||||
source = "${path.root}/../toolsets/toolset-12.json"
|
source = "${path.root}/../toolsets/toolset-15.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
inline = [
|
inline = [
|
||||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
|
||||||
"mkdir ~/utils",
|
"mkdir ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
|
|
||||||
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/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"
|
||||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
||||||
"${path.root}/../scripts/build/install-homebrew.sh"
|
"${path.root}/../scripts/build/install-homebrew.sh"
|
||||||
@@ -174,21 +171,19 @@ build {
|
|||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-network-interface-detection.sh",
|
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
||||||
"${path.root}/../scripts/build/configure-autologin.sh",
|
"${path.root}/../scripts/build/configure-autologin.sh",
|
||||||
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-screensaver.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"]
|
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
||||||
"${path.root}/../scripts/build/configure-ssh.sh",
|
"${path.root}/../scripts/build/configure-ssh.sh",
|
||||||
@@ -197,14 +192,14 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
expect_disconnect = true
|
expect_disconnect = true
|
||||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
pause_before = "30s"
|
pause_before = "30s"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-windows.sh",
|
"${path.root}/../scripts/build/configure-windows.sh",
|
||||||
@@ -216,7 +211,6 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-ruby.sh",
|
"${path.root}/../scripts/build/install-ruby.sh",
|
||||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||||
"${path.root}/../scripts/build/install-git.sh",
|
"${path.root}/../scripts/build/install-git.sh",
|
||||||
"${path.root}/../scripts/build/install-mongodb.sh",
|
|
||||||
"${path.root}/../scripts/build/install-node.sh",
|
"${path.root}/../scripts/build/install-node.sh",
|
||||||
"${path.root}/../scripts/build/install-common-utils.sh"
|
"${path.root}/../scripts/build/install-common-utils.sh"
|
||||||
]
|
]
|
||||||
@@ -224,47 +218,34 @@ build {
|
|||||||
|
|
||||||
provisioner "shell" {
|
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}"]
|
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 }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
expect_disconnect = true
|
expect_disconnect = true
|
||||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/install-actions-cache.sh",
|
"${path.root}/../scripts/build/install-actions-cache.sh",
|
||||||
"${path.root}/../scripts/build/install-llvm.sh",
|
"${path.root}/../scripts/build/install-llvm.sh",
|
||||||
"${path.root}/../scripts/build/install-golang.sh",
|
|
||||||
"${path.root}/../scripts/build/install-swiftlint.sh",
|
"${path.root}/../scripts/build/install-swiftlint.sh",
|
||||||
"${path.root}/../scripts/build/install-openjdk.sh",
|
"${path.root}/../scripts/build/install-openjdk.sh",
|
||||||
"${path.root}/../scripts/build/install-php.sh",
|
"${path.root}/../scripts/build/install-php.sh",
|
||||||
"${path.root}/../scripts/build/install-aws-tools.sh",
|
"${path.root}/../scripts/build/install-aws-tools.sh",
|
||||||
"${path.root}/../scripts/build/install-rust.sh",
|
"${path.root}/../scripts/build/install-rust.sh",
|
||||||
"${path.root}/../scripts/build/install-gcc.sh",
|
"${path.root}/../scripts/build/install-gcc.sh",
|
||||||
"${path.root}/../scripts/build/install-haskell.sh",
|
|
||||||
"${path.root}/../scripts/build/install-cocoapods.sh",
|
"${path.root}/../scripts/build/install-cocoapods.sh",
|
||||||
"${path.root}/../scripts/build/install-android-sdk.sh",
|
"${path.root}/../scripts/build/install-android-sdk.sh",
|
||||||
"${path.root}/../scripts/build/install-xamarin.sh",
|
|
||||||
"${path.root}/../scripts/build/install-visualstudio.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nvm.sh",
|
|
||||||
"${path.root}/../scripts/build/install-apache.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nginx.sh",
|
|
||||||
"${path.root}/../scripts/build/install-postgresql.sh",
|
|
||||||
"${path.root}/../scripts/build/install-audiodevice.sh",
|
|
||||||
"${path.root}/../scripts/build/install-vcpkg.sh",
|
|
||||||
"${path.root}/../scripts/build/install-miniconda.sh",
|
|
||||||
"${path.root}/../scripts/build/install-safari.sh",
|
"${path.root}/../scripts/build/install-safari.sh",
|
||||||
"${path.root}/../scripts/build/install-chrome.sh",
|
"${path.root}/../scripts/build/install-chrome.sh",
|
||||||
"${path.root}/../scripts/build/install-edge.sh",
|
"${path.root}/../scripts/build/install-edge.sh",
|
||||||
"${path.root}/../scripts/build/install-firefox.sh",
|
"${path.root}/../scripts/build/install-firefox.sh",
|
||||||
"${path.root}/../scripts/build/install-pypy.sh",
|
|
||||||
"${path.root}/../scripts/build/install-pipx-packages.sh",
|
|
||||||
"${path.root}/../scripts/build/install-bicep.sh",
|
"${path.root}/../scripts/build/install-bicep.sh",
|
||||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
||||||
]
|
]
|
||||||
@@ -272,7 +253,7 @@ build {
|
|||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
||||||
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
||||||
@@ -280,17 +261,14 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "ruby {{ .Path }}"
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
}
|
script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1"
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
|
||||||
script = "${path.root}/../scripts/build/Update-XcodeSimulators.ps1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
|
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
inline = [
|
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/software-report\" -ImageName ${var.build_id}",
|
||||||
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
||||||
@@ -300,14 +278,18 @@ build {
|
|||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${path.root}/../../image-output/"
|
destination = "${path.root}/../../image-output/"
|
||||||
direction = "download"
|
direction = "download"
|
||||||
source = "${local.image_folder}/output/*"
|
source = "${local.image_folder}/output/"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
inline = ["rm -rf \"$(brew --cache)\""]
|
||||||
|
}
|
||||||
|
|
||||||
|
provisioner "shell" {
|
||||||
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-hostname.sh",
|
"${path.root}/../scripts/build/configure-hostname.sh",
|
||||||
"${path.root}/../scripts/build/configure-system.sh"
|
"${path.root}/../scripts/build/configure-system.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+96
-117
@@ -1,8 +1,8 @@
|
|||||||
packer {
|
packer {
|
||||||
required_plugins {
|
required_plugins {
|
||||||
vsphere = {
|
veertu-anka = {
|
||||||
source = "github.com/hashicorp/vsphere"
|
version = ">= v3.2.0"
|
||||||
version = "~> 1"
|
source = "github.com/veertuinc/veertu-anka"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,51 +11,39 @@ locals {
|
|||||||
image_folder = "/Users/${var.vm_username}/image-generation"
|
image_folder = "/Users/${var.vm_username}/image-generation"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "baseimage_name" {
|
variable "builder_type" {
|
||||||
type = string
|
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" {
|
variable "build_id" {
|
||||||
type = string
|
type = string
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "cluster_or_esxi_host" {
|
variable "vm_username" {
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "esxi_datastore" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "github_api_pat" {
|
|
||||||
type = string
|
|
||||||
default = ""
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "image_os" {
|
|
||||||
type = string
|
|
||||||
default = "macos11"
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "output_folder" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_datacenter" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_password" {
|
|
||||||
type = string
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_server" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "vcenter_username" {
|
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
@@ -65,7 +53,13 @@ variable "vm_password" {
|
|||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "vm_username" {
|
variable "github_api_pat" {
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "xcode_install_storage_url" {
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
@@ -75,33 +69,41 @@ variable "xcode_install_sas" {
|
|||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "xcode_install_storage_url" {
|
variable "vcpu_count" {
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
default = "6"
|
||||||
}
|
}
|
||||||
|
|
||||||
source "vsphere-clone" "template" {
|
variable "ram_size" {
|
||||||
CPUs = "5"
|
type = string
|
||||||
NestedHV = "true"
|
default = "8G"
|
||||||
RAM = "24576"
|
}
|
||||||
cpu_cores = "5"
|
|
||||||
datacenter = "${var.vcenter_datacenter}"
|
variable "image_os" {
|
||||||
datastore = "${var.esxi_datastore}"
|
type = string
|
||||||
folder = "${var.output_folder}"
|
default = "macos15"
|
||||||
host = "${var.cluster_or_esxi_host}"
|
}
|
||||||
insecure_connection = true
|
|
||||||
password = "${var.vcenter_password}"
|
source "veertu-anka-vm-clone" "template" {
|
||||||
shutdown_timeout = "15m"
|
vm_name = "${var.build_id}"
|
||||||
ssh_password = "${var.vm_password}"
|
source_vm_name = "${var.source_vm_name}"
|
||||||
ssh_username = "${var.vm_username}"
|
source_vm_tag = "${var.source_vm_tag}"
|
||||||
template = "${var.baseimage_name}"
|
vcpu_count = "${var.vcpu_count}"
|
||||||
username = "${var.vcenter_username}"
|
ram_size = "${var.ram_size}"
|
||||||
vcenter_server = "${var.vcenter_server}"
|
stop_vm = "true"
|
||||||
vm_name = "${var.build_id}"
|
log_level = "debug"
|
||||||
|
}
|
||||||
|
|
||||||
|
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 {
|
build {
|
||||||
sources = ["source.vsphere-clone.template"]
|
sources = ["source.${var.builder_type}.template"]
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
inline = ["mkdir ${local.image_folder}"]
|
inline = ["mkdir ${local.image_folder}"]
|
||||||
@@ -110,7 +112,6 @@ build {
|
|||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${local.image_folder}/"
|
destination = "${local.image_folder}/"
|
||||||
sources = [
|
sources = [
|
||||||
"${path.root}/../assets/xamarin-selector",
|
|
||||||
"${path.root}/../scripts/tests",
|
"${path.root}/../scripts/tests",
|
||||||
"${path.root}/../scripts/docs-gen",
|
"${path.root}/../scripts/docs-gen",
|
||||||
"${path.root}/../scripts/helpers"
|
"${path.root}/../scripts/helpers"
|
||||||
@@ -128,68 +129,63 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/.bashrc"
|
destination = ".bashrc"
|
||||||
source = "${path.root}/../assets/bashrc"
|
source = "${path.root}/../assets/bashrc"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/.bash_profile"
|
destination = ".bash_profile"
|
||||||
source = "${path.root}/../assets/bashprofile"
|
source = "${path.root}/../assets/bashprofile"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
inline = [ "mkdir ~/bootstrap" ]
|
inline = ["mkdir ~/bootstrap"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "~/bootstrap"
|
destination = "bootstrap"
|
||||||
source = "${path.root}/../assets/bootstrap-provisioner/"
|
source = "${path.root}/../assets/bootstrap-provisioner/"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${local.image_folder}/toolset.json"
|
destination = "${local.image_folder}/toolset.json"
|
||||||
source = "${path.root}/../toolsets/toolset-11.json"
|
source = "${path.root}/../toolsets/toolset-15.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
inline = [
|
inline = [
|
||||||
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
"mv ${local.image_folder}/docs-gen ${local.image_folder}/software-report",
|
||||||
"mv ${local.image_folder}/xamarin-selector ${local.image_folder}/assets",
|
|
||||||
"mkdir ~/utils",
|
"mkdir ~/utils",
|
||||||
"mv ${local.image_folder}/helpers/confirm-identified-developers.scpt ~/utils",
|
|
||||||
"mv ${local.image_folder}/helpers/invoke-tests.sh ~/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"
|
||||||
"mv ${local.image_folder}/helpers/xamarin-utils.sh ~/utils"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
||||||
"${path.root}/../scripts/build/install-homebrew.sh"
|
"${path.root}/../scripts/build/install-homebrew.sh",
|
||||||
|
"${path.root}/../scripts/build/install-rosetta.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
environment_vars = ["PASSWORD=${var.vm_password}", "USERNAME=${var.vm_username}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/install-xcode-clt.sh",
|
"${path.root}/../scripts/build/configure-tccdb-macos.sh",
|
||||||
"${path.root}/../scripts/build/configure-network-interface-detection.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-autologin.sh",
|
"${path.root}/../scripts/build/configure-autologin.sh",
|
||||||
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
"${path.root}/../scripts/build/configure-auto-updates.sh",
|
||||||
"${path.root}/../scripts/build/configure-screensaver.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
"${path.root}/../scripts/build/configure-ntpconf.sh",
|
||||||
"${path.root}/../scripts/build/configure-max-files-limitation.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-shell.sh"
|
"${path.root}/../scripts/build/configure-shell.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}"]
|
environment_vars = ["IMAGE_VERSION=${var.build_id}", "IMAGE_OS=${var.image_os}", "PASSWORD=${var.vm_password}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
"${path.root}/../scripts/build/configure-preimagedata.sh",
|
||||||
"${path.root}/../scripts/build/configure-ssh.sh",
|
"${path.root}/../scripts/build/configure-ssh.sh",
|
||||||
@@ -198,14 +194,14 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
expect_disconnect = true
|
expect_disconnect = true
|
||||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["API_PAT=${var.github_api_pat}", "USER_PASSWORD=${var.vm_password}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
pause_before = "30s"
|
pause_before = "30s"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/configure-windows.sh",
|
"${path.root}/../scripts/build/configure-windows.sh",
|
||||||
@@ -217,53 +213,37 @@ build {
|
|||||||
"${path.root}/../scripts/build/install-ruby.sh",
|
"${path.root}/../scripts/build/install-ruby.sh",
|
||||||
"${path.root}/../scripts/build/install-rubygems.sh",
|
"${path.root}/../scripts/build/install-rubygems.sh",
|
||||||
"${path.root}/../scripts/build/install-git.sh",
|
"${path.root}/../scripts/build/install-git.sh",
|
||||||
"${path.root}/../scripts/build/install-mongodb.sh",
|
"${path.root}/../scripts/build/install-node.sh",
|
||||||
"${path.root}/../scripts/build/install-node.sh"
|
"${path.root}/../scripts/build/install-common-utils.sh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
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}"]
|
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 }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
script = "${path.root}/../scripts/build/Install-Xcode.ps1"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "sudo {{ .Vars }} {{ .Path }}"
|
execute_command = "source $HOME/.bash_profile; sudo {{ .Vars }} {{ .Path }}"
|
||||||
expect_disconnect = true
|
expect_disconnect = true
|
||||||
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
inline = ["echo 'Reboot VM'", "shutdown -r now"]
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["API_PAT=${var.github_api_pat}", "IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/install-actions-cache.sh",
|
"${path.root}/../scripts/build/install-actions-cache.sh",
|
||||||
"${path.root}/../scripts/build/install-common-utils.sh",
|
|
||||||
"${path.root}/../scripts/build/install-llvm.sh",
|
"${path.root}/../scripts/build/install-llvm.sh",
|
||||||
"${path.root}/../scripts/build/install-golang.sh",
|
|
||||||
"${path.root}/../scripts/build/install-swiftlint.sh",
|
|
||||||
"${path.root}/../scripts/build/install-openjdk.sh",
|
"${path.root}/../scripts/build/install-openjdk.sh",
|
||||||
"${path.root}/../scripts/build/install-aws-tools.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-gcc.sh",
|
||||||
"${path.root}/../scripts/build/install-haskell.sh",
|
|
||||||
"${path.root}/../scripts/build/install-cocoapods.sh",
|
"${path.root}/../scripts/build/install-cocoapods.sh",
|
||||||
"${path.root}/../scripts/build/install-android-sdk.sh",
|
"${path.root}/../scripts/build/install-android-sdk.sh",
|
||||||
"${path.root}/../scripts/build/install-xamarin.sh",
|
|
||||||
"${path.root}/../scripts/build/install-visualstudio.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nvm.sh",
|
|
||||||
"${path.root}/../scripts/build/install-apache.sh",
|
|
||||||
"${path.root}/../scripts/build/install-nginx.sh",
|
|
||||||
"${path.root}/../scripts/build/install-postgresql.sh",
|
|
||||||
"${path.root}/../scripts/build/install-audiodevice.sh",
|
|
||||||
"${path.root}/../scripts/build/install-vcpkg.sh",
|
|
||||||
"${path.root}/../scripts/build/install-miniconda.sh",
|
|
||||||
"${path.root}/../scripts/build/install-safari.sh",
|
"${path.root}/../scripts/build/install-safari.sh",
|
||||||
"${path.root}/../scripts/build/install-chrome.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-pipx-packages.sh",
|
|
||||||
"${path.root}/../scripts/build/install-bicep.sh",
|
"${path.root}/../scripts/build/install-bicep.sh",
|
||||||
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
"${path.root}/../scripts/build/install-codeql-bundle.sh"
|
||||||
]
|
]
|
||||||
@@ -271,7 +251,7 @@ build {
|
|||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} pwsh -f {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
scripts = [
|
scripts = [
|
||||||
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
"${path.root}/../scripts/build/Install-Toolset.ps1",
|
||||||
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
"${path.root}/../scripts/build/Configure-Toolset.ps1"
|
||||||
@@ -279,12 +259,14 @@ build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "ruby {{ .Path }}"
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
script = "${path.root}/../scripts/build/configure-xcode-simulators.rb"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} pwsh -f {{ .Path }}"
|
||||||
|
script = "${path.root}/../scripts/build/Configure-Xcode-Simulators.ps1"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
environment_vars = ["IMAGE_FOLDER=${local.image_folder}"]
|
||||||
|
execute_command = "source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
inline = [
|
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/software-report\" -ImageName ${var.build_id}",
|
||||||
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
"pwsh -File \"${local.image_folder}/tests/RunAll-Tests.ps1\""
|
||||||
@@ -294,14 +276,11 @@ build {
|
|||||||
provisioner "file" {
|
provisioner "file" {
|
||||||
destination = "${path.root}/../../image-output/"
|
destination = "${path.root}/../../image-output/"
|
||||||
direction = "download"
|
direction = "download"
|
||||||
source = "${local.image_folder}/output/*"
|
source = "${local.image_folder}/output/"
|
||||||
}
|
}
|
||||||
|
|
||||||
provisioner "shell" {
|
provisioner "shell" {
|
||||||
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}"
|
execute_command = "chmod +x {{ .Path }}; source $HOME/.bash_profile; {{ .Vars }} {{ .Path }}"
|
||||||
scripts = [
|
scripts = ["${path.root}/../scripts/build/configure-hostname.sh"]
|
||||||
"${path.root}/../scripts/build/configure-hostname.sh",
|
|
||||||
"${path.root}/../scripts/build/configure-system.sh"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
|
- `link` property points to the place where Xcode will be located on image. `/Applications/Xcode_<link>.app`
|
||||||
- `version` points to Xcode version that will be downloaded and installed
|
- `version` points to Xcode version that will be downloaded and installed
|
||||||
- `symlinks` describes the list of aliases where symlinks will be created to
|
- `symlinks` describes the list of aliases where symlinks will be created to
|
||||||
|
- `install_runtimes` is boolean function to control over the related simulator runtimes
|
||||||
|
- `sha256` used to check integrity of the Xcode installer file
|
||||||
- `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property)
|
- `default` - version of Xcode to set as default (should be metched with any `link` in `versions` property)
|
||||||
**Example:** `"11.2"`
|
**Example:** `"11.2"`
|
||||||
|
|
||||||
@@ -22,8 +24,8 @@
|
|||||||
|
|
||||||
```json
|
```json
|
||||||
"versions": [
|
"versions": [
|
||||||
{ "link": "12.2", "version": "12.2.0" },
|
{ "link": "16_beta_4", "version": "16.0.0-Beta.4+16A5211f", "symlinks": ["16.0"], "install_runtimes": "false", "sha256": "4270cd8021b2f7f512ce91bfc4423b25bccab36cdab21834709d798c8daade72"},
|
||||||
{ "link": "11.7", "version": "11.7.0", "symlinks": ["11.7_beta"] }
|
{ "link": "15.4", "version": "15.4.0+15F31d", "install_runtimes": "true", "sha256": "82d3d61804ff3f4c7c82085e91dc701037ddaa770e542848b2477e22f4e8aa7a"}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user