mirror of
https://github.com/docker/build-push-action.git
synced 2026-10-17 20:07:52 +02:00
Compare commits
565
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b222798c95 | ||
|
|
bef400bb70 | ||
|
|
c3c9e263c2 | ||
|
|
459b674183 | ||
|
|
4dedcb23c9 | ||
|
|
379bf63a97 | ||
|
|
9877975c9e | ||
|
|
7ed0556ffa | ||
|
|
91670ba5a4 | ||
|
|
80dbc8614a | ||
|
|
50cac3a3b6 | ||
|
|
03b4d6cac0 | ||
|
|
dcc3c70566 | ||
|
|
2145b7d858 | ||
|
|
104b27ceb2 | ||
|
|
9b2a2073c3 | ||
|
|
5f00bd7ece | ||
|
|
aeeb70cc49 | ||
|
|
27c552b342 | ||
|
|
35a05cc103 | ||
|
|
4e660f2e30 | ||
|
|
bb0f4e3f0e | ||
|
|
213f379438 | ||
|
|
9faad81e8c | ||
|
|
d1b4d6a4ee | ||
|
|
12f4b5e353 | ||
|
|
5d2ba96cd6 | ||
|
|
c4f5168a02 | ||
|
|
b2993c26f2 | ||
|
|
da299cd21b | ||
|
|
15b26a20de | ||
|
|
cc48d67973 | ||
|
|
4a5b66783d | ||
|
|
56ba23a372 | ||
|
|
ce50cab44a | ||
|
|
c039773389 | ||
|
|
2b7168e974 | ||
|
|
fff1612ee1 | ||
|
|
97f9a753b7 | ||
|
|
fb34f7b528 | ||
|
|
74033316e3 | ||
|
|
8fb371089a | ||
|
|
6a807f928c | ||
|
|
5ea3152e64 | ||
|
|
2170d74b73 | ||
|
|
7f56395244 | ||
|
|
d699131a66 | ||
|
|
2ca78c6bec | ||
|
|
2a30ab2a50 | ||
|
|
b976998676 | ||
|
|
03b9640044 | ||
|
|
9b5c9c8d06 | ||
|
|
d0461ab5b3 | ||
|
|
0d6e2d7127 | ||
|
|
503c02ba08 | ||
|
|
a51a4b8364 | ||
|
|
4921ae0de8 | ||
|
|
1ce8f83008 | ||
|
|
2f90f85ff1 | ||
|
|
46a74166d4 | ||
|
|
21f9d62729 | ||
|
|
75f33765e4 | ||
|
|
0d50e10ea8 | ||
|
|
94ff12a254 | ||
|
|
518282e547 | ||
|
|
9a4e7a1131 | ||
|
|
cdfd6263be | ||
|
|
11aabf2b92 | ||
|
|
d256265beb | ||
|
|
c309545754 | ||
|
|
42a69cca92 | ||
|
|
cb941d0b89 | ||
|
|
a9855f30a5 | ||
|
|
0b5f8cf863 | ||
|
|
d34ad6a21e | ||
|
|
a057b243c3 | ||
|
|
3add1637a6 | ||
|
|
6d79e06484 | ||
|
|
53b7df96c9 | ||
|
|
154298c1ca | ||
|
|
cb1238b9c9 | ||
|
|
24f845d5cb | ||
|
|
9c6973007b | ||
|
|
bc3a3a5f72 | ||
|
|
a82c504a23 | ||
|
|
0285a75190 | ||
|
|
c6ad2a3f96 | ||
|
|
d37484fb97 | ||
|
|
0448735411 | ||
|
|
3af9982280 | ||
|
|
f53c18c0cf | ||
|
|
6e67ee033d | ||
|
|
11e972a040 | ||
|
|
910f6850a6 | ||
|
|
33baeb834f | ||
|
|
841b976440 | ||
|
|
dd7abbf170 | ||
|
|
7c45d1eb06 | ||
|
|
8a43ac101c | ||
|
|
b40e3ca8bc | ||
|
|
5f1f2303ad | ||
|
|
55f5969fae | ||
|
|
4876fd8314 | ||
|
|
d187480585 | ||
|
|
a64725ae19 | ||
|
|
2aea2d4e15 | ||
|
|
f28b5fb763 | ||
|
|
15204538a5 | ||
|
|
b99c92828a | ||
|
|
16ce5c6012 | ||
|
|
ff26911fd3 | ||
|
|
c2245a368f | ||
|
|
d2aace88c2 | ||
|
|
ffca5157f0 | ||
|
|
f72b3cf665 | ||
|
|
371801e73e | ||
|
|
b3a9933cc8 | ||
|
|
405b217da0 | ||
|
|
7b93b2b85c | ||
|
|
27ef6d9c76 | ||
|
|
f55bd083f2 | ||
|
|
1ff3662da6 | ||
|
|
1d0c110a5d | ||
|
|
8db8ba8e45 | ||
|
|
abf612226d | ||
|
|
fe2165d9f3 | ||
|
|
77c0af9da9 | ||
|
|
2258452e7c | ||
|
|
c0132ad86b | ||
|
|
eaa27f4741 | ||
|
|
6d21a1aa84 | ||
|
|
799faff3ac | ||
|
|
9c9a2860cb | ||
|
|
3bef58aab7 | ||
|
|
a92e9d178d | ||
|
|
6d45611f19 | ||
|
|
473e09f9b5 | ||
|
|
d4bf874859 | ||
|
|
a00e37fb35 | ||
|
|
43af6b15d8 | ||
|
|
79aa6fa61a | ||
|
|
d0a02127dc | ||
|
|
3a412c25fe | ||
|
|
d26e5cbfa7 | ||
|
|
91c19095e2 | ||
|
|
e8d3fdadde | ||
|
|
9e8d01178c | ||
|
|
f0ca506b75 | ||
|
|
41ef05cd53 | ||
|
|
be165868b7 | ||
|
|
2d1196fa34 | ||
|
|
f9f3042f7e | ||
|
|
812d5fd921 | ||
|
|
b6f6693076 | ||
|
|
c1c626eced | ||
|
|
51bb284cd4 | ||
|
|
5f7884def8 | ||
|
|
e01deff7d9 | ||
|
|
3804d49793 | ||
|
|
71e8947aac | ||
|
|
4925ad24cd | ||
|
|
08c59e6569 | ||
|
|
63e6a3e1d8 | ||
|
|
7c3825ea74 | ||
|
|
d7cd9d7a35 | ||
|
|
157becc75e | ||
|
|
5ae6a4a064 | ||
|
|
422287b25a | ||
|
|
af6a07f739 | ||
|
|
3d01f53c7b | ||
|
|
e46f50c06e | ||
|
|
69b698e993 | ||
|
|
f8538d20fd | ||
|
|
c39566cf62 | ||
|
|
c707ca9135 | ||
|
|
ffa52ef3ea | ||
|
|
7a8bc15c71 | ||
|
|
f66d2d71bf | ||
|
|
eef0e2e2ee | ||
|
|
789f686580 | ||
|
|
152d4297d0 | ||
|
|
21f7630a74 | ||
|
|
3ff27d3602 | ||
|
|
d70693f4ae | ||
|
|
e0fea16cbf | ||
|
|
f832d4c773 | ||
|
|
17a24e14ed | ||
|
|
ad938becb9 | ||
|
|
c269a24fa2 | ||
|
|
64fda479ac | ||
|
|
c1d0c0cc42 | ||
|
|
d5c8665698 | ||
|
|
e4086eff94 | ||
|
|
e6ed27f63f | ||
|
|
dba6f6cfd6 | ||
|
|
4fc600fc62 | ||
|
|
bcafcacb16 | ||
|
|
18e62f1158 | ||
|
|
46580d2c9d | ||
|
|
3f80b252ca | ||
|
|
efeec9557c | ||
|
|
ddf04b08eb | ||
|
|
db08d97a08 | ||
|
|
ef1fb9688f | ||
|
|
2d8f2a1a37 | ||
|
|
919ac7bd7d | ||
|
|
c850e6994a | ||
|
|
56795cf70a | ||
|
|
c991b20ccb | ||
|
|
e2565a753f | ||
|
|
83bfd93ab4 | ||
|
|
a7d4e2ac29 | ||
|
|
00c4e32030 | ||
|
|
7144aa40aa | ||
|
|
00a2ffdccc | ||
|
|
dab806366e | ||
|
|
a691600376 | ||
|
|
c5117b60bc | ||
|
|
3e0f90700c | ||
|
|
502612d464 | ||
|
|
81e9d51607 | ||
|
|
d61b4b1884 | ||
|
|
19413e5c69 | ||
|
|
2cd9929dbc | ||
|
|
5e0c3c443d | ||
|
|
b66d8774c6 | ||
|
|
b859af5ad8 | ||
|
|
de30867634 | ||
|
|
94f57482d8 | ||
|
|
27173685d7 | ||
|
|
8ed8ece47c | ||
|
|
2133d1712a | ||
|
|
bebcd8f390 | ||
|
|
a3f8b56eb8 | ||
|
|
5e178f1185 | ||
|
|
dbf1bb58c7 | ||
|
|
b4f9e48f9d | ||
|
|
139e1274c0 | ||
|
|
693b70024e | ||
|
|
01a13d0bbd | ||
|
|
eb6512707b | ||
|
|
1031bc45c5 | ||
|
|
344ec24f8d | ||
|
|
dbac3ca1e5 | ||
|
|
b0bdd3ad21 | ||
|
|
3cb57ac71c | ||
|
|
f64672cf50 | ||
|
|
63e92d1fdf | ||
|
|
155e77ab84 | ||
|
|
d08e5c354a | ||
|
|
cbd2dff9a0 | ||
|
|
f76f51f129 | ||
|
|
7d03e66b5f | ||
|
|
98f853d923 | ||
|
|
cadccf6e8c | ||
|
|
03fe8775e3 | ||
|
|
827e36650e | ||
|
|
e25db879d0 | ||
|
|
1ac2573b5c | ||
|
|
5b9c34fb44 | ||
|
|
61cac19eba | ||
|
|
9a57217389 | ||
|
|
975aafcd3e | ||
|
|
2c65e9c5d3 | ||
|
|
230fd87864 | ||
|
|
7c68264114 | ||
|
|
1d41182205 | ||
|
|
6b3878c083 | ||
|
|
582091f7f9 | ||
|
|
38de52285e | ||
|
|
5bc2aa100a | ||
|
|
f939b4c816 | ||
|
|
b4bda282d6 | ||
|
|
683985cc23 | ||
|
|
8913706d4e | ||
|
|
2505ca301c | ||
|
|
2faeb55053 | ||
|
|
217eea940b | ||
|
|
4003f769ac | ||
|
|
dbbef96a17 | ||
|
|
d2c9f1ec18 | ||
|
|
2bd26e7129 | ||
|
|
4c8333398a | ||
|
|
ce71e4f44d | ||
|
|
b66574c6d1 | ||
|
|
db4ff6ca90 | ||
|
|
10e90e3645 | ||
|
|
5262538458 | ||
|
|
cd130e45cb | ||
|
|
806c75105a | ||
|
|
601a80b39c | ||
|
|
8f7fd7c8c7 | ||
|
|
710e335474 | ||
|
|
c4ca8486a6 | ||
|
|
ee4ca427a2 | ||
|
|
f1b3bb51af | ||
|
|
db35f80311 | ||
|
|
a129300020 | ||
|
|
ba15693834 | ||
|
|
367ff5effe | ||
|
|
0149a90b0f | ||
|
|
d1d3988951 | ||
|
|
b88979e155 | ||
|
|
176babefcc | ||
|
|
469bed9e93 | ||
|
|
f477955db5 | ||
|
|
9760b3030f | ||
|
|
d40bd56b13 | ||
|
|
8c1e8f8e5b | ||
|
|
456cabcd5e | ||
|
|
073b0e6385 | ||
|
|
64c9b14150 | ||
|
|
b035f368b0 | ||
|
|
607c92fb2b | ||
|
|
2fec442ac0 | ||
|
|
f91d05adaa | ||
|
|
c6a539d2f5 | ||
|
|
19e4966231 | ||
|
|
01c006c5e0 | ||
|
|
2a7a5fe65d | ||
|
|
56acb03b80 | ||
|
|
6d01ebc3b0 | ||
|
|
9e436ba9f2 | ||
|
|
62929198b5 | ||
|
|
cb8fc7586f | ||
|
|
5225a9fc21 | ||
|
|
ccc2b40e9e | ||
|
|
5dd7b9db36 | ||
|
|
55146d969b | ||
|
|
24e9b7e65f | ||
|
|
263435318d | ||
|
|
c0432d2e01 | ||
|
|
0bb1f27d6b | ||
|
|
5f9dbf956c | ||
|
|
0788c444d8 | ||
|
|
aa179ca4f4 | ||
|
|
1dc7386353 | ||
|
|
9c9803f364 | ||
|
|
db1f6c46e8 | ||
|
|
721e8c79de | ||
|
|
14487ce63c | ||
|
|
0ec91264d8 | ||
|
|
b749522b90 | ||
|
|
c566248492 | ||
|
|
13275dd76e | ||
|
|
67dc78bbaf | ||
|
|
0760504437 | ||
|
|
1c198f4467 | ||
|
|
288d9e2e4a | ||
|
|
88844b95d8 | ||
|
|
1be4244e8d | ||
|
|
094d2bc0cd | ||
|
|
548776e8d0 | ||
|
|
91838c2ba3 | ||
|
|
1332e65dc3 | ||
|
|
66147ca503 | ||
|
|
8ea72f78e8 | ||
|
|
6481840af9 | ||
|
|
84ad562665 | ||
|
|
9bea05fc44 | ||
|
|
471d1dc4e0 | ||
|
|
b89ff0a6f2 | ||
|
|
1e3ae3a4d3 | ||
|
|
b16f42f92a | ||
|
|
dc0fea5e62 | ||
|
|
0adf995921 | ||
|
|
d88cd289df | ||
|
|
3d09a6bd70 | ||
|
|
ca877d9245 | ||
|
|
d2fe919bb5 | ||
|
|
f0fc9ece82 | ||
|
|
67a2d409c0 | ||
|
|
0b1b1c9c43 | ||
|
|
b6a7c2c4ee | ||
|
|
31ca4e5d51 | ||
|
|
e613db9d5a | ||
|
|
b32b51a8ed | ||
|
|
594bf46f0f | ||
|
|
fd37bd55af | ||
|
|
e6478a2405 | ||
|
|
78785bddff | ||
|
|
128779fed7 | ||
|
|
7e094594be | ||
|
|
32ee877a58 | ||
|
|
d1a4129c41 | ||
|
|
49c623eaf8 | ||
|
|
bcc9f4afe7 | ||
|
|
da5b6c75b9 | ||
|
|
11be14d908 | ||
|
|
f5a8591a7f | ||
|
|
8796455d32 | ||
|
|
750f367828 | ||
|
|
48aba3b46d | ||
|
|
678328cf8e | ||
|
|
cdf0a37e6f | ||
|
|
d719b79de1 | ||
|
|
c333dfd43d | ||
|
|
6b56a4c3f8 | ||
|
|
92fb0d73b6 | ||
|
|
40532c5d6f | ||
|
|
70dd953427 | ||
|
|
41b4e8020e | ||
|
|
22cd91d73b | ||
|
|
6bdcc4fb8c | ||
|
|
b5e932e401 | ||
|
|
325a8bf0f1 | ||
|
|
0259cb088b | ||
|
|
1b8e4efb78 | ||
|
|
75ffdcce88 | ||
|
|
73b7dbf5d4 | ||
|
|
f79ca49284 | ||
|
|
5e99dacf67 | ||
|
|
b249570060 | ||
|
|
4f58ea7922 | ||
|
|
49b5ea61c6 | ||
|
|
13c9fddd72 | ||
|
|
e44afff359 | ||
|
|
67ebad331f | ||
|
|
32945a3392 | ||
|
|
e0fe9cf0f2 | ||
|
|
8f1ff6bf9a | ||
|
|
5cd11c3a4c | ||
|
|
0aba704831 | ||
|
|
23c657a01f | ||
|
|
16ebe778df | ||
|
|
646a62b4f2 | ||
|
|
d92ab1347f | ||
|
|
4f7cdeb0f0 | ||
|
|
ad3cd774a4 | ||
|
|
3efbc13366 | ||
|
|
2dbe91db48 | ||
|
|
7de3854c4c | ||
|
|
175aa53a3f | ||
|
|
806a2a461f | ||
|
|
a8d35412fb | ||
|
|
1672e74297 | ||
|
|
a04f51d3b4 | ||
|
|
5176d81f87 | ||
|
|
ec10ae8f96 | ||
|
|
597e8fc414 | ||
|
|
e050dfa622 | ||
|
|
d1fcdb6ee0 | ||
|
|
a6067b9a1a | ||
|
|
1ca370b3a9 | ||
|
|
2c95ebed5c | ||
|
|
d189d0ef33 | ||
|
|
a254f8ca60 | ||
|
|
94dae62c78 | ||
|
|
267a69d6cc | ||
|
|
f23fb2a7cb | ||
|
|
ef76d100ee | ||
|
|
522345f555 | ||
|
|
1a162644f9 | ||
|
|
9eea548195 | ||
|
|
11c2faaa9e | ||
|
|
de2365af33 | ||
|
|
bca5082da7 | ||
|
|
e7aab408d9 | ||
|
|
63eb7590c6 | ||
|
|
53ec48606f | ||
|
|
fe9d9f1d0c | ||
|
|
ad37ba1ad0 | ||
|
|
aabbd3f4d7 | ||
|
|
9c7c277413 | ||
|
|
987902144c | ||
|
|
709dde20a7 | ||
|
|
ec2d640ea6 | ||
|
|
3dc0757c66 | ||
|
|
dcb0699155 | ||
|
|
a3c06e8698 | ||
|
|
e75138d857 | ||
|
|
9552610e81 | ||
|
|
99c83871c1 | ||
|
|
af64c4e18f | ||
|
|
6fdff4fb09 | ||
|
|
9e59c61762 | ||
|
|
49351df2b7 | ||
|
|
723ff6ffad | ||
|
|
15560696de | ||
|
|
57e1d34ac3 | ||
|
|
309982ebc9 | ||
|
|
9476c25b2a | ||
|
|
97be5a4928 | ||
|
|
9cac6c8ea0 | ||
|
|
31159d49c0 | ||
|
|
07e1c3e148 | ||
|
|
f7febd621d | ||
|
|
f6010ea701 | ||
|
|
c0a6b9680f | ||
|
|
0dfe9c3d41 | ||
|
|
94f8f8c2ee | ||
|
|
22f4433c58 | ||
|
|
6721c56015 | ||
|
|
4367da978b | ||
|
|
0883ebe52d | ||
|
|
76e5c2d6ea | ||
|
|
29d67824d8 | ||
|
|
c382f710d3 | ||
|
|
5a5b70d974 | ||
|
|
dc24cf9e25 | ||
|
|
667cb22c52 | ||
|
|
d880b1964b | ||
|
|
e51051ad0b | ||
|
|
86c2bd0031 | ||
|
|
268d2b1611 | ||
|
|
2b8dc7f529 | ||
|
|
840c12be17 | ||
|
|
26368743c0 | ||
|
|
cfed4e995e | ||
|
|
dca03ca8fd | ||
|
|
e030091ff4 | ||
|
|
84354d3b32 | ||
|
|
de5408fe94 | ||
|
|
cfc1555281 | ||
|
|
f6a172d30e | ||
|
|
ca052bb54a | ||
|
|
025c2051f3 | ||
|
|
12076d2fb1 | ||
|
|
ef6cba3353 | ||
|
|
4c16cf906a | ||
|
|
a3118a86c8 | ||
|
|
c86eb8b0f7 | ||
|
|
2a53c6ccda | ||
|
|
ccef1f210d | ||
|
|
79117b6ea5 | ||
|
|
df19a799eb | ||
|
|
0e2ab16cd2 | ||
|
|
54d0f58d64 | ||
|
|
563a2f55e4 | ||
|
|
6003d3266a | ||
|
|
e1e22cdde8 | ||
|
|
fc15b64049 | ||
|
|
6c58ea3670 | ||
|
|
729f7f4926 | ||
|
|
99d83235bc | ||
|
|
1d5307d7af | ||
|
|
cf8d130912 | ||
|
|
8804d8e2ac | ||
|
|
1984549052 | ||
|
|
5bc9e2e9b9 | ||
|
|
eb539f44b1 | ||
|
|
b6ff9e5753 | ||
|
|
929fba6cce | ||
|
|
7f1f43ba33 | ||
|
|
40d6a900e0 | ||
|
|
d56be63626 | ||
|
|
eb3cfeaf00 | ||
|
|
d0fc12d8a4 | ||
|
|
68615d5b67 | ||
|
|
c3b570184c | ||
|
|
7e6f77677b | ||
|
|
2ce6beaad4 | ||
|
|
4c8d1e6826 | ||
|
|
b0312962ef | ||
|
|
96acf63e4c | ||
|
|
f8bc7f4600 | ||
|
|
c2064be02c | ||
|
|
4f02f34098 | ||
|
|
090ca155fc | ||
|
|
ec4854f780 | ||
|
|
2cdde995de | ||
|
|
008747aa03 | ||
|
|
1580753126 | ||
|
|
2a7db1d68a | ||
|
|
35e7dd5921 |
No files matched your search
+11
-1
@@ -1,2 +1,12 @@
|
|||||||
/coverage
|
/coverage
|
||||||
/node_modules
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
|
.yarn/build-state.yml
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
/dist/**
|
|
||||||
/coverage/**
|
|
||||||
/node_modules/**
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
"env": {
|
|
||||||
"node": true,
|
|
||||||
"es6": true,
|
|
||||||
"jest": true
|
|
||||||
},
|
|
||||||
"extends": [
|
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:@typescript-eslint/eslint-recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended",
|
|
||||||
"plugin:jest/recommended",
|
|
||||||
"plugin:prettier/recommended"
|
|
||||||
],
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"plugins": [
|
|
||||||
"@typescript-eslint",
|
|
||||||
"jest",
|
|
||||||
"prettier"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
|
/.yarn/releases/** binary
|
||||||
|
/.yarn/plugins/** binary
|
||||||
/dist/** linguist-generated=true
|
/dist/** linguist-generated=true
|
||||||
/lib/** linguist-generated=true
|
/lib/** linguist-generated=true
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 81 KiB |
@@ -4,6 +4,15 @@ updates:
|
|||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
|
cooldown:
|
||||||
|
default-days: 2
|
||||||
|
groups:
|
||||||
|
crazy-max-dot-github:
|
||||||
|
patterns:
|
||||||
|
- "crazy-max/.github/*"
|
||||||
|
codeql-actions:
|
||||||
|
patterns:
|
||||||
|
- "github/codeql-action/*"
|
||||||
labels:
|
labels:
|
||||||
- "dependencies"
|
- "dependencies"
|
||||||
- "bot"
|
- "bot"
|
||||||
@@ -11,6 +20,10 @@ updates:
|
|||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
|
cooldown:
|
||||||
|
default-days: 2
|
||||||
|
exclude:
|
||||||
|
- "@docker/actions-toolkit"
|
||||||
versioning-strategy: "increase"
|
versioning-strategy: "increase"
|
||||||
allow:
|
allow:
|
||||||
- dependency-type: "production"
|
- dependency-type: "production"
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ until $(curl --output /dev/null --silent --head --fail "http://$NEXUS_HOST:$NEXU
|
|||||||
printf '.'
|
printf '.'
|
||||||
sleep 5
|
sleep 5
|
||||||
done
|
done
|
||||||
|
echo "ready!"
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::Change user's password"
|
echo "::group::Change user's password"
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ on:
|
|||||||
type:
|
type:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
provider:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
name:
|
name:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
@@ -19,17 +22,16 @@ on:
|
|||||||
slug:
|
slug:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
username_secret:
|
secrets:
|
||||||
|
registry_username:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
registry_password:
|
||||||
password_secret:
|
|
||||||
required: false
|
required: false
|
||||||
type: string
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
HARBOR_VERSION: v2.7.0
|
HARBOR_VERSION: v2.13.2
|
||||||
NEXUS_VERSION: 3.47.1
|
NEXUS_VERSION: 3.47.1
|
||||||
DISTRIBUTION_VERSION: 2.8.1
|
DISTRIBUTION_VERSION: 3.0.0
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run:
|
run:
|
||||||
@@ -38,6 +40,9 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
-
|
||||||
|
buildx_version: edge
|
||||||
|
buildkit_image: moby/buildkit:latest
|
||||||
-
|
-
|
||||||
buildx_version: latest
|
buildx_version: latest
|
||||||
buildkit_image: moby/buildkit:buildx-stable-1
|
buildkit_image: moby/buildkit:buildx-stable-1
|
||||||
@@ -47,17 +52,29 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up env
|
name: Set up env
|
||||||
if: inputs.type == 'local'
|
if: inputs.type == 'local'
|
||||||
|
env:
|
||||||
|
ID: ${{ inputs.id }}
|
||||||
run: |
|
run: |
|
||||||
cat ./.github/e2e/${{ inputs.id }}/env >> $GITHUB_ENV
|
cat ./.github/e2e/${ID}/env >> $GITHUB_ENV
|
||||||
|
-
|
||||||
|
# FIXME: Remove this once GitLab Registry accepts OCI artifact attestations
|
||||||
|
# whose subject points to a manifest pushed in the same build.
|
||||||
|
# https://github.com/docker/buildx/pull/3991
|
||||||
|
name: Set up GitLab env
|
||||||
|
if: inputs.provider == 'gitlab'
|
||||||
|
run: |
|
||||||
|
echo "BUILDX_NO_DEFAULT_OCI_ARTIFACT=true" >> "$GITHUB_ENV"
|
||||||
-
|
-
|
||||||
name: Set up BuildKit config
|
name: Set up BuildKit config
|
||||||
|
env:
|
||||||
|
TYPE: ${{ inputs.type }}
|
||||||
run: |
|
run: |
|
||||||
touch /tmp/buildkitd.toml
|
touch /tmp/buildkitd.toml
|
||||||
if [ "${{ inputs.type }}" = "local" ]; then
|
if [ "${TYPE}" = "local" ]; then
|
||||||
echo -e "[registry.\"${{ env.REGISTRY_FQDN }}\"]\nhttp = true\ninsecure = true" > /tmp/buildkitd.toml
|
echo -e "[registry.\"${{ env.REGISTRY_FQDN }}\"]\nhttp = true\ninsecure = true" > /tmp/buildkitd.toml
|
||||||
fi
|
fi
|
||||||
-
|
-
|
||||||
@@ -65,21 +82,24 @@ jobs:
|
|||||||
if: inputs.type == 'local'
|
if: inputs.type == 'local'
|
||||||
run: |
|
run: |
|
||||||
if [ ! -e /etc/docker/daemon.json ]; then
|
if [ ! -e /etc/docker/daemon.json ]; then
|
||||||
echo '{}' | tee /etc/docker/daemon.json >/dev/null
|
echo '{}' | sudo tee /etc/docker/daemon.json >/dev/null
|
||||||
fi
|
fi
|
||||||
DOCKERD_CONFIG=$(jq '.+{"insecure-registries":["http://${{ env.REGISTRY_FQDN }}"]}' /etc/docker/daemon.json)
|
DOCKERD_CONFIG=$(jq '.+{"insecure-registries":["http://${{ env.REGISTRY_FQDN }}"]}' /etc/docker/daemon.json)
|
||||||
sudo tee /etc/docker/daemon.json <<<"$DOCKERD_CONFIG" >/dev/null
|
sudo tee /etc/docker/daemon.json <<<"$DOCKERD_CONFIG" >/dev/null
|
||||||
|
cat /etc/docker/daemon.json
|
||||||
sudo service docker restart
|
sudo service docker restart
|
||||||
-
|
-
|
||||||
name: Install ${{ inputs.name }}
|
name: Install ${{ inputs.name }}
|
||||||
if: inputs.type == 'local'
|
if: inputs.type == 'local'
|
||||||
|
env:
|
||||||
|
ID: ${{ inputs.id }}
|
||||||
run: |
|
run: |
|
||||||
sudo -E bash ./.github/e2e/${{ inputs.id }}/install.sh
|
sudo -E bash ./.github/e2e/${ID}/install.sh
|
||||||
sudo chown $(id -u):$(id -g) -R ~/.docker
|
sudo chown $(id -u):$(id -g) -R ~/.docker
|
||||||
-
|
-
|
||||||
name: Docker meta
|
name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
|
||||||
with:
|
with:
|
||||||
images: ${{ env.REGISTRY_SLUG || inputs.slug }}
|
images: ${{ env.REGISTRY_SLUG || inputs.slug }}
|
||||||
tags: |
|
tags: |
|
||||||
@@ -88,25 +108,35 @@ jobs:
|
|||||||
type=raw,gh-runid-${{ github.run_id }}
|
type=raw,gh-runid-${{ github.run_id }}
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.buildx_version }}
|
version: ${{ matrix.buildx_version }}
|
||||||
config: /tmp/buildkitd.toml
|
buildkitd-config: /tmp/buildkitd.toml
|
||||||
buildkitd-flags: --debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
buildkitd-flags: --debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
image=${{ matrix.buildkit_image }}
|
image=${{ matrix.buildkit_image }}
|
||||||
network=host
|
network=host
|
||||||
|
-
|
||||||
|
name: Configure AWS credentials
|
||||||
|
if: inputs.provider == 'aws'
|
||||||
|
uses: aws-actions/configure-aws-credentials@cbe3b392738ccf3f987d68400dafcf4b0624a56c # v6.2.4
|
||||||
|
with:
|
||||||
|
role-to-assume: arn:aws:iam::175142243308:role/official_gha_cicd
|
||||||
|
aws-region: us-east-1
|
||||||
-
|
-
|
||||||
name: Login to Registry
|
name: Login to Registry
|
||||||
if: github.event_name != 'pull_request' && (env.REGISTRY_USER || inputs.username_secret) != ''
|
if: github.event_name != 'pull_request' && (inputs.type == 'remote' || inputs.provider == 'aws' || env.REGISTRY_USER != '')
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
||||||
|
env:
|
||||||
|
DOCKERHUB_OIDC_CONNECTIONID: ${{ inputs.provider == 'dockerhub' && vars.DOCKERHUB_OIDC_CONNECTIONID || '' }}
|
||||||
with:
|
with:
|
||||||
registry: ${{ env.REGISTRY_FQDN || inputs.registry }}
|
registry: ${{ env.REGISTRY_FQDN || inputs.registry }}
|
||||||
username: ${{ env.REGISTRY_USER || secrets[inputs.username_secret] }}
|
username: ${{ env.REGISTRY_USER || secrets.registry_username || (inputs.registry == 'ghcr.io' && github.actor) || '' }}
|
||||||
password: ${{ env.REGISTRY_PASSWORD || secrets[inputs.password_secret] }}
|
password: ${{ env.REGISTRY_PASSWORD || secrets.registry_password || (inputs.registry == 'ghcr.io' && secrets.GITHUB_TOKEN) || '' }}
|
||||||
|
scope: ${{ inputs.type == 'remote' && inputs.registry == '' && '@push' || '' }}
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -119,12 +149,3 @@ jobs:
|
|||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
cache-from: type=registry,ref=${{ env.REGISTRY_SLUG || inputs.slug }}:master
|
cache-from: type=registry,ref=${{ env.REGISTRY_SLUG || inputs.slug }}:master
|
||||||
cache-to: type=inline
|
cache-to: type=inline
|
||||||
-
|
|
||||||
name: Inspect image
|
|
||||||
run: |
|
|
||||||
docker pull ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }}
|
|
||||||
docker image inspect ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }}
|
|
||||||
-
|
|
||||||
name: Check manifest
|
|
||||||
run: |
|
|
||||||
docker buildx imagetools inspect ${{ env.REGISTRY_SLUG || inputs.slug }}:${{ steps.meta.outputs.version }} --format '{{json .}}'
|
|
||||||
+458
-93
@@ -1,5 +1,8 @@
|
|||||||
name: ci
|
name: ci
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -24,8 +27,8 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BUILDX_VERSION: latest
|
BUILDX_VERSION: edge
|
||||||
BUILDKIT_IMAGE: moby/buildkit:buildx-stable-1
|
BUILDKIT_IMAGE: moby/buildkit:latest
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
minimal:
|
minimal:
|
||||||
@@ -33,12 +36,12 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
with:
|
with:
|
||||||
path: action
|
path: action
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -53,22 +56,22 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
with:
|
with:
|
||||||
path: action
|
path: action
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -98,26 +101,77 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
git-context-query:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
BUILDX_SEND_GIT_QUERY_AS_INPUT: true
|
||||||
|
services:
|
||||||
|
registry:
|
||||||
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
|
ports:
|
||||||
|
- 5000:5000
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: v0.29.0
|
||||||
|
driver-opts: |
|
||||||
|
network=host
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build and push
|
||||||
|
id: docker_build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
localhost:5000/name/app:latest
|
||||||
|
localhost:5000/name/app:1.0.0
|
||||||
|
-
|
||||||
|
name: Inspect
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect localhost:5000/name/app:1.0.0 --format '{{json .}}'
|
||||||
|
-
|
||||||
|
name: Check digest
|
||||||
|
run: |
|
||||||
|
if [ -z "${{ steps.docker_build.outputs.digest }}" ]; then
|
||||||
|
echo "::error::Digest should not be empty"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
git-context-secret:
|
git-context-secret:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
with:
|
with:
|
||||||
path: action
|
path: action
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -161,20 +215,20 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -210,17 +264,17 @@ jobs:
|
|||||||
DOCKER_IMAGE: localhost:5000/name/app
|
DOCKER_IMAGE: localhost:5000/name/app
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Docker meta
|
name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
|
||||||
with:
|
with:
|
||||||
images: ${{ env.DOCKER_IMAGE }}
|
images: ${{ env.DOCKER_IMAGE }}
|
||||||
tags: |
|
tags: |
|
||||||
@@ -233,7 +287,7 @@ jobs:
|
|||||||
type=sha
|
type=sha
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -272,7 +326,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Stop docker
|
name: Stop docker
|
||||||
run: |
|
run: |
|
||||||
@@ -288,7 +342,6 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Check
|
name: Check
|
||||||
run: |
|
run: |
|
||||||
echo "${{ toJson(steps.docker_build) }}"
|
|
||||||
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||||
echo "::error::Should have failed"
|
echo "::error::Should have failed"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -299,13 +352,13 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -324,7 +377,6 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Check
|
name: Check
|
||||||
run: |
|
run: |
|
||||||
echo "${{ toJson(steps.docker_build) }}"
|
|
||||||
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||||
echo "::error::Should have failed"
|
echo "::error::Should have failed"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -334,13 +386,13 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
id: docker_build
|
id: docker_build
|
||||||
@@ -356,7 +408,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
uses: ./
|
uses: ./
|
||||||
@@ -375,10 +427,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -393,15 +445,38 @@ jobs:
|
|||||||
MYSECRET=foo
|
MYSECRET=foo
|
||||||
INVALID_SECRET=
|
INVALID_SECRET=
|
||||||
|
|
||||||
|
secret-files:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./test/secret.Dockerfile
|
||||||
|
secret-files: |
|
||||||
|
MYSECRET=./test/secret.txt
|
||||||
|
INVALID_SECRET=
|
||||||
|
|
||||||
secret-envs:
|
secret-envs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker buildx
|
name: Set up Docker buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -423,10 +498,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -447,10 +522,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -469,10 +544,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -494,10 +569,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -517,10 +592,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -542,10 +617,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -567,6 +642,8 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
|
- buildx: edge
|
||||||
|
buildkit: moby/buildkit:latest
|
||||||
- buildx: latest
|
- buildx: latest
|
||||||
buildkit: moby/buildkit:buildx-stable-1
|
buildkit: moby/buildkit:buildx-stable-1
|
||||||
- buildx: latest
|
- buildx: latest
|
||||||
@@ -576,10 +653,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ matrix.buildx }}
|
version: ${{ matrix.buildx }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -613,16 +690,16 @@ jobs:
|
|||||||
attr: ''
|
attr: ''
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -665,16 +742,16 @@ jobs:
|
|||||||
output: /tmp/buildx-build
|
output: /tmp/buildx-build
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -717,20 +794,20 @@ jobs:
|
|||||||
- multi-sudo
|
- multi-sudo
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -786,16 +863,16 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver: ${{ matrix.driver }}
|
driver: ${{ matrix.driver }}
|
||||||
@@ -856,19 +933,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -905,19 +982,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -946,19 +1023,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up QEMU
|
name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -967,7 +1044,7 @@ jobs:
|
|||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
-
|
-
|
||||||
name: Cache Build
|
name: Cache Build
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
||||||
with:
|
with:
|
||||||
path: /tmp/.buildx-cache
|
path: /tmp/.buildx-cache
|
||||||
key: ${{ runner.os }}-local-test-${{ github.sha }}
|
key: ${{ runner.os }}-local-test-${{ github.sha }}
|
||||||
@@ -1004,7 +1081,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Uninstall docker cli
|
name: Uninstall docker cli
|
||||||
run: |
|
run: |
|
||||||
@@ -1015,7 +1092,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1033,10 +1110,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1055,10 +1132,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver: docker
|
driver: docker
|
||||||
@@ -1083,16 +1160,16 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1120,7 +1197,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set malformed docker config
|
name: Set malformed docker config
|
||||||
run: |
|
run: |
|
||||||
@@ -1136,7 +1213,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
squid-proxy:
|
squid-proxy:
|
||||||
image: ubuntu/squid:latest
|
image: ubuntu/squid:latest@sha256:6a097f68bae708cedbabd6188d68c7e2e7a38cedd05a176e1cc0ba29e3bbe029
|
||||||
ports:
|
ports:
|
||||||
- 3128:3128
|
- 3128:3128
|
||||||
steps:
|
steps:
|
||||||
@@ -1147,7 +1224,7 @@ jobs:
|
|||||||
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set proxy config
|
name: Set proxy config
|
||||||
run: |
|
run: |
|
||||||
@@ -1155,7 +1232,7 @@ jobs:
|
|||||||
echo '{"proxies":{"default":{"httpProxy":"http://127.0.0.1:3128","httpsProxy":"http://127.0.0.1:3128"}}}' > ~/.docker/config.json
|
echo '{"proxies":{"default":{"httpProxy":"http://127.0.0.1:3128","httpsProxy":"http://127.0.0.1:3128"}}}' > ~/.docker/config.json
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1173,7 +1250,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
squid-proxy:
|
squid-proxy:
|
||||||
image: ubuntu/squid:latest
|
image: ubuntu/squid:latest@sha256:6a097f68bae708cedbabd6188d68c7e2e7a38cedd05a176e1cc0ba29e3bbe029
|
||||||
ports:
|
ports:
|
||||||
- 3128:3128
|
- 3128:3128
|
||||||
steps:
|
steps:
|
||||||
@@ -1184,10 +1261,10 @@ jobs:
|
|||||||
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
curl --retry 5 --retry-all-errors --retry-delay 0 --connect-timeout 5 --proxy http://127.0.0.1:3128 -v --insecure --head https://www.google.com
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1209,17 +1286,17 @@ jobs:
|
|||||||
DOCKER_IMAGE: localhost:5000/name/app
|
DOCKER_IMAGE: localhost:5000/name/app
|
||||||
services:
|
services:
|
||||||
registry:
|
registry:
|
||||||
image: registry:2
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
ports:
|
ports:
|
||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Docker meta
|
name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
|
||||||
with:
|
with:
|
||||||
images: ${{ env.DOCKER_IMAGE }}
|
images: ${{ env.DOCKER_IMAGE }}
|
||||||
tags: |
|
tags: |
|
||||||
@@ -1232,7 +1309,7 @@ jobs:
|
|||||||
type=sha
|
type=sha
|
||||||
-
|
-
|
||||||
name: Set up Docker Buildx
|
name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
with:
|
with:
|
||||||
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
@@ -1254,3 +1331,291 @@ jobs:
|
|||||||
name: Check manifest
|
name: Check manifest
|
||||||
run: |
|
run: |
|
||||||
docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} --format '{{json .}}'
|
docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} --format '{{json .}}'
|
||||||
|
|
||||||
|
multi-output:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
registry:
|
||||||
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
|
ports:
|
||||||
|
- 5000:5000
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
network=host
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
buildkitd-flags: --debug
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: ./test
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
outputs: |
|
||||||
|
type=image,name=localhost:5000/name/app:latest,push=true
|
||||||
|
type=docker,name=app:local
|
||||||
|
type=oci,dest=/tmp/oci.tar
|
||||||
|
-
|
||||||
|
name: Check registry
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
|
||||||
|
-
|
||||||
|
name: Check docker
|
||||||
|
run: |
|
||||||
|
docker image inspect app:local
|
||||||
|
-
|
||||||
|
name: Check oci
|
||||||
|
run: |
|
||||||
|
set -ex
|
||||||
|
mkdir -p /tmp/oci-out
|
||||||
|
tar xf /tmp/oci.tar -C /tmp/oci-out
|
||||||
|
tree -nh /tmp/oci-out
|
||||||
|
|
||||||
|
load-and-push:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
registry:
|
||||||
|
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
|
||||||
|
ports:
|
||||||
|
- 5000:5000
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@1f40c72289eff860ee54a304f1438e3cff362e0a # v4.3.0
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
network=host
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
buildkitd-flags: --debug
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: ./test
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
load: true
|
||||||
|
push: true
|
||||||
|
tags: localhost:5000/name/app:latest
|
||||||
|
-
|
||||||
|
name: Check registry
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools inspect localhost:5000/name/app:latest --format '{{json .}}'
|
||||||
|
-
|
||||||
|
name: Check docker
|
||||||
|
run: |
|
||||||
|
docker image inspect localhost:5000/name/app:latest
|
||||||
|
|
||||||
|
summary-disable:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
env:
|
||||||
|
DOCKER_BUILD_SUMMARY: false
|
||||||
|
|
||||||
|
summary-not-supported:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: v0.12.1
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
|
||||||
|
record-upload-disable:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
env:
|
||||||
|
DOCKER_BUILD_RECORD_UPLOAD: false
|
||||||
|
|
||||||
|
record-retention-days:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
days:
|
||||||
|
- 2
|
||||||
|
- 0
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
env:
|
||||||
|
DOCKER_BUILD_RECORD_RETENTION_DAYS: ${{ matrix.days }}
|
||||||
|
|
||||||
|
checks:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
buildx-version:
|
||||||
|
- edge
|
||||||
|
- latest
|
||||||
|
- v0.14.1
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ matrix.buildx-version }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: ./test
|
||||||
|
file: ./test/lint.Dockerfile
|
||||||
|
|
||||||
|
annotations-disabled:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: ./test
|
||||||
|
file: ./test/lint.Dockerfile
|
||||||
|
env:
|
||||||
|
DOCKER_BUILD_CHECKS_ANNOTATIONS: false
|
||||||
|
|
||||||
|
call-check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
id: docker_build
|
||||||
|
continue-on-error: true
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
context: ./test
|
||||||
|
file: ./test/lint.Dockerfile
|
||||||
|
call: check
|
||||||
|
-
|
||||||
|
name: Check
|
||||||
|
run: |
|
||||||
|
if [ "${{ steps.docker_build.outcome }}" != "failure" ] || [ "${{ steps.docker_build.conclusion }}" != "success" ]; then
|
||||||
|
echo "::error::Should have failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
no-default-attestations:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
path: action
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.buildx-version || env.BUILDX_VERSION }}
|
||||||
|
driver-opts: |
|
||||||
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: ./action
|
||||||
|
with:
|
||||||
|
file: ./test/Dockerfile
|
||||||
|
env:
|
||||||
|
BUILDX_NO_DEFAULT_ATTESTATIONS: 1
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
name: codeql
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
- 'releases/v*'
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
NODE_VERSION: "24"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Enable corepack
|
||||||
|
run: |
|
||||||
|
corepack enable
|
||||||
|
yarn --version
|
||||||
|
-
|
||||||
|
name: Set up Node
|
||||||
|
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
|
||||||
|
with:
|
||||||
|
node-version: ${{ env.NODE_VERSION }}
|
||||||
|
-
|
||||||
|
name: Initialize CodeQL
|
||||||
|
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
||||||
|
with:
|
||||||
|
languages: javascript-typescript
|
||||||
|
build-mode: none
|
||||||
|
-
|
||||||
|
name: Perform CodeQL Analysis
|
||||||
|
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v4.37.9
|
||||||
|
with:
|
||||||
|
category: "/language:javascript-typescript"
|
||||||
+50
-35
@@ -1,5 +1,8 @@
|
|||||||
name: e2e
|
name: e2e
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -17,6 +20,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
uses: ./.github/workflows/.e2e-run.yml
|
uses: ./.github/workflows/.e2e-run.yml
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write # to get Docker Hub and AWS credentials
|
||||||
|
packages: write # to push image to GHCR
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -24,91 +31,99 @@ jobs:
|
|||||||
-
|
-
|
||||||
name: Distribution
|
name: Distribution
|
||||||
id: distribution
|
id: distribution
|
||||||
|
provider: none
|
||||||
type: local
|
type: local
|
||||||
-
|
-
|
||||||
name: Docker Hub
|
name: Docker Hub
|
||||||
registry: ''
|
registry: ''
|
||||||
slug: ghactionstest/ghactionstest
|
slug: dockereng/build-push-action-test
|
||||||
username_secret: DOCKERHUB_USERNAME
|
provider: dockerhub
|
||||||
password_secret: DOCKERHUB_TOKEN
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: GitHub
|
name: GitHub
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
slug: ghcr.io/docker-ghactiontest/test
|
slug: ghcr.io/docker/build-push-action-test
|
||||||
username_secret: GHCR_USERNAME
|
provider: ghcr
|
||||||
password_secret: GHCR_PAT
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: GitLab
|
name: GitLab
|
||||||
registry: registry.gitlab.com
|
registry: registry.gitlab.com
|
||||||
slug: registry.gitlab.com/test1716/test
|
slug: registry.gitlab.com/test1716/test
|
||||||
username_secret: GITLAB_USERNAME
|
provider: gitlab
|
||||||
password_secret: GITLAB_TOKEN
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: AWS ECR
|
name: AWS ECR
|
||||||
registry: 175142243308.dkr.ecr.us-east-2.amazonaws.com
|
registry: 175142243308.dkr.ecr.us-east-2.amazonaws.com
|
||||||
slug: 175142243308.dkr.ecr.us-east-2.amazonaws.com/sandbox/test-docker-action
|
slug: 175142243308.dkr.ecr.us-east-2.amazonaws.com/sandbox/test-docker-action
|
||||||
username_secret: AWS_ACCESS_KEY_ID
|
provider: aws
|
||||||
password_secret: AWS_SECRET_ACCESS_KEY
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: AWS ECR Public
|
name: AWS ECR Public
|
||||||
registry: public.ecr.aws
|
registry: public.ecr.aws
|
||||||
slug: public.ecr.aws/q3b5f1u4/test-docker-action
|
slug: public.ecr.aws/q3b5f1u4/test-docker-action
|
||||||
username_secret: AWS_ACCESS_KEY_ID
|
provider: aws
|
||||||
password_secret: AWS_SECRET_ACCESS_KEY
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: Google Artifact Registry
|
name: Google Artifact Registry
|
||||||
registry: us-east4-docker.pkg.dev
|
registry: us-east4-docker.pkg.dev
|
||||||
slug: us-east4-docker.pkg.dev/sandbox-298914/docker-official-github-actions/test-docker-action
|
slug: us-east4-docker.pkg.dev/sandbox-298914/docker-official-github-actions/test-docker-action
|
||||||
username_secret: GAR_USERNAME
|
provider: gar
|
||||||
password_secret: GAR_JSON_KEY
|
|
||||||
type: remote
|
|
||||||
-
|
|
||||||
name: Google Container Registry
|
|
||||||
registry: gcr.io
|
|
||||||
slug: gcr.io/sandbox-298914/test-docker-action
|
|
||||||
username_secret: GCR_USERNAME
|
|
||||||
password_secret: GCR_JSON_KEY
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: Azure Container Registry
|
name: Azure Container Registry
|
||||||
registry: officialgithubactions.azurecr.io
|
registry: officialgithubactions.azurecr.io
|
||||||
slug: officialgithubactions.azurecr.io/test-docker-action
|
slug: officialgithubactions.azurecr.io/test-docker-action
|
||||||
username_secret: AZURE_CLIENT_ID
|
provider: acr
|
||||||
password_secret: AZURE_CLIENT_SECRET
|
|
||||||
type: remote
|
type: remote
|
||||||
-
|
-
|
||||||
name: Quay
|
name: Quay
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
slug: quay.io/docker_build_team/ghactiontest
|
slug: quay.io/docker_build_team/ghactiontest
|
||||||
username_secret: QUAY_USERNAME
|
provider: quay
|
||||||
password_secret: QUAY_TOKEN
|
type: remote
|
||||||
|
-
|
||||||
|
name: Artifactory
|
||||||
|
registry: infradock.jfrog.io
|
||||||
|
slug: infradock.jfrog.io/test-ghaction/build-push-action
|
||||||
|
provider: artifactory
|
||||||
type: remote
|
type: remote
|
||||||
# -
|
|
||||||
# name: Artifactory
|
|
||||||
# registry: sforzando-build-team-local.jfrog.io
|
|
||||||
# slug: sforzando-build-team-local.jfrog.io/build-push-action-e2e
|
|
||||||
# username_secret: ARTIFACTORY_USERNAME
|
|
||||||
# password_secret: ARTIFACTORY_TOKEN
|
|
||||||
# type: remote
|
|
||||||
-
|
-
|
||||||
name: Harbor
|
name: Harbor
|
||||||
id: harbor
|
id: harbor
|
||||||
|
provider: none
|
||||||
type: local
|
type: local
|
||||||
-
|
-
|
||||||
name: Nexus
|
name: Nexus
|
||||||
id: nexus
|
id: nexus
|
||||||
|
provider: none
|
||||||
type: local
|
type: local
|
||||||
with:
|
with:
|
||||||
id: ${{ matrix.id }}
|
id: ${{ matrix.id }}
|
||||||
type: ${{ matrix.type }}
|
type: ${{ matrix.type }}
|
||||||
|
provider: ${{ matrix.provider }}
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
registry: ${{ matrix.registry }}
|
registry: ${{ matrix.registry }}
|
||||||
slug: ${{ matrix.slug }}
|
slug: ${{ matrix.slug }}
|
||||||
username_secret: ${{ matrix.username_secret }}
|
secrets:
|
||||||
password_secret: ${{ matrix.password_secret }}
|
# Pass only the registry-specific secrets needed by each matrix entry.
|
||||||
secrets: inherit
|
# GHCR uses the called workflow's GITHUB_TOKEN fallback.
|
||||||
|
# Docker Hub and AWS ECR use OIDC to get credentials.
|
||||||
|
registry_username: >-
|
||||||
|
${{
|
||||||
|
matrix.provider == 'dockerhub' && 'dockereng' ||
|
||||||
|
matrix.provider == 'gitlab' && secrets.GITLAB_USERNAME ||
|
||||||
|
matrix.provider == 'gar' && secrets.GAR_USERNAME ||
|
||||||
|
matrix.provider == 'acr' && secrets.AZURE_CLIENT_ID ||
|
||||||
|
matrix.provider == 'quay' && secrets.QUAY_USERNAME ||
|
||||||
|
matrix.provider == 'artifactory' && secrets.ARTIFACTORY_USERNAME ||
|
||||||
|
''
|
||||||
|
}}
|
||||||
|
registry_password: >-
|
||||||
|
${{
|
||||||
|
matrix.provider == 'gitlab' && secrets.GITLAB_TOKEN ||
|
||||||
|
matrix.provider == 'gar' && secrets.GAR_JSON_KEY ||
|
||||||
|
matrix.provider == 'acr' && secrets.AZURE_CLIENT_SECRET ||
|
||||||
|
matrix.provider == 'quay' && secrets.QUAY_TOKEN ||
|
||||||
|
matrix.provider == 'artifactory' && secrets.ARTIFACTORY_TOKEN ||
|
||||||
|
''
|
||||||
|
}}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
name: pr-assign-author
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run:
|
||||||
|
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pull-requests: write
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
name: publish
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
-
|
||||||
|
name: Publish
|
||||||
|
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
name: test
|
name: test
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -17,15 +20,16 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Test
|
name: Test
|
||||||
uses: docker/bake-action@v4
|
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
|
||||||
with:
|
with:
|
||||||
|
source: .
|
||||||
targets: test
|
targets: test
|
||||||
-
|
-
|
||||||
name: Upload coverage
|
name: Upload coverage
|
||||||
uses: codecov/codecov-action@v4
|
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||||
with:
|
with:
|
||||||
file: ./coverage/clover.xml
|
files: ./coverage/clover.xml
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
name: update-dist
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-dist:
|
||||||
|
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: GitHub auth token from GitHub App
|
||||||
|
id: docker-read-app
|
||||||
|
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
|
||||||
|
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
|
||||||
|
owner: docker
|
||||||
|
repositories: build-push-action
|
||||||
|
permission-contents: write
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
|
fetch-depth: 0
|
||||||
|
token: ${{ steps.docker-read-app.outputs.token }}
|
||||||
|
-
|
||||||
|
name: Build
|
||||||
|
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
|
||||||
|
with:
|
||||||
|
source: .
|
||||||
|
targets: build
|
||||||
|
-
|
||||||
|
name: Commit and push dist
|
||||||
|
run: |
|
||||||
|
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
git config user.name "github-actions[bot]"
|
||||||
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
git add dist
|
||||||
|
git commit -m "[dependabot skip] chore: update generated content"
|
||||||
|
git push
|
||||||
|
)
|
||||||
|
else
|
||||||
|
echo "No changes in dist"
|
||||||
|
fi
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
name: validate
|
name: validate
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@@ -15,16 +18,17 @@ jobs:
|
|||||||
prepare:
|
prepare:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
targets: ${{ steps.targets.outputs.matrix }}
|
matrix: ${{ steps.generate.outputs.matrix }}
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||||
-
|
-
|
||||||
name: Targets matrix
|
name: Generate matrix
|
||||||
id: targets
|
id: generate
|
||||||
run: |
|
uses: docker/bake-action/subaction/matrix@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
|
||||||
echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT
|
with:
|
||||||
|
target: validate
|
||||||
|
|
||||||
validate:
|
validate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -33,13 +37,10 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
target: ${{ fromJson(needs.prepare.outputs.targets) }}
|
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
|
||||||
steps:
|
steps:
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
-
|
||||||
name: Validate
|
name: Validate
|
||||||
uses: docker/bake-action@v4
|
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
|
||||||
with:
|
with:
|
||||||
targets: ${{ matrix.target }}
|
targets: ${{ matrix.target }}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
name: zizmor
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
- 'releases/v*'
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
zizmor:
|
||||||
|
uses: crazy-max/.github/.github/workflows/zizmor.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
with:
|
||||||
|
min-severity: medium
|
||||||
|
min-confidence: medium
|
||||||
|
persona: pedantic
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
rules:
|
||||||
|
# rule does not apply to reusable worfklows where permissions are defined by
|
||||||
|
# the caller workflow and not the reusable workflow itself
|
||||||
|
excessive-permissions:
|
||||||
|
ignore:
|
||||||
|
- .e2e-run.yml
|
||||||
+14
-52
@@ -1,7 +1,5 @@
|
|||||||
node_modules
|
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
|
||||||
lib
|
|
||||||
|
|
||||||
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
|
||||||
# Logs
|
# Logs
|
||||||
logs
|
logs
|
||||||
*.log
|
*.log
|
||||||
@@ -9,6 +7,7 @@ npm-debug.log*
|
|||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
lerna-debug.log*
|
lerna-debug.log*
|
||||||
|
.pnpm-debug.log*
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
@@ -19,34 +18,14 @@ pids
|
|||||||
*.seed
|
*.seed
|
||||||
*.pid.lock
|
*.pid.lock
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
# Coverage directory used by tools like istanbul
|
||||||
coverage
|
coverage
|
||||||
*.lcov
|
*.lcov
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
jspm_packages/
|
jspm_packages/
|
||||||
|
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# TypeScript cache
|
# TypeScript cache
|
||||||
*.tsbuildinfo
|
*.tsbuildinfo
|
||||||
|
|
||||||
@@ -56,36 +35,19 @@ typings/
|
|||||||
# Optional eslint cache
|
# Optional eslint cache
|
||||||
.eslintcache
|
.eslintcache
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
# Yarn Integrity file
|
||||||
.yarn-integrity
|
.yarn-integrity
|
||||||
|
|
||||||
# dotenv environment variables file
|
# dotenv environment variable files
|
||||||
.env
|
.env
|
||||||
.env.test
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
.env.local
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
# yarn v2
|
||||||
.cache
|
.yarn/cache
|
||||||
|
.yarn/unplugged
|
||||||
# next.js build output
|
.yarn/build-state.yml
|
||||||
.next
|
.yarn/install-state.gz
|
||||||
|
.pnp.*
|
||||||
# nuxt.js build output
|
|
||||||
.nuxt
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# yarn v2
|
||||||
|
.yarn/
|
||||||
+1
-2
@@ -6,6 +6,5 @@
|
|||||||
"singleQuote": true,
|
"singleQuote": true,
|
||||||
"trailingComma": "none",
|
"trailingComma": "none",
|
||||||
"bracketSpacing": false,
|
"bracketSpacing": false,
|
||||||
"arrowParens": "avoid",
|
"arrowParens": "avoid"
|
||||||
"parser": "typescript"
|
|
||||||
}
|
}
|
||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
# https://yarnpkg.com/configuration/yarnrc
|
||||||
|
|
||||||
|
nodeLinker: node-modules
|
||||||
|
|
||||||
|
logFilters:
|
||||||
|
- code: YN0004
|
||||||
|
level: discard
|
||||||
|
- code: YN0013
|
||||||
|
level: discard
|
||||||
|
- code: YN0019
|
||||||
|
level: discard
|
||||||
|
- code: YN0076
|
||||||
|
level: discard
|
||||||
|
- code: YN0086
|
||||||
|
level: discard
|
||||||
|
|
||||||
|
npmPreapprovedPackages:
|
||||||
|
- "@docker/actions-toolkit"
|
||||||
|
|
||||||
|
compressionLevel: mixed
|
||||||
|
enableGlobalCache: false
|
||||||
|
enableHardenedMode: true
|
||||||
|
enableScripts: false
|
||||||
|
npmMinimalAgeGate: 2d
|
||||||
@@ -19,21 +19,11 @@ ___
|
|||||||
* [Git context](#git-context)
|
* [Git context](#git-context)
|
||||||
* [Path context](#path-context)
|
* [Path context](#path-context)
|
||||||
* [Examples](#examples)
|
* [Examples](#examples)
|
||||||
* [Multi-platform image](https://docs.docker.com/build/ci/github-actions/multi-platform/)
|
* [Summaries](#summaries)
|
||||||
* [Secrets](https://docs.docker.com/build/ci/github-actions/secrets/)
|
|
||||||
* [Push to multi-registries](https://docs.docker.com/build/ci/github-actions/push-multi-registries/)
|
|
||||||
* [Manage tags and labels](https://docs.docker.com/build/ci/github-actions/manage-tags-labels/)
|
|
||||||
* [Cache management](https://docs.docker.com/build/ci/github-actions/cache/)
|
|
||||||
* [Export to Docker](https://docs.docker.com/build/ci/github-actions/export-docker/)
|
|
||||||
* [Test before push](https://docs.docker.com/build/ci/github-actions/test-before-push/)
|
|
||||||
* [Local registry](https://docs.docker.com/build/ci/github-actions/local-registry/)
|
|
||||||
* [Share built image between jobs](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
|
|
||||||
* [Named contexts](https://docs.docker.com/build/ci/github-actions/named-contexts/)
|
|
||||||
* [Copy image between registries](https://docs.docker.com/build/ci/github-actions/copy-image-registries/)
|
|
||||||
* [Update Docker Hub repo description](https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/)
|
|
||||||
* [Customizing](#customizing)
|
* [Customizing](#customizing)
|
||||||
* [inputs](#inputs)
|
* [inputs](#inputs)
|
||||||
* [outputs](#outputs)
|
* [outputs](#outputs)
|
||||||
|
* [environment variables](#environment-variables)
|
||||||
* [Troubleshooting](#troubleshooting)
|
* [Troubleshooting](#troubleshooting)
|
||||||
* [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
|
|
||||||
@@ -65,28 +55,26 @@ name: ci
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
|
||||||
name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
-
|
-
|
||||||
name: Login to Docker Hub
|
name: Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v4
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v4
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v4
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
tags: user/app:latest
|
tags: user/app:latest
|
||||||
@@ -104,28 +92,15 @@ expression `{{defaultContext}}`. Here we can use it to provide a subdirectory
|
|||||||
to the default Git context:
|
to the default Git context:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
-
|
|
||||||
# Setting up Docker Buildx with docker-container driver is required
|
|
||||||
# at the moment to be able to use a subdirectory with Git context
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: "{{defaultContext}}:mysubdir"
|
context: "{{defaultContext}}:mysubdir"
|
||||||
push: true
|
push: true
|
||||||
tags: user/app:latest
|
tags: user/app:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Warning**
|
|
||||||
>
|
|
||||||
> Subdirectory for Git context is available from [BuildKit v0.9.0](https://github.com/moby/buildkit/releases/tag/v0.9.0).
|
|
||||||
> If you're using the `docker` builder (default if `setup-buildx-action` not used),
|
|
||||||
> then BuildKit in Docker Engine will be used. As Docker Engine < v22.x.x embeds
|
|
||||||
> Buildkit 0.8.2 at the moment, it does not support this feature. It's therefore
|
|
||||||
> required to use the `setup-buildx-action` at the moment.
|
|
||||||
|
|
||||||
Building from the current repository automatically uses the [GitHub Token](https://docs.github.com/en/actions/security-guides/automatic-token-authentication),
|
Building from the current repository automatically uses the [GitHub Token](https://docs.github.com/en/actions/security-guides/automatic-token-authentication),
|
||||||
so it does not need to be passed. If you want to authenticate against another
|
so it does not need to be passed. If you want to authenticate against another
|
||||||
private repository, you have to use a [secret](https://docs.docker.com/build/ci/github-actions/secrets)
|
private repository, you have to use a [secret](https://docs.docker.com/build/ci/github-actions/secrets)
|
||||||
@@ -134,7 +109,7 @@ named `GIT_AUTH_TOKEN` to be able to authenticate against it with Buildx:
|
|||||||
```yaml
|
```yaml
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
tags: user/app:latest
|
tags: user/app:latest
|
||||||
@@ -149,8 +124,6 @@ name: ci
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
|
||||||
- 'main'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
docker:
|
||||||
@@ -158,22 +131,22 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
name: Checkout
|
name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v6
|
||||||
-
|
|
||||||
name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
-
|
-
|
||||||
name: Login to Docker Hub
|
name: Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v4
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
username: ${{ vars.DOCKERHUB_USERNAME }}
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v4
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v4
|
||||||
-
|
-
|
||||||
name: Build and push
|
name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
@@ -189,17 +162,54 @@ jobs:
|
|||||||
* [Cache management](https://docs.docker.com/build/ci/github-actions/cache/)
|
* [Cache management](https://docs.docker.com/build/ci/github-actions/cache/)
|
||||||
* [Export to Docker](https://docs.docker.com/build/ci/github-actions/export-docker/)
|
* [Export to Docker](https://docs.docker.com/build/ci/github-actions/export-docker/)
|
||||||
* [Test before push](https://docs.docker.com/build/ci/github-actions/test-before-push/)
|
* [Test before push](https://docs.docker.com/build/ci/github-actions/test-before-push/)
|
||||||
|
* [Validating build configuration](https://docs.docker.com/build/ci/github-actions/checks/)
|
||||||
* [Local registry](https://docs.docker.com/build/ci/github-actions/local-registry/)
|
* [Local registry](https://docs.docker.com/build/ci/github-actions/local-registry/)
|
||||||
* [Share built image between jobs](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
|
* [Share built image between jobs](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
|
||||||
* [Named contexts](https://docs.docker.com/build/ci/github-actions/named-contexts/)
|
* [Named contexts](https://docs.docker.com/build/ci/github-actions/named-contexts/)
|
||||||
* [Copy image between registries](https://docs.docker.com/build/ci/github-actions/copy-image-registries/)
|
* [Copy image between registries](https://docs.docker.com/build/ci/github-actions/copy-image-registries/)
|
||||||
* [Update Docker Hub repo description](https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/)
|
* [Update Docker Hub repo description](https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/)
|
||||||
|
* [SBOM and provenance attestations](https://docs.docker.com/build/ci/github-actions/attestations/)
|
||||||
|
* [Annotations](https://docs.docker.com/build/ci/github-actions/annotations/)
|
||||||
|
* [Reproducible builds](https://docs.docker.com/build/ci/github-actions/reproducible-builds/)
|
||||||
|
|
||||||
|
## Summaries
|
||||||
|
|
||||||
|
This action generates a [job summary](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/)
|
||||||
|
that provides a detailed overview of the build execution. The summary shows an
|
||||||
|
overview of all the steps executed during the build, including the build inputs
|
||||||
|
and eventual errors.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The summary also includes a link for downloading the build record with
|
||||||
|
additional details about the build, including build stats, logs, outputs, and
|
||||||
|
more. The build record can be imported to Docker Desktop for inspecting the
|
||||||
|
build in greater detail.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
>
|
||||||
|
> If you're using the [`actions/download-artifact`](https://github.com/actions/download-artifact)
|
||||||
|
> action in your workflow, you need to ignore the build record artifacts
|
||||||
|
> if `name` and `pattern` inputs are not specified ([defaults to download all artifacts](https://github.com/actions/download-artifact?tab=readme-ov-file#download-all-artifacts) of the workflow),
|
||||||
|
> otherwise the action will fail:
|
||||||
|
> ```yaml
|
||||||
|
> - uses: actions/download-artifact@v4
|
||||||
|
> with:
|
||||||
|
> pattern: "!*.dockerbuild"
|
||||||
|
> ```
|
||||||
|
> More info: https://github.com/actions/toolkit/pull/1874
|
||||||
|
|
||||||
|
Summaries are enabled by default, but can be disabled with the
|
||||||
|
`DOCKER_BUILD_SUMMARY` [environment variable](#environment-variables).
|
||||||
|
|
||||||
|
For more information about summaries, refer to the
|
||||||
|
[documentation](https://docs.docker.com/go/build-summary/).
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
|
|
||||||
### inputs
|
### inputs
|
||||||
|
|
||||||
Following inputs can be used as `step.with` keys
|
The following inputs can be used as `step.with` keys:
|
||||||
|
|
||||||
> `List` type is a newline-delimited string
|
> `List` type is a newline-delimited string
|
||||||
> ```yaml
|
> ```yaml
|
||||||
@@ -224,6 +234,7 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `build-contexts` | List | List of additional [build contexts](https://docs.docker.com/engine/reference/commandline/buildx_build/#build-context) (e.g., `name=path`) |
|
| `build-contexts` | List | List of additional [build contexts](https://docs.docker.com/engine/reference/commandline/buildx_build/#build-context) (e.g., `name=path`) |
|
||||||
| `cache-from` | List | List of [external cache sources](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-from) (e.g., `type=local,src=path/to/dir`) |
|
| `cache-from` | List | List of [external cache sources](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-from) (e.g., `type=local,src=path/to/dir`) |
|
||||||
| `cache-to` | List | List of [cache export destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to) (e.g., `type=local,dest=path/to/dir`) |
|
| `cache-to` | List | List of [cache export destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to) (e.g., `type=local,dest=path/to/dir`) |
|
||||||
|
| `call` | String | Set [method for evaluating build](https://docs.docker.com/reference/cli/docker/buildx/build/#call) (e.g., `check`) |
|
||||||
| `cgroup-parent` | String | Optional [parent cgroup](https://docs.docker.com/engine/reference/commandline/build/#use-a-custom-parent-cgroup---cgroup-parent) for the container used in the build |
|
| `cgroup-parent` | String | Optional [parent cgroup](https://docs.docker.com/engine/reference/commandline/build/#use-a-custom-parent-cgroup---cgroup-parent) for the container used in the build |
|
||||||
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
||||||
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
|
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
|
||||||
@@ -232,15 +243,15 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `network` | String | Set the networking mode for the `RUN` instructions during build |
|
| `network` | String | Set the networking mode for the `RUN` instructions during build |
|
||||||
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
||||||
| `no-cache-filters` | List/CSV | Do not cache specified stages |
|
| `no-cache-filters` | List/CSV | Do not cache specified stages |
|
||||||
| `outputs`¹ | List | List of [output destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#output) (format: `type=local,dest=path`) |
|
| `outputs` | List | List of [output destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#output) (format: `type=local,dest=path`) |
|
||||||
| `platforms` | List/CSV | List of [target platforms](https://docs.docker.com/engine/reference/commandline/buildx_build/#platform) for build |
|
| `platforms` | List/CSV | List of [target platforms](https://docs.docker.com/engine/reference/commandline/buildx_build/#platform) for build |
|
||||||
| `provenance` | Bool/String | Generate [provenance](https://docs.docker.com/build/attestations/slsa-provenance/) attestation for the build (shorthand for `--attest=type=provenance`) |
|
| `provenance` | Bool/String | Generate [provenance](https://docs.docker.com/build/attestations/slsa-provenance/) attestation for the build (shorthand for `--attest=type=provenance`) |
|
||||||
| `pull` | Bool | Always attempt to pull all referenced images (default `false`) |
|
| `pull` | Bool | Always attempt to pull all referenced images (default `false`) |
|
||||||
| `push` | Bool | [Push](https://docs.docker.com/engine/reference/commandline/buildx_build/#push) is a shorthand for `--output=type=registry` (default `false`) |
|
| `push` | Bool | [Push](https://docs.docker.com/engine/reference/commandline/buildx_build/#push) is a shorthand for `--output=type=registry` (default `false`) |
|
||||||
| `sbom` | Bool/String | Generate [SBOM](https://docs.docker.com/build/attestations/sbom/) attestation for the build (shorthand for `--attest=type=sbom`) |
|
| `sbom` | Bool/String | Generate [SBOM](https://docs.docker.com/build/attestations/sbom/) attestation for the build (shorthand for `--attest=type=sbom`) |
|
||||||
| `secrets` | List | List of [secrets](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=string`, `GIT_AUTH_TOKEN=mytoken`) |
|
| `secrets` | List | List of [secrets](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=string`, `GIT_AUTH_TOKEN=mytoken`) |
|
||||||
| `secret-envs` | List/CSV | List of [secret env vars](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=envname`, `MY_SECRET=MY_ENV_VAR`) |
|
| `secret-envs` | List/CSV | List of [secret env vars](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=envname`, `MY_SECRET=MY_ENV_VAR`) |
|
||||||
| `secret-files` | List | List of [secret files](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=filename`, `MY_SECRET=./secret.txt`) |
|
| `secret-files` | List | List of [secret files](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=filename`, `MY_SECRET=./secret.txt`) |
|
||||||
| `shm-size` | String | Size of [`/dev/shm`](https://docs.docker.com/engine/reference/commandline/buildx_build/#shm-size) (e.g., `2g`) |
|
| `shm-size` | String | Size of [`/dev/shm`](https://docs.docker.com/engine/reference/commandline/buildx_build/#shm-size) (e.g., `2g`) |
|
||||||
| `ssh` | List | List of [SSH agent socket or keys](https://docs.docker.com/engine/reference/commandline/buildx_build/#ssh) to expose to the build |
|
| `ssh` | List | List of [SSH agent socket or keys](https://docs.docker.com/engine/reference/commandline/buildx_build/#ssh) to expose to the build |
|
||||||
| `tags` | List/CSV | List of tags |
|
| `tags` | List/CSV | List of tags |
|
||||||
@@ -248,10 +259,6 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `ulimit` | List | [Ulimit](https://docs.docker.com/engine/reference/commandline/buildx_build/#ulimit) options (e.g., `nofile=1024:1024`) |
|
| `ulimit` | List | [Ulimit](https://docs.docker.com/engine/reference/commandline/buildx_build/#ulimit) options (e.g., `nofile=1024:1024`) |
|
||||||
| `github-token` | String | GitHub Token used to authenticate against a repository for [Git context](#git-context) (default `${{ github.token }}`) |
|
| `github-token` | String | GitHub Token used to authenticate against a repository for [Git context](#git-context) (default `${{ github.token }}`) |
|
||||||
|
|
||||||
> **Note**
|
|
||||||
>
|
|
||||||
> * ¹ multiple `outputs` are [not yet supported](https://github.com/moby/buildkit/issues/1555)
|
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
|
|
||||||
The following outputs are available:
|
The following outputs are available:
|
||||||
@@ -262,6 +269,15 @@ The following outputs are available:
|
|||||||
| `digest` | String | Image digest |
|
| `digest` | String | Image digest |
|
||||||
| `metadata` | JSON | Build result metadata |
|
| `metadata` | JSON | Build result metadata |
|
||||||
|
|
||||||
|
### environment variables
|
||||||
|
|
||||||
|
| Name | Type | Default | Description |
|
||||||
|
|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| `DOCKER_BUILD_CHECKS_ANNOTATIONS` | Bool | `true` | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/) |
|
||||||
|
| `DOCKER_BUILD_SUMMARY` | Bool | `true` | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled |
|
||||||
|
| `DOCKER_BUILD_RECORD_UPLOAD` | Bool | `true` | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled |
|
||||||
|
| `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number | | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
||||||
|
|||||||
+4
-85
@@ -1,10 +1,7 @@
|
|||||||
# Troubleshooting
|
# Troubleshooting
|
||||||
|
|
||||||
* [Cannot push to a registry](#cannot-push-to-a-registry)
|
* [Cannot push to a registry](#cannot-push-to-a-registry)
|
||||||
* [BuildKit container logs](#buildkit-container-logs)
|
|
||||||
* [With containerd](#with-containerd)
|
|
||||||
* [`repository name must be lowercase`](#repository-name-must-be-lowercase)
|
* [`repository name must be lowercase`](#repository-name-must-be-lowercase)
|
||||||
* [Image not loaded](#image-not-loaded)
|
|
||||||
|
|
||||||
## Cannot push to a registry
|
## Cannot push to a registry
|
||||||
|
|
||||||
@@ -22,59 +19,9 @@ These issues are not directly related to this action but are rather linked to
|
|||||||
you're pushing your image. The quality of error message depends on the registry
|
you're pushing your image. The quality of error message depends on the registry
|
||||||
and are usually not very informative.
|
and are usually not very informative.
|
||||||
|
|
||||||
### BuildKit container logs
|
|
||||||
|
|
||||||
To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs)
|
To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs)
|
||||||
action step and attach BuildKit container logs to your issue.
|
action step and attach BuildKit container logs to your issue.
|
||||||
|
|
||||||
### With containerd
|
|
||||||
|
|
||||||
Next you can test pushing with [containerd action](https://github.com/crazy-max/ghaction-setup-containerd)
|
|
||||||
using the following workflow. If it works then open an issue on [BuildKit](https://github.com/moby/buildkit)
|
|
||||||
repository.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: containerd
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
containerd:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
buildkitd-flags: --debug
|
|
||||||
-
|
|
||||||
name: Set up containerd
|
|
||||||
uses: crazy-max/ghaction-setup-containerd@v2
|
|
||||||
-
|
|
||||||
name: Build Docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
tags: docker.io/user/app:latest
|
|
||||||
outputs: type=oci,dest=/tmp/image.tar
|
|
||||||
-
|
|
||||||
name: Import image in containerd
|
|
||||||
run: |
|
|
||||||
sudo ctr i import --base-name docker.io/user/app --digests --all-platforms /tmp/image.tar
|
|
||||||
-
|
|
||||||
name: Push image with containerd
|
|
||||||
run: |
|
|
||||||
sudo ctr --debug i push --user "${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }}" docker.io/user/app:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
## `repository name must be lowercase`
|
## `repository name must be lowercase`
|
||||||
|
|
||||||
You may encounter this issue if you're using `github.repository` as a repo slug
|
You may encounter this issue if you're using `github.repository` as a repo slug
|
||||||
@@ -106,15 +53,14 @@ to generate sanitized tags:
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v6
|
||||||
with:
|
with:
|
||||||
images: ghcr.io/${{ github.repository }}
|
images: ghcr.io/${{ github.repository }}
|
||||||
tags: latest
|
tags: latest
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: .
|
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
```
|
```
|
||||||
@@ -123,42 +69,15 @@ Or a dedicated step to sanitize the slug:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Sanitize repo slug
|
- name: Sanitize repo slug
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v8
|
||||||
id: repo_slug
|
id: repo_slug
|
||||||
with:
|
with:
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
|
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: .
|
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.repo_slug.outputs.result }}:latest
|
tags: ${{ steps.repo_slug.outputs.result }}:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Image not loaded
|
|
||||||
|
|
||||||
Sometimes when your workflows are heavy consumers of disk storage, it can happen that build-push-action declares that the built image is loaded, but then not found in the following workflow steps.
|
|
||||||
|
|
||||||
- You can use the following solution as workaround, to free space on disk before building docker image using the following workflow step
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Free disk space
|
|
||||||
- name: Free Disk space
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
|
|
||||||
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
|
|
||||||
```
|
|
||||||
|
|
||||||
- Another workaround can be to call `docker/setup-buildx-action` with docker driver
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
driver: docker
|
|
||||||
```
|
|
||||||
|
|
||||||
More details in the [related issue](https://github.com/docker/build-push-action/issues/321)
|
|
||||||
@@ -1,207 +0,0 @@
|
|||||||
import {jest} from '@jest/globals';
|
|
||||||
|
|
||||||
export const context = {
|
|
||||||
repo: {
|
|
||||||
owner: 'docker',
|
|
||||||
repo: 'build-push-action'
|
|
||||||
},
|
|
||||||
ref: 'refs/heads/master',
|
|
||||||
runId: 123456789,
|
|
||||||
payload: {
|
|
||||||
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
base_ref: null,
|
|
||||||
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
|
|
||||||
commits: [
|
|
||||||
{
|
|
||||||
author: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
committer: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
distinct: true,
|
|
||||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
message: 'hello dev',
|
|
||||||
timestamp: '2022-04-19T11:27:24+02:00',
|
|
||||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
|
||||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
|
|
||||||
created: false,
|
|
||||||
deleted: false,
|
|
||||||
forced: false,
|
|
||||||
head_commit: {
|
|
||||||
author: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
committer: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
distinct: true,
|
|
||||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
message: 'hello dev',
|
|
||||||
timestamp: '2022-04-19T11:27:24+02:00',
|
|
||||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
|
||||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
|
||||||
},
|
|
||||||
organization: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
|
||||||
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
|
|
||||||
events_url: 'https://api.github.com/orgs/docker/events',
|
|
||||||
hooks_url: 'https://api.github.com/orgs/docker/hooks',
|
|
||||||
id: 5429470,
|
|
||||||
issues_url: 'https://api.github.com/orgs/docker/issues',
|
|
||||||
login: 'docker',
|
|
||||||
members_url: 'https://api.github.com/orgs/docker/members{/member}',
|
|
||||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
|
||||||
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
|
|
||||||
repos_url: 'https://api.github.com/orgs/docker/repos',
|
|
||||||
url: 'https://api.github.com/orgs/docker'
|
|
||||||
},
|
|
||||||
pusher: {
|
|
||||||
email: 'github@crazymax.dev',
|
|
||||||
name: 'crazy-max'
|
|
||||||
},
|
|
||||||
ref: 'refs/heads/dev',
|
|
||||||
repository: {
|
|
||||||
allow_forking: true,
|
|
||||||
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
|
|
||||||
archived: false,
|
|
||||||
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
|
|
||||||
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
|
|
||||||
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
|
|
||||||
clone_url: 'https://github.com/docker/test-docker-action.git',
|
|
||||||
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
|
|
||||||
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
|
|
||||||
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
|
|
||||||
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
|
|
||||||
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
|
|
||||||
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
|
|
||||||
created_at: 1596792180,
|
|
||||||
default_branch: 'master',
|
|
||||||
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
|
|
||||||
description: 'Test "Docker" Actions',
|
|
||||||
disabled: false,
|
|
||||||
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
|
|
||||||
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
|
|
||||||
fork: false,
|
|
||||||
forks: 1,
|
|
||||||
forks_count: 1,
|
|
||||||
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
|
|
||||||
full_name: 'docker/test-docker-action',
|
|
||||||
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
|
|
||||||
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
|
|
||||||
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
|
|
||||||
git_url: 'git://github.com/docker/test-docker-action.git',
|
|
||||||
has_downloads: true,
|
|
||||||
has_issues: true,
|
|
||||||
has_pages: false,
|
|
||||||
has_projects: true,
|
|
||||||
has_wiki: true,
|
|
||||||
homepage: '',
|
|
||||||
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
|
|
||||||
html_url: 'https://github.com/docker/test-docker-action',
|
|
||||||
id: 285789493,
|
|
||||||
is_template: false,
|
|
||||||
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
|
|
||||||
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
|
|
||||||
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
|
|
||||||
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
|
|
||||||
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
|
|
||||||
language: 'JavaScript',
|
|
||||||
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
|
|
||||||
license: {
|
|
||||||
key: 'mit',
|
|
||||||
name: 'MIT License',
|
|
||||||
node_id: 'MDc6TGljZW5zZTEz',
|
|
||||||
spdx_id: 'MIT',
|
|
||||||
url: 'https://api.github.com/licenses/mit'
|
|
||||||
},
|
|
||||||
master_branch: 'master',
|
|
||||||
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
|
|
||||||
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
|
|
||||||
mirror_url: null,
|
|
||||||
name: 'test-docker-action',
|
|
||||||
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
|
|
||||||
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
|
|
||||||
open_issues: 6,
|
|
||||||
open_issues_count: 6,
|
|
||||||
organization: 'docker',
|
|
||||||
owner: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
|
||||||
email: 'info@docker.com',
|
|
||||||
events_url: 'https://api.github.com/users/docker/events{/privacy}',
|
|
||||||
followers_url: 'https://api.github.com/users/docker/followers',
|
|
||||||
following_url: 'https://api.github.com/users/docker/following{/other_user}',
|
|
||||||
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
|
|
||||||
gravatar_id: '',
|
|
||||||
html_url: 'https://github.com/docker',
|
|
||||||
id: 5429470,
|
|
||||||
login: 'docker',
|
|
||||||
name: 'docker',
|
|
||||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
|
||||||
organizations_url: 'https://api.github.com/users/docker/orgs',
|
|
||||||
received_events_url: 'https://api.github.com/users/docker/received_events',
|
|
||||||
repos_url: 'https://api.github.com/users/docker/repos',
|
|
||||||
site_admin: false,
|
|
||||||
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
|
|
||||||
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
|
|
||||||
type: 'Organization',
|
|
||||||
url: 'https://api.github.com/users/docker'
|
|
||||||
},
|
|
||||||
private: true,
|
|
||||||
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
|
|
||||||
pushed_at: 1650360446,
|
|
||||||
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
|
|
||||||
size: 796,
|
|
||||||
ssh_url: 'git@github.com:docker/test-docker-action.git',
|
|
||||||
stargazers: 0,
|
|
||||||
stargazers_count: 0,
|
|
||||||
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
|
|
||||||
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
|
|
||||||
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
|
|
||||||
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
|
|
||||||
svn_url: 'https://github.com/docker/test-docker-action',
|
|
||||||
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
|
|
||||||
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
|
|
||||||
topics: [],
|
|
||||||
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
|
|
||||||
updated_at: '2022-04-19T09:05:09Z',
|
|
||||||
url: 'https://github.com/docker/test-docker-action',
|
|
||||||
visibility: 'private',
|
|
||||||
watchers: 0,
|
|
||||||
watchers_count: 0
|
|
||||||
},
|
|
||||||
sender: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
|
|
||||||
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
|
|
||||||
followers_url: 'https://api.github.com/users/crazy-max/followers',
|
|
||||||
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
|
|
||||||
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
|
|
||||||
gravatar_id: '',
|
|
||||||
html_url: 'https://github.com/crazy-max',
|
|
||||||
id: 1951866,
|
|
||||||
login: 'crazy-max',
|
|
||||||
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
|
|
||||||
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
|
|
||||||
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
|
|
||||||
repos_url: 'https://api.github.com/users/crazy-max/repos',
|
|
||||||
site_admin: false,
|
|
||||||
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
|
|
||||||
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
|
|
||||||
type: 'User',
|
|
||||||
url: 'https://api.github.com/users/crazy-max'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getOctokit = jest.fn();
|
|
||||||
+407
-130
@@ -1,60 +1,58 @@
|
|||||||
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
|
import {afterEach, beforeEach, describe, expect, test, vi} from 'vitest';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
import * as os from 'os';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder';
|
|
||||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
|
||||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/builder';
|
|
||||||
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github';
|
|
||||||
|
|
||||||
import * as context from '../src/context';
|
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder.js';
|
||||||
|
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||||
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
|
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||||
|
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||||
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
|
|
||||||
const tmpDir = path.join('/tmp', '.docker-build-push-jest');
|
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||||
const tmpName = path.join(tmpDir, '.tmpname-jest');
|
|
||||||
|
|
||||||
import repoFixture from './fixtures/github-repo.json';
|
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
|
||||||
jest.spyOn(GitHub.prototype, 'repoData').mockImplementation((): Promise<GitHubRepo> => {
|
const tmpName = path.join(tmpDir, '.tmpname-vi');
|
||||||
return <Promise<GitHubRepo>>(repoFixture as unknown);
|
const fixturesDir = path.join(__dirname, 'fixtures');
|
||||||
});
|
|
||||||
|
|
||||||
jest.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
||||||
if (!fs.existsSync(tmpDir)) {
|
if (!fs.existsSync(tmpDir)) {
|
||||||
fs.mkdirSync(tmpDir, {recursive: true});
|
fs.mkdirSync(tmpDir, {recursive: true});
|
||||||
}
|
}
|
||||||
return tmpDir;
|
return tmpDir;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
||||||
return tmpName;
|
return tmpName;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
vi.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
const metadataJson = path.join(tmpDir, 'metadata.json');
|
||||||
|
vi.spyOn(Build.prototype, 'getMetadataFilePath').mockImplementation((): string => {
|
||||||
|
return metadataJson;
|
||||||
|
});
|
||||||
|
|
||||||
|
const imageIDFilePath = path.join(tmpDir, 'iidfile.txt');
|
||||||
|
vi.spyOn(Build.prototype, 'getImageIDFilePath').mockImplementation((): string => {
|
||||||
|
return imageIDFilePath;
|
||||||
|
});
|
||||||
|
|
||||||
|
type BuilderInfoFixture = Omit<BuilderInfo, 'lastActivity'> & {lastActivity: string};
|
||||||
|
const builderInfoFixture = <BuilderInfoFixture>JSON.parse(fs.readFileSync(path.join(fixturesDir, 'builder-info.json'), {encoding: 'utf-8'}).trim());
|
||||||
|
vi.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
||||||
return {
|
return {
|
||||||
name: 'builder2',
|
...builderInfoFixture,
|
||||||
driver: 'docker-container',
|
lastActivity: new Date(builderInfoFixture.lastActivity)
|
||||||
lastActivity: new Date('2023-01-16 09:45:23 +0000 UTC'),
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
buildkit: 'v0.11.0',
|
|
||||||
'buildkitd-flags': '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
|
|
||||||
'driver-opts': ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
|
|
||||||
endpoint: 'unix:///var/run/docker.sock',
|
|
||||||
name: 'builder20',
|
|
||||||
platforms: 'linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6',
|
|
||||||
status: 'running'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getArgs', () => {
|
describe('getInputs', () => {
|
||||||
|
const originalEnv = process.env;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
process.env = Object.keys(process.env).reduce((object, key) => {
|
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||||
if (!key.startsWith('INPUT_')) {
|
if (!key.startsWith('INPUT_')) {
|
||||||
@@ -64,6 +62,74 @@ describe('getArgs', () => {
|
|||||||
}, {});
|
}, {});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
process.env = originalEnv;
|
||||||
|
});
|
||||||
|
|
||||||
|
function setRequiredBooleanInputs(): void {
|
||||||
|
setInput('load', 'false');
|
||||||
|
setInput('no-cache', 'false');
|
||||||
|
setInput('push', 'false');
|
||||||
|
setInput('pull', 'false');
|
||||||
|
}
|
||||||
|
|
||||||
|
test('uses Build git context when context input is empty', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git?ref=refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
const context = await loadContextModule();
|
||||||
|
const inputs = await context.getInputs();
|
||||||
|
expect(inputs.context).toBe(gitContext);
|
||||||
|
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('renders defaultContext templates from Build git context', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git#refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
setInput('context', '{{defaultContext}}:subdir');
|
||||||
|
const context = await loadContextModule();
|
||||||
|
const inputs = await context.getInputs();
|
||||||
|
expect(inputs.context).toBe(`${gitContext}:subdir`);
|
||||||
|
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('requests untrimmed secrets input explicitly', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git#refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
const getInputList = vi.fn().mockReturnValue([]);
|
||||||
|
vi.resetModules();
|
||||||
|
vi.doMock('@docker/actions-toolkit/lib/util.js', () => ({
|
||||||
|
Util: {
|
||||||
|
getInputList
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
setInput('secrets', `"PRIVATE_SSH_KEY=test\n\n"`);
|
||||||
|
const context = await import('../src/context.js');
|
||||||
|
await context.getInputs();
|
||||||
|
expect(getInputList).toHaveBeenCalledWith('secrets', {ignoreComma: true, trimWhitespace: false});
|
||||||
|
vi.doUnmock('@docker/actions-toolkit/lib/util.js');
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('getArgs', () => {
|
||||||
|
const originalEnv = process.env;
|
||||||
|
beforeEach(() => {
|
||||||
|
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||||
|
if (!key.startsWith('INPUT_')) {
|
||||||
|
object[key] = process.env[key];
|
||||||
|
}
|
||||||
|
return object;
|
||||||
|
}, {});
|
||||||
|
});
|
||||||
|
afterEach(() => {
|
||||||
|
process.env = originalEnv;
|
||||||
|
});
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
test.each([
|
test.each([
|
||||||
[
|
[
|
||||||
@@ -78,9 +144,10 @@ describe('getArgs', () => {
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
@@ -101,9 +168,10 @@ ccc"`],
|
|||||||
'--build-arg', 'MY_ARG=val1,val2,val3',
|
'--build-arg', 'MY_ARG=val1,val2,val3',
|
||||||
'--build-arg', 'ARG=val',
|
'--build-arg', 'ARG=val',
|
||||||
'--build-arg', `MULTILINE=aaaa\nbbbb\nccc`,
|
'--build-arg', `MULTILINE=aaaa\nbbbb\nccc`,
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
2,
|
||||||
@@ -117,11 +185,12 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--tag', 'name/app:7.4',
|
'--tag', 'name/app:7.4',
|
||||||
'--tag', 'name/app:latest',
|
'--tag', 'name/app:latest',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
3,
|
3,
|
||||||
@@ -141,7 +210,8 @@ ccc"`],
|
|||||||
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
4,
|
4,
|
||||||
@@ -158,7 +228,8 @@ ccc"`],
|
|||||||
'build',
|
'build',
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
5,
|
5,
|
||||||
@@ -172,9 +243,10 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
6,
|
6,
|
||||||
@@ -189,10 +261,11 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
7,
|
7,
|
||||||
@@ -208,9 +281,10 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--output', '.',
|
'--output', '.',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
8,
|
8,
|
||||||
@@ -230,13 +304,14 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
9,
|
9,
|
||||||
@@ -264,7 +339,7 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--secret', `id=MYSECRET,src=${tmpName}`,
|
'--secret', `id=MYSECRET,src=${tmpName}`,
|
||||||
@@ -273,7 +348,8 @@ ccc"`],
|
|||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
10,
|
10,
|
||||||
@@ -301,7 +377,7 @@ ccc`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--secret', `id=MYSECRET,src=${tmpName}`,
|
'--secret', `id=MYSECRET,src=${tmpName}`,
|
||||||
@@ -310,7 +386,8 @@ ccc`],
|
|||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
11,
|
11,
|
||||||
@@ -318,7 +395,7 @@ ccc`],
|
|||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', 'https://github.com/docker/build-push-action.git#refs/heads/master'],
|
['context', 'https://github.com/docker/build-push-action.git#refs/heads/master'],
|
||||||
['tag', 'localhost:5000/name/app:latest'],
|
['tag', 'localhost:5000/name/app:latest'],
|
||||||
['secret-files', `MY_SECRET=${path.join(__dirname, 'fixtures', 'secret.txt')}`],
|
['secret-files', `MY_SECRET=${path.join(fixturesDir, 'secret.txt')}`],
|
||||||
['file', './test/Dockerfile'],
|
['file', './test/Dockerfile'],
|
||||||
['builder', 'builder-git-context-2'],
|
['builder', 'builder-git-context-2'],
|
||||||
['network', 'host'],
|
['network', 'host'],
|
||||||
@@ -330,13 +407,14 @@ ccc`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=MY_SECRET,src=${tmpName}`,
|
'--secret', `id=MY_SECRET,src=${path.join(fixturesDir, 'secret.txt')}`,
|
||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--network', 'host',
|
'--network', 'host',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
12,
|
12,
|
||||||
@@ -356,7 +434,8 @@ ccc`],
|
|||||||
'--label', 'org.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"',
|
'--label', 'org.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
13,
|
13,
|
||||||
@@ -377,12 +456,13 @@ ccc`],
|
|||||||
'--add-host', 'docker:10.180.0.1',
|
'--add-host', 'docker:10.180.0.1',
|
||||||
'--add-host', 'foo:10.0.0.1',
|
'--add-host', 'foo:10.0.0.1',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'--network', 'host',
|
'--network', 'host',
|
||||||
'--push',
|
'--push',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
14,
|
14,
|
||||||
@@ -406,13 +486,14 @@ nproc=3`],
|
|||||||
'--add-host', 'foo:10.0.0.1',
|
'--add-host', 'foo:10.0.0.1',
|
||||||
'--cgroup-parent', 'foo',
|
'--cgroup-parent', 'foo',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--shm-size', '2g',
|
'--shm-size', '2g',
|
||||||
'--ulimit', 'nofile=1024:1024',
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'--ulimit', 'nproc=3',
|
'--ulimit', 'nproc=3',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
15,
|
15,
|
||||||
@@ -426,10 +507,11 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master:docker'
|
'https://github.com/docker/build-push-action.git#refs/heads/master:docker'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
16,
|
16,
|
||||||
@@ -444,11 +526,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir'
|
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
17,
|
17,
|
||||||
@@ -463,10 +546,11 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
18,
|
18,
|
||||||
@@ -480,11 +564,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
19,
|
19,
|
||||||
@@ -499,11 +584,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
20,
|
20,
|
||||||
@@ -518,11 +604,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
21,
|
21,
|
||||||
@@ -537,11 +624,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", 'false',
|
'--attest', 'type=provenance,disabled=true',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
22,
|
22,
|
||||||
@@ -556,11 +644,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", 'builder-id=foo',
|
'--attest', 'type=provenance,builder-id=foo',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
23,
|
23,
|
||||||
@@ -575,11 +664,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--output", 'type=docker',
|
"--output", 'type=docker',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
24,
|
24,
|
||||||
@@ -593,11 +683,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
25,
|
25,
|
||||||
@@ -613,14 +704,15 @@ nproc=3`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--build-arg', 'FOO=bar#baz',
|
'--build-arg', 'FOO=bar#baz',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
25,
|
26,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -635,14 +727,15 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'build',
|
'build',
|
||||||
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
||||||
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
26,
|
27,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -656,14 +749,15 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'build',
|
'build',
|
||||||
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
||||||
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
27,
|
28,
|
||||||
'0.11.0',
|
'0.11.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -677,13 +771,14 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
28,
|
29,
|
||||||
'0.12.0',
|
'0.12.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -701,13 +796,14 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'--annotation', 'manifest:example3=yyy',
|
'--annotation', 'manifest:example3=yyy',
|
||||||
'--annotation', 'manifest-descriptor[linux/amd64]:example4=zzz',
|
'--annotation', 'manifest-descriptor[linux/amd64]:example4=zzz',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
29,
|
30,
|
||||||
'0.12.0',
|
'0.12.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -719,23 +815,199 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--output", `type=image,"name=localhost:5000/name/app:latest,localhost:5000/name/app:foo",push-by-digest=true,name-canonical=true,push=true`,
|
"--output", `type=image,"name=localhost:5000/name/app:latest,localhost:5000/name/app:foo",push-by-digest=true,name-canonical=true,push=true`,
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
]
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
31,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['provenance', 'mode=max'],
|
||||||
|
['sbom', 'true'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--attest', `type=sbom,disabled=false`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
32,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['attests', 'type=provenance,mode=min'],
|
||||||
|
['provenance', 'mode=max'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
33,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['attests', 'type=provenance,mode=min'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
34,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false']
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_NO_DEFAULT_ATTESTATIONS', '1']
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
35,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['github-token', 'abcdefghijklmno0123456789'],
|
||||||
|
['context', '{{defaultContext}}'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=http://10.0.0.5:22827/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--secret', `id=GIT_AUTH_TOKEN.10.0.0.5:22827,src=${tmpName}`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'http://10.0.0.5:22827/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['GITHUB_SERVER_URL', 'http://10.0.0.5:22827'],
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
36,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['github-token', 'abcdefghijklmno0123456789'],
|
||||||
|
['context', '{{defaultContext}}'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.cds.internal.unity3d.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--secret', `id=GIT_AUTH_TOKEN.github.cds.internal.unity3d.com,src=${tmpName}`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.cds.internal.unity3d.com/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['GITHUB_SERVER_URL', 'https://github.cds.internal.unity3d.com'],
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
37,
|
||||||
|
'0.29.0',
|
||||||
|
new Map<string, string>([
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.com/docker/build-push-action.git?ref=refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
38,
|
||||||
|
'0.28.0',
|
||||||
|
new Map<string, string>([
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||||
|
])
|
||||||
|
],
|
||||||
])(
|
])(
|
||||||
'[%d] given %p with %p as inputs, returns %p',
|
'[%d] given %o with %o as inputs, returns %o',
|
||||||
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
|
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>, envs: Map<string, string> | undefined) => {
|
||||||
|
if (envs) {
|
||||||
|
envs.forEach((value: string, name: string) => {
|
||||||
|
process.env[name] = value;
|
||||||
|
});
|
||||||
|
}
|
||||||
inputs.forEach((value: string, name: string) => {
|
inputs.forEach((value: string, name: string) => {
|
||||||
setInput(name, value);
|
setInput(name, value);
|
||||||
});
|
});
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
jest.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
||||||
return buildxVersion;
|
return buildxVersion;
|
||||||
});
|
});
|
||||||
|
const context = await loadContextModule();
|
||||||
const inp = await context.getInputs();
|
const inp = await context.getInputs();
|
||||||
const res = await context.getArgs(inp, toolkit);
|
const res = await context.getArgs(inp, toolkit);
|
||||||
expect(res).toEqual(expected);
|
expect(res).toEqual(expected);
|
||||||
@@ -751,3 +1023,8 @@ function getInputName(name: string): string {
|
|||||||
function setInput(name: string, value: string): void {
|
function setInput(name: string, value: string): void {
|
||||||
process.env[getInputName(name)] = value;
|
process.env[getInputName(name)] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function loadContextModule(): Promise<typeof import('../src/context.js')> {
|
||||||
|
vi.resetModules();
|
||||||
|
return await import('../src/context.js');
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "builder2",
|
||||||
|
"driver": "docker-container",
|
||||||
|
"lastActivity": "2023-01-16 09:45:23 +0000 UTC",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"buildkit": "v0.11.0",
|
||||||
|
"buildkitd-flags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
|
||||||
|
"driver-opts": [
|
||||||
|
"BUILDKIT_STEP_LOG_MAX_SIZE=10485760",
|
||||||
|
"BUILDKIT_STEP_LOG_MAX_SPEED=10485760",
|
||||||
|
"JAEGER_TRACE=localhost:6831",
|
||||||
|
"image=moby/buildkit:latest",
|
||||||
|
"network=host"
|
||||||
|
],
|
||||||
|
"endpoint": "unix:///var/run/docker.sock",
|
||||||
|
"name": "builder20",
|
||||||
|
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6",
|
||||||
|
"status": "running"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,362 +0,0 @@
|
|||||||
{
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"pull": true,
|
|
||||||
"triage": true,
|
|
||||||
"push": false,
|
|
||||||
"maintain": false,
|
|
||||||
"admin": false
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0,
|
|
||||||
"license": {
|
|
||||||
"key": "mit",
|
|
||||||
"name": "MIT License",
|
|
||||||
"spdx_id": "MIT",
|
|
||||||
"url": "https://api.github.com/licenses/mit",
|
|
||||||
"node_id": "MDc6TGljZW5zZW1pdA=="
|
|
||||||
},
|
|
||||||
"organization": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "Organization",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"parent": {
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"admin": false,
|
|
||||||
"push": false,
|
|
||||||
"pull": true
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"admin": false,
|
|
||||||
"push": false,
|
|
||||||
"pull": true
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import fs from 'node:fs';
|
||||||
|
import os from 'node:os';
|
||||||
|
import path from 'node:path';
|
||||||
|
import {vi} from 'vitest';
|
||||||
|
|
||||||
|
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-action-'));
|
||||||
|
|
||||||
|
const githubPayload = {
|
||||||
|
repository: {
|
||||||
|
private: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const githubEventPath = path.join(tmpDir, 'github-event.json');
|
||||||
|
fs.writeFileSync(githubEventPath, JSON.stringify(githubPayload));
|
||||||
|
|
||||||
|
process.env = Object.assign({}, process.env, {
|
||||||
|
TEMP: tmpDir,
|
||||||
|
GITHUB_REPOSITORY: 'docker/build-push-action',
|
||||||
|
GITHUB_REF: 'refs/heads/master',
|
||||||
|
GITHUB_RUN_ID: '123456789',
|
||||||
|
GITHUB_RUN_ATTEMPT: '1',
|
||||||
|
GITHUB_EVENT_PATH: githubEventPath,
|
||||||
|
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
|
||||||
|
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
|
||||||
|
});
|
||||||
|
|
||||||
|
vi.mock('@actions/github', () => ({
|
||||||
|
context: {
|
||||||
|
repo: {
|
||||||
|
owner: 'docker',
|
||||||
|
repo: 'build-push-action'
|
||||||
|
},
|
||||||
|
ref: 'refs/heads/master',
|
||||||
|
runId: 123456789,
|
||||||
|
payload: githubPayload
|
||||||
|
},
|
||||||
|
getOctokit: vi.fn()
|
||||||
|
}));
|
||||||
+6
-3
@@ -34,6 +34,9 @@ inputs:
|
|||||||
cache-to:
|
cache-to:
|
||||||
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
||||||
required: false
|
required: false
|
||||||
|
call:
|
||||||
|
description: "Set method for evaluating build (e.g., check)"
|
||||||
|
required: false
|
||||||
cgroup-parent:
|
cgroup-parent:
|
||||||
description: "Optional parent cgroup for the container used in the build"
|
description: "Optional parent cgroup for the container used in the build"
|
||||||
required: false
|
required: false
|
||||||
@@ -118,6 +121,6 @@ outputs:
|
|||||||
description: 'Build result metadata'
|
description: 'Build result metadata'
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.cjs'
|
||||||
post: 'dist/index.js'
|
post: 'dist/index.cjs'
|
||||||
+46
-26
@@ -1,69 +1,89 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
ARG NODE_VERSION=20
|
ARG NODE_VERSION=24
|
||||||
|
|
||||||
FROM node:${NODE_VERSION}-alpine AS base
|
FROM node:${NODE_VERSION}-alpine AS base
|
||||||
RUN apk add --no-cache cpio findutils git
|
RUN apk add --no-cache cpio findutils git rsync
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache <<EOT
|
||||||
|
set -e
|
||||||
|
corepack enable
|
||||||
|
yarn --version
|
||||||
|
yarn config set --home enableTelemetry 0
|
||||||
|
EOT
|
||||||
|
|
||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn install && mkdir /vendor && cp yarn.lock /vendor
|
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
|
||||||
|
|
||||||
FROM scratch AS vendor-update
|
FROM scratch AS vendor-update
|
||||||
COPY --from=deps /vendor /
|
COPY --from=deps /vendor /
|
||||||
|
|
||||||
FROM deps AS vendor-validate
|
FROM deps AS vendor-validate
|
||||||
RUN --mount=type=bind,target=.,rw <<EOT
|
RUN --mount=type=bind,target=.,rw <<EOT
|
||||||
set -e
|
set -e
|
||||||
git add -A
|
git add -A
|
||||||
cp -rf /vendor/* .
|
cp -rf /vendor/* .
|
||||||
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
|
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
|
||||||
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
|
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
|
||||||
git status --porcelain -- yarn.lock
|
git status --porcelain -- yarn.lock
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
FROM deps AS build
|
FROM deps AS build
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=target=/context \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
yarn run build && mkdir /out && cp -Rf dist /out/
|
--mount=type=cache,target=/src/node_modules <<EOT
|
||||||
|
set -e
|
||||||
|
rsync -a /context/. .
|
||||||
|
rm -rf dist
|
||||||
|
yarn run build
|
||||||
|
mkdir /out
|
||||||
|
cp -r dist /out
|
||||||
|
EOT
|
||||||
|
|
||||||
FROM scratch AS build-update
|
FROM scratch AS build-update
|
||||||
COPY --from=build /out /
|
COPY --from=build /out /
|
||||||
|
|
||||||
FROM build AS build-validate
|
FROM build AS build-validate
|
||||||
RUN --mount=type=bind,target=.,rw <<EOT
|
RUN --mount=target=/context \
|
||||||
set -e
|
--mount=target=.,type=tmpfs <<EOT
|
||||||
git add -A
|
set -e
|
||||||
cp -rf /out/* .
|
rsync -a /context/. .
|
||||||
if [ -n "$(git status --porcelain -- dist)" ]; then
|
git add -A
|
||||||
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
rm -rf dist
|
||||||
git status --porcelain -- dist
|
cp -rf /out/* .
|
||||||
exit 1
|
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||||
fi
|
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
||||||
|
git status --porcelain -- dist
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
FROM deps AS format
|
FROM deps AS format
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run format \
|
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
|
||||||
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
|
|
||||||
|
|
||||||
FROM scratch AS format-update
|
FROM scratch AS format-update
|
||||||
COPY --from=format /out /
|
COPY --from=format /out /
|
||||||
|
|
||||||
FROM deps AS lint
|
FROM deps AS lint
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run lint
|
yarn run lint
|
||||||
|
|
||||||
FROM deps AS test
|
FROM deps AS test
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run test --coverage --coverageDirectory=/tmp/coverage
|
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
|
||||||
|
|
||||||
FROM scratch AS test-coverage
|
FROM scratch AS test-coverage
|
||||||
COPY --from=test /tmp/coverage /
|
COPY --from=test /tmp/coverage /
|
||||||
+392
@@ -0,0 +1,392 @@
|
|||||||
|
var nqe=Object.create;var yx=Object.defineProperty;var iqe=Object.getOwnPropertyDescriptor;var sqe=Object.getOwnPropertyNames;var oqe=Object.getPrototypeOf,aqe=Object.prototype.hasOwnProperty;var o=(t,e)=>yx(t,"name",{value:e,configurable:!0});var A=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),cqe=(t,e)=>{for(var r in e)yx(t,r,{get:e[r],enumerable:!0})},lqe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of sqe(e))!aqe.call(t,i)&&i!==r&&yx(t,i,{get:()=>e[i],enumerable:!(n=iqe(e,i))||n.enumerable});return t};var N=(t,e,r)=>(r=t!=null?nqe(oqe(t)):{},lqe(e||!t||!t.__esModule?yx(r,"default",{value:t,enumerable:!0}):r,t));var GZ=A(lm=>{"use strict";var y5t=require("net"),Aqe=require("tls"),IL=require("http"),MZ=require("https"),mqe=require("events"),E5t=require("assert"),gqe=require("util");lm.httpOverHttp=yqe;lm.httpsOverHttp=Eqe;lm.httpOverHttps=Cqe;lm.httpsOverHttps=bqe;function yqe(t){var e=new mu(t);return e.request=IL.request,e}o(yqe,"httpOverHttp");function Eqe(t){var e=new mu(t);return e.request=IL.request,e.createSocket=UZ,e.defaultPort=443,e}o(Eqe,"httpsOverHttp");function Cqe(t){var e=new mu(t);return e.request=MZ.request,e}o(Cqe,"httpOverHttps");function bqe(t){var e=new mu(t);return e.request=MZ.request,e.createSocket=UZ,e.defaultPort=443,e}o(bqe,"httpsOverHttps");function mu(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||IL.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",o(function(n,i,s,a){for(var c=qZ(i,s,a),l=0,u=e.requests.length;l<u;++l){var d=e.requests[l];if(d.host===c.host&&d.port===c.port){e.requests.splice(l,1),d.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)},"onFree"))}o(mu,"TunnelingAgent");gqe.inherits(mu,mqe.EventEmitter);mu.prototype.addRequest=o(function(e,r,n,i){var s=this,a=wL({request:e},s.options,qZ(r,n,i));if(s.sockets.length>=this.maxSockets){s.requests.push(a);return}s.createSocket(a,function(c){c.on("free",l),c.on("close",u),c.on("agentRemove",u),e.onSocket(c);function l(){s.emit("free",c,a)}o(l,"onFree");function u(d){s.removeSocket(c),c.removeListener("free",l),c.removeListener("close",u),c.removeListener("agentRemove",u)}o(u,"onCloseOrRemove")})},"addRequest");mu.prototype.createSocket=o(function(e,r){var n=this,i={};n.sockets.push(i);var s=wL({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Dd("making CONNECT request");var a=n.request(s);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",l),a.once("connect",u),a.once("error",d),a.end();function c(f){f.upgrade=!0}o(c,"onResponse");function l(f,h,p){process.nextTick(function(){u(f,h,p)})}o(l,"onUpgrade");function u(f,h,p){if(a.removeAllListeners(),h.removeAllListeners(),f.statusCode!==200){Dd("tunneling socket could not be established, statusCode=%d",f.statusCode),h.destroy();var g=new Error("tunneling socket could not be established, statusCode="+f.statusCode);g.code="ECONNRESET",e.request.emit("error",g),n.removeSocket(i);return}if(p.length>0){Dd("got illegal response body from proxy"),h.destroy();var g=new Error("got illegal response body from proxy");g.code="ECONNRESET",e.request.emit("error",g),n.removeSocket(i);return}return Dd("tunneling connection has established"),n.sockets[n.sockets.indexOf(i)]=h,r(h)}o(u,"onConnect");function d(f){a.removeAllListeners(),Dd(`tunneling socket could not be established, cause=%s
|
||||||
|
`,f.message,f.stack);var h=new Error("tunneling socket could not be established, cause="+f.message);h.code="ECONNRESET",e.request.emit("error",h),n.removeSocket(i)}o(d,"onError")},"createSocket");mu.prototype.removeSocket=o(function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(i){n.request.onSocket(i)})}},"removeSocket");function UZ(t,e){var r=this;mu.prototype.createSocket.call(r,t,function(n){var i=t.request.getHeader("host"),s=wL({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):t.host}),a=Aqe.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}o(UZ,"createSecureSocket");function qZ(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}o(qZ,"toOptions");function wL(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var i=Object.keys(n),s=0,a=i.length;s<a;++s){var c=i[s];n[c]!==void 0&&(t[c]=n[c])}}return t}o(wL,"mergeOptions");var Dd;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?Dd=o(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):Dd=o(function(){},"debug");lm.debug=Dd});var um=A((I5t,HZ)=>{HZ.exports=GZ()});var mr=A((w5t,VZ)=>{VZ.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Rt=A((S5t,Aee)=>{"use strict";var zZ=Symbol.for("undici.error.UND_ERR"),gr=class extends Error{static{o(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[zZ]===!0}[zZ]=!0},$Z=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),SL=class extends gr{static{o(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[$Z]===!0}[$Z]=!0},jZ=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),BL=class extends gr{static{o(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[jZ]===!0}[jZ]=!0},WZ=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),xL=class extends gr{static{o(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[WZ]===!0}[WZ]=!0},JZ=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),vL=class extends gr{static{o(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT
Line truncated
|
||||||
|
`)||t.includes("\r")||t.includes("\0"))===!1}o(Nte,"isValidHeaderValue");function LGe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),i="";if(n.length>0)for(let s=n.length;s!==0;s--){let a=n[s-1].trim();if(bGe.has(a)){i=a;break}}i!==""&&(t.referrerPolicy=i)}o(LGe,"setRequestReferrerPolicyOnRedirect");function FGe(){return"allowed"}o(FGe,"crossOriginResourcePolicyCheck");function MGe(){return"success"}o(MGe,"corsCheck");function UGe(){return"success"}o(UGe,"TAOCheck");function qGe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(qGe,"appendFetchMetadata");function GGe(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&EF(t.origin)&&!EF(ob(t))&&(e=null);break;case"same-origin":Hx(t,ob(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(GGe,"appendRequestOriginHeader");function Cm(t,e){return t}o(Cm,"coarsenTime");function HGe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Cm(t.domainLookupStartTime,r),domainLookupEndTime:Cm(t.domainLookupEndTime,r),connectionStartTime:Cm(t.connectionStartTime,r),connectionEndTime:Cm(t.connectionEndTime,r),secureConnectionStartTime:Cm(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}o(HGe,"clampAndCoarsenConnectionTimingInfo");function VGe(t){return Cm(xGe.now(),t)}o(VGe,"coarsenedSharedCurrentTime");function zGe(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}o(zGe,"createOpaqueTimingInfo");function _te(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(_te,"makePolicyContainer");function $Ge(t){return{referrerPolicy:t.referrerPolicy}}o($Ge,"clonePolicyContainer");function jGe(t){let e=t.referrerPolicy;_h(e);let r=null;if(t.referrer==="client"){let c=wte();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=yF(r),i=yF(r,!0);n.toString().length>4096&&(n=i);let s=Hx(t,n),a=sb(n)&&!sb(t.url);switch(e){case"origin":return i??yF(r,!0);case"unsafe-url":return n;case"same-origin":return s?i:"no-referrer";case"origin-when-cross-origin":return s?n:i;case"strict-origin-when-cross-origin":{let c=ob(t);return Hx(n,c)?n:sb(n)&&!sb(c)?"no-referrer":i}default:return a?"no-referrer":i}}o(jGe,"determineRequestsReferrer");function yF(t,e){return _h(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}o(yF,"stripURLForReferrer");function sb(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}o(sb,"isURLPotentiallyTrustworthy");function WGe(t,e){if(Gx===void 0)return!0;let r=Tte(e);if(r==="no metadata"||r.length===0)return!0;let n=YGe(r),i=KGe(r,n);for(let s of i){let a=s.algo,c=s.hash,l=Gx.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),XGe(l,c))return!0}return!1}o(WGe,"bytesMatch");var JGe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function Tte(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let i=JGe.exec(n);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let s=i.groups.algo.toLowerCase();Bte.includes(s)&&e.push(i.groups)}return r===!0?"no metadata":e}o(Tte,"parseMetadata");function YGe(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}o(YGe,"getStrongestMetadata");function KGe(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}o(KGe,"filterMetadataListByAlgorithm");function XGe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}o(XGe,"compareBase64Mixed");function ZGe(t){}o(ZGe,"tryUpgr
Line truncated
|
||||||
|
`);function PHe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(PHe,"isAsciiString");function OHe(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}o(OHe,"validateBoundary");function LHe(t,e){zx(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),i=[],s={position:0};for(;t[s.position]===13&&t[s.position+1]===10;)s.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(s.position,s.position+n.length).equals(n))s.position+=n.length;else return"failure";if(s.position===t.length-2&&$x(t,QHe,s)||s.position===t.length-4&&$x(t,kHe,s))return i;if(t[s.position]!==13||t[s.position+1]!==10)return"failure";s.position+=2;let c=FHe(t,s);if(c==="failure")return"failure";let{name:l,filename:u,contentType:d,encoding:f}=c;s.position+=2;let h;{let g=t.indexOf(n.subarray(2),s.position);if(g===-1)return"failure";h=t.subarray(s.position,g-4),s.position+=h.length,f==="base64"&&(h=Buffer.from(h.toString(),"base64"))}if(t[s.position]!==13||t[s.position+1]!==10)return"failure";s.position+=2;let p;u!==null?(d??="text/plain",PHe(d)||(d=""),p=new RHe([h],u,{type:d})):p=xHe(Buffer.from(h)),zx(Hte(l)),zx(typeof p=="string"&&Hte(p)||NHe(p)),i.push(_He(l,p,u))}}o(LHe,"multipartFormDataParser");function FHe(t,e){let r=null,n=null,i=null,s=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:i,encoding:s};let a=Im(c=>c!==10&&c!==13&&c!==58,t,e);if(a=xF(a,!0,!0,c=>c===9||c===32),!vHe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,Im(c=>c===32||c===9,t,e),BHe(a)){case"content-disposition":{if(r=n=null,!$x(t,DHe,e)||(e.position+=17,r=$te(t,e),r===null))return"failure";if($x(t,zte,e)){let c=e.position+zte.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=$te(t,e),n===null))return"failure"}break}case"content-type":{let c=Im(l=>l!==10&&l!==13,t,e);c=xF(c,!1,!0,l=>l===9||l===32),i=Vte(c);break}case"content-transfer-encoding":{let c=Im(l=>l!==10&&l!==13,t,e);c=xF(c,!1,!0,l=>l===9||l===32),s=Vte(c);break}default:Im(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}o(FHe,"parseMultipartFormDataHeaders");function $te(t,e){zx(t[e.position-1]===34);let r=Im(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
|
||||||
|
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}o($te,"parseMultipartFormDataName");function Im(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}o(Im,"collectASequenceOfBytes");function xF(t,e,r,n){let i=0,s=t.length-1;if(e)for(;i<t.length&&n(t[i]);)i++;if(r)for(;s>0&&n(t[s]);)s--;return i===0&&s===t.length-1?t:t.subarray(i,s+1)}o(xF,"removeChars");function $x(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}o($x,"bufferStartsWith");jte.exports={multipartFormDataParser:LHe,validateBoundary:OHe}});var Bm=A((uzt,ire)=>{"use strict";var lb=at(),{ReadableStreamFrom:MHe,isBlobLike:Jte,isReadableStreamLike:UHe,readableStreamClose:qHe,createDeferredPromise:GHe,fullyReadBody:HHe,extractMimeType:VHe,utf8DecodeBytes:Xte}=Ws(),{FormData:Yte}=cb(),{kState:Sm}=Qd(),{webidl:zHe}=ci(),{Blob:$He}=require("node:buffer"),vF=require("node:assert"),{isErrored:Zte,isDisturbed:jHe}=require("node:stream"),{isArrayBuffer:WHe}=require("node:util/types"),{serializeAMimeType:JHe}=gs(),{multipartFormDataParser:YHe}=Wte(),NF;try{let t=require("node:crypto");NF=o(e=>t.randomInt(0,e),"random")}catch{NF=o(t=>Math.floor(Math.random(t)),"random")}var jx=new TextEncoder;function KHe(){}o(KHe,"noop");var ere=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,tre;ere&&(tre=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!jHe(e)&&!Zte(e)&&e.cancel("Response object has been garbage collected").catch(KHe)}));function rre(t,e=!1){let r=null;t instanceof ReadableStream?r=t:Jte(t)?r=t.stream():r=new ReadableStream({async pull(l){let u=typeof i=="string"?jx.encode(i):i;u.byteLength&&l.enqueue(u),queueMicrotask(()=>qHe(l))},start(){},type:"bytes"}),vF(UHe(r));let n=null,i=null,s=null,a=null;if(typeof t=="string")i=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)i=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(WHe(t))i=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))i=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(lb.isFormDataLike(t)){let l=`----formdata-undici-0${`${NF(1e11)}`.padStart(11,"0")}`,u=`--${l}\r
|
||||||
|
Content-Disposition: form-data`;let d=o(E=>E.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),f=o(E=>E.replace(/\r?\n|\r/g,`\r
|
||||||
|
`),"normalizeLinefeeds"),h=[],p=new Uint8Array([13,10]);s=0;let g=!1;for(let[E,y]of t)if(typeof y=="string"){let C=jx.encode(u+`; name="${d(f(E))}"\r
|
||||||
|
\r
|
||||||
|
${f(y)}\r
|
||||||
|
`);h.push(C),s+=C.byteLength}else{let C=jx.encode(`${u}; name="${d(f(E))}"`+(y.name?`; filename="${d(y.name)}"`:"")+`\r
|
||||||
|
Content-Type: ${y.type||"application/octet-stream"}\r
|
||||||
|
\r
|
||||||
|
`);h.push(C,y,p),typeof y.size=="number"?s+=C.byteLength+y.size+p.byteLength:g=!0}let m=jx.encode(`--${l}--\r
|
||||||
|
`);h.push(m),s+=m.byteLength,g&&(s=null),i=t,n=o(async function*(){for(let E of h)E.stream?yield*E.stream():yield E},"action"),a=`multipart/form-data; boundary=${l}`}else if(Jte(t))i=t,s=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(lb.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:MHe(t)}if((typeof i=="string"||lb.isBuffer(i))&&(s=Buffer.byteLength(i)),n!=null){let l;r=new ReadableStream({async start(){l=n(t)[Symbol.asyncIterator]()},async pull(u){let{value:d,done:f}=await l.next();if(f)queueMicrotask(()=>{u.close(),u.byobRequest?.respond(0)});else if(!Zte(r)){let h=new Uint8Array(d);h.byteLength&&u.enqueue(h)}return u.desiredSize>0},async cancel(u){await l.return()},type:"bytes"})}return[{stream:r,source:i,length:s},a]}o(rre,"extractBody");function XHe(t,e=!1){return t instanceof ReadableStream&&(vF(!lb.isDisturbed(t),"The body has already been consumed."),vF(!t.locked,"The stream is locked.")),rre(t,e)}o(XHe,"safelyExtractBody");function ZHe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}o(ZHe,"cloneBody");function eVe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(eVe,"throwIfAborted");function tVe(t){return{blob(){return wm(this,r=>{let n=Kte(this);return n===null?n="":n&&(n=JHe(n)),new $He([r],{type:n})},t)},arrayBuffer(){return wm(this,r=>new Uint8Array(r).buffer,t)},text(){return wm(this,Xte,t)},json(){return wm(this,nVe,t)},formData(){return wm(this,r=>{let n=Kte(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let i=YHe(r,n);if(i==="failure")throw new TypeError("Failed to parse body as FormData.");let s=new Yte;return s[Sm]=i,s}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(r.toString()),s=new Yte;for(let[a,c]of i)s.append(a,c);return s}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return wm(this,r=>new Uint8Array(r),t)}}}o(tVe,"bodyMixinMethods");function rVe(t){Object.assign(t.prototype,tVe(t))}o(rVe,"mixinBody");async function wm(t,e,r){if(zHe.brandCheck(t,r),nre(t))throw new TypeError("Body is unusable: Body has already been read");eVe(t[Sm]);let n=GHe(),i=o(a=>n.reject(a),"errorSteps"),s=o(a=>{try{n.resolve(e(a))}catch(c){i(c)}},"successSteps");return t[Sm].body==null?(s(Buffer.allocUnsafe(0)),n.promise):(await HHe(t[Sm].body,s,i),n.promise)}o(wm,"consumeBody");function nre(t){let e=t[Sm].body;return e!=null&&(e.stream.locked||lb.isDisturbed(e.stream))}o(nre,"bodyUnusable");function nVe(t){return JSON.parse(Xte(t))}o(nVe,"parseJSONFromBytes");function Kte(t){let e=t[Sm].headersList,r=VHe(e);return r==="failure"?null:r}o(Kte,"bodyMimeType");ire.exports={extractBody:rre,safelyExtractBody:XHe,cloneBody:ZHe,mixinBody:rVe,streamRegistry:tre,hasFinalizationRegistry:ere,bodyUnusable:nre}});var Cre=A((fzt,Ere)=>{"use strict";var Re=require("node:assert"),ve=at(),{channels:sre}=fm(),_F=uF(),{RequestContentLengthMismatchError:Th,ResponseContentLengthMismatchError:ore,RequestAbortedError:pre,InvalidArgumentError:iVe,HeadersTimeoutError:sVe,HeadersOverflowError:oVe,SocketError:xm,InformationalError:Rh,BodyTimeoutError:aVe,HTTPParserError:cVe,ResponseExceededMaxSizeError:lVe}=Rt(),{kUrl:Are,kReset:ys,kClient:Kx,kParser:rr,kBlocking:fb,kRunning:An,kPending:mre,kSize:are,kWriting:kd,kQueue:Ma,kNoRef:ub,kKeepAliveDefaultTimeout:uVe,kHostHeader:dVe,kPendingIdx:fVe,kRunningIdx:Lo,kError:Gi,kPipelining:Xx,kSocket:Dh,kKeepAliveTimeoutValue:ev,kMaxHeadersSize:TF,kKeepAliveMaxTimeout:hVe,kKeepAliveTimeoutThreshold:pVe,kHeadersTimeout:AVe,kBodyTimeout:mVe,kStrictContentLength:QF,kMaxRequests:cre,kCounter:gVe,kMaxResponseSize:yVe,kOnError:lre,kResume:bu,kHTTPContext:gre}=mr(),Js=tte(),ure=Buffer.alloc(0),Wx=Buffer[Symbol.species],Jx=ve.addListener,EVe=ve.removeAllListeners,Qh=Symbol("kIdleSocketValidation"),vm=Symbol("kIdleSocketValidationTimeout"),LF=Symbol("kSocketUsed"),RF;async function CVe(){let t=process.env.JEST_WORKER_ID?hF():void 0,e;try{e=await WebAssembly.compile(ite())}catch{e=await WebAssembly.compile(t||hF())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((r,n,i)=>0,"wasm_on_url"),wasm_on_status:o((r,n,i)=>{Re(Qr.ptr===r);let s=n-Tc+_c.byteOffset;return Qr.onStatus(new Wx(_c.buffer,s,i))||0},"wasm_on_status"),wasm_on_message_begin:o(r=>(Re(Qr.ptr===r),Qr.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((r,n,i)=>{Re(Qr.ptr===r);let s=n-Tc+_c.byteOffset;return Qr.onHeaderField(new Wx(_c.buffer,s,i))||0},"wasm_on_header_field"),wasm_on_header_value:o((r,n,i)=>{Re(Qr.ptr===r);let s=n-Tc+_c.byteOffset;return Qr.onHeaderValue(new Wx(_c.buffer,s,i))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((r,n,i,s)=>(Re(Qr.ptr===r),Qr.onHeadersComplete(n,!!i,!!s)||0),"wasm_on_headers_complete"),wasm_on_body:o((r,n,i)=>{Re(Qr.ptr=
Line truncated
|
||||||
|
`;if(typeof i=="string"?m+=`host: ${i}\r
|
||||||
|
`:m+=t[dVe],s?m+=`connection: upgrade\r
|
||||||
|
upgrade: ${s}\r
|
||||||
|
`:t[Xx]&&!p[ys]?m+=`connection: keep-alive\r
|
||||||
|
`:m+=`connection: close\r
|
||||||
|
`,Array.isArray(u))for(let E=0;E<u.length;E+=2){let y=u[E+0],C=u[E+1];if(Array.isArray(C))for(let I=0;I<C.length;I++)m+=`${y}: ${C[I]}\r
|
||||||
|
`;else m+=`${y}: ${C}\r
|
||||||
|
`}return sre.sendHeaders.hasSubscribers&&sre.sendHeaders.publish({request:e,headers:m,socket:p}),!l||h===0?fre(g,null,t,e,p,d,m,f):ve.isBuffer(l)?fre(g,l,t,e,p,d,m,f):ve.isBlobLike(l)?typeof l.stream=="function"?hre(g,l.stream(),t,e,p,d,m,f):NVe(g,l,t,e,p,d,m,f):ve.isStream(l)?vVe(g,l,t,e,p,d,m,f):ve.isIterable(l)?hre(g,l,t,e,p,d,m,f):Re(!1),!0}o(xVe,"writeH1");function vVe(t,e,r,n,i,s,a,c){Re(s!==0||r[An]===0,"stream body cannot be pipelined");let l=!1,u=new tv({abort:t,socket:i,request:n,contentLength:s,client:r,expectsPayload:c,header:a}),d=o(function(g){if(!l)try{!u.write(g)&&this.pause&&this.pause()}catch(m){ve.destroy(this,m)}},"onData"),f=o(function(){l||e.resume&&e.resume()},"onDrain"),h=o(function(){if(queueMicrotask(()=>{e.removeListener("error",p)}),!l){let g=new pre;queueMicrotask(()=>p(g))}},"onClose"),p=o(function(g){if(!l){if(l=!0,Re(i.destroyed||i[kd]&&r[An]<=1),i.off("drain",f).off("error",p),e.removeListener("data",d).removeListener("end",p).removeListener("close",h),!g)try{u.end()}catch(m){g=m}u.destroy(g),g&&(g.code!=="UND_ERR_INFO"||g.message!=="reset")?ve.destroy(e,g):ve.destroy(e)}},"onFinished");e.on("data",d).on("end",p).on("error",p).on("close",h),e.resume&&e.resume(),i.on("drain",f).on("error",p),e.errorEmitted??e.errored?setImmediate(()=>p(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>p(null)),(e.closeEmitted??e.closed)&&setImmediate(h)}o(vVe,"writeStream");function fre(t,e,r,n,i,s,a,c){try{e?ve.isBuffer(e)&&(Re(s===e.byteLength,"buffer body must have content length"),i.cork(),i.write(`${a}content-length: ${s}\r
|
||||||
|
\r
|
||||||
|
`,"latin1"),i.write(e),i.uncork(),n.onBodySent(e),!c&&n.reset!==!1&&(i[ys]=!0)):s===0?i.write(`${a}content-length: 0\r
|
||||||
|
\r
|
||||||
|
`,"latin1"):(Re(s===null,"no body must not have content length"),i.write(`${a}\r
|
||||||
|
`,"latin1")),n.onRequestSent(),r[bu]()}catch(l){t(l)}}o(fre,"writeBuffer");async function NVe(t,e,r,n,i,s,a,c){Re(s===e.size,"blob body must have content length");try{if(s!=null&&s!==e.size)throw new Th;let l=Buffer.from(await e.arrayBuffer());i.cork(),i.write(`${a}content-length: ${s}\r
|
||||||
|
\r
|
||||||
|
`,"latin1"),i.write(l),i.uncork(),n.onBodySent(l),n.onRequestSent(),!c&&n.reset!==!1&&(i[ys]=!0),r[bu]()}catch(l){t(l)}}o(NVe,"writeBlob");async function hre(t,e,r,n,i,s,a,c){Re(s!==0||r[An]===0,"iterator body cannot be pipelined");let l=null;function u(){if(l){let h=l;l=null,h()}}o(u,"onDrain");let d=o(()=>new Promise((h,p)=>{Re(l===null),i[Gi]?p(i[Gi]):l=h}),"waitForDrain");i.on("close",u).on("drain",u);let f=new tv({abort:t,socket:i,request:n,contentLength:s,client:r,expectsPayload:c,header:a});try{for await(let h of e){if(i[Gi])throw i[Gi];f.write(h)||await d()}f.end()}catch(h){f.destroy(h)}finally{i.off("close",u).off("drain",u)}}o(hre,"writeIterable");var tv=class{static{o(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:i,client:s,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=i,this.client=s,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[kd]=!0}write(e){let{socket:r,request:n,contentLength:i,client:s,bytesWritten:a,expectsPayload:c,header:l}=this;if(r[Gi])throw r[Gi];if(r.destroyed)return!1;let u=Buffer.byteLength(e);if(!u)return!0;if(i!==null&&a+u>i){if(s[QF])throw new Th;process.emitWarning(new Th)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[ys]=!0),i===null?r.write(`${l}transfer-encoding: chunked\r
|
||||||
|
`,"latin1"):r.write(`${l}content-length: ${i}\r
|
||||||
|
\r
|
||||||
|
`,"latin1")),i===null&&r.write(`\r
|
||||||
|
${u.toString(16)}\r
|
||||||
|
`,"latin1"),this.bytesWritten+=u;let d=r.write(e);return r.uncork(),n.onBodySent(e),d||r[rr].timeout&&r[rr].timeoutType===Nm&&r[rr].timeout.refresh&&r[rr].timeout.refresh(),d}end(){let{socket:e,contentLength:r,client:n,bytesWritten:i,expectsPayload:s,header:a,request:c}=this;if(c.onRequestSent(),e[kd]=!1,e[Gi])throw e[Gi];if(!e.destroyed){if(i===0?s?e.write(`${a}content-length: 0\r
|
||||||
|
\r
|
||||||
|
`,"latin1"):e.write(`${a}\r
|
||||||
|
`,"latin1"):r===null&&e.write(`\r
|
||||||
|
0\r
|
||||||
|
\r
|
||||||
|
`,"latin1"),r!==null&&i!==r){if(n[QF])throw new Th;process.emitWarning(new Th)}e[rr].timeout&&e[rr].timeoutType===Nm&&e[rr].timeout.refresh&&e[rr].timeout.refresh(),n[bu]()}}destroy(e){let{socket:r,client:n,abort:i}=this;r[kd]=!1,e&&(Re(n[An]<=1,"pipeline should only contain this request"),i(e))}};Ere.exports=IVe});var Nre=A((pzt,vre)=>{"use strict";var Fo=require("node:assert"),{errorMonitor:FF}=require("node:events"),{pipeline:_Ve}=require("node:stream"),ut=at(),{RequestContentLengthMismatchError:UF,RequestAbortedError:MF,SocketError:hb,InformationalError:rv}=Rt(),{kUrl:nv,kReset:sv,kClient:_m,kRunning:ov,kPending:TVe,kQueue:kh,kPendingIdx:GF,kRunningIdx:Rc,kError:qa,kSocket:Gn,kStrictContentLength:RVe,kOnError:HF,kMaxConcurrentStreams:Bre,kHTTP2Session:Ua,kResume:Od,kSize:DVe,kHTTPContext:QVe}=mr(),Pd=Symbol("open streams"),bre,Ire=!1,iv;try{iv=require("node:http2")}catch{iv={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:kVe,HTTP2_HEADER_METHOD:PVe,HTTP2_HEADER_PATH:OVe,HTTP2_HEADER_SCHEME:LVe,HTTP2_HEADER_CONTENT_LENGTH:FVe,HTTP2_HEADER_EXPECT:MVe,HTTP2_HEADER_STATUS:qF}}=iv;function xre(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let i of n)e.push(Buffer.from(r),Buffer.from(i));else e.push(Buffer.from(r),Buffer.from(n));return e}o(xre,"parseH2Headers");function UVe(t){let{[qF]:e,...r}=t;return xre(r)}o(UVe,"parseH2ResponseHeaders");async function qVe(t,e){t[Gn]=e,Ire||(Ire=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=iv.connect(t[nv],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[Bre]});r[Pd]=0,r[_m]=t,r[Gn]=e,ut.addListener(r,"error",HVe),ut.addListener(r,"frameError",VVe),ut.addListener(r,"end",zVe),ut.addListener(r,"goaway",$Ve),ut.addListener(r,"close",function(){let{[_m]:i}=this,{[Gn]:s}=i,a=this[Gn][qa]||this[qa]||new hb("closed",ut.getSocketInfo(s));if(i[Ua]=null,i.destroyed){Fo(i[TVe]===0);let c=i[kh].splice(i[Rc]);for(let l=0;l<c.length;l++){let u=c[l];ut.errorRequest(i,u,a)}}}),r.unref(),t[Ua]=r,e[Ua]=r,ut.addListener(e,"error",function(i){Fo(i.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[qa]=i,this[_m][HF](i)}),ut.addListener(e,"end",function(){ut.destroy(this,new hb("other side closed",ut.getSocketInfo(this)))}),ut.addListener(e,"close",function(){let i=this[qa]||new hb("closed",ut.getSocketInfo(this));t[Gn]=null,this[Ua]!=null&&this[Ua].destroy(i),t[GF]=t[Rc],Fo(t[ov]===0),t.emit("disconnect",t[nv],[t],i),t[Od]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return WVe(t,...i)},resume(){GVe(t)},destroy(i,s){n?queueMicrotask(s):e.destroy(i).on("close",s)},get destroyed(){return e.destroyed},busy(){return!1}}}o(qVe,"connectH2");function GVe(t){let e=t[Gn];e?.destroyed===!1&&(t[DVe]===0&&t[Bre]===0?(e.unref(),t[Ua].unref()):(e.ref(),t[Ua].ref()))}o(GVe,"resumeH2");function HVe(t){Fo(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Gn][qa]=t,this[_m][HF](t)}o(HVe,"onHttp2SessionError");function VVe(t,e,r){if(r===0){let n=new rv(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Gn][qa]=n,this[_m][HF](n)}}o(VVe,"onHttp2FrameError");function zVe(){let t=new hb("other side closed",ut.getSocketInfo(this[Gn]));this.destroy(t),ut.destroy(this[Gn],t)}o(zVe,"onHttp2SessionEnd");function $Ve(t){let e=this[qa]||new hb(`HTTP/2: "GOAWAY" frame received with code ${t}`,ut.getSocketInfo(this)),r=this[_m];if(r[Gn]=null,r[QVe]=null,this[Ua]!=null&&(this[Ua].destroy(e),this[Ua]=null),ut.destroy(this[Gn],e),r[Rc]<r[kh].length){let n=r[kh][r[Rc]];r[kh][r[Rc]++]=null,ut.errorRequest(r,n,e),r[GF]=r[Rc]}Fo(r[ov]===0),r.emit("disconnect",r[nv],[r],e),r[Od]()}o($Ve,"onHTTP2GoAway");function jVe(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(jVe,"shouldSendContentLength");function WVe(t,e){let r=t[Ua],{method:n,path:i,host:s,upgrade:a,expectContinue:c,signal:l,headers:u}=e,{body:d}=e;if(a)return ut.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let f={};for(let B=0;B<u.length;B+=2){let Q=u[B+0],M=u[B+1];if(Array.isArray(M))for(let v=0;v<M.length;v++)f[Q]?f[Q]+=`,${M[v]}`:f[Q]=M[v];else f[Q]=M}let h,{hostname:p,port:g}=t[nv];f[kVe]=s||`${p}${g?`:${g}`:""}`,f[PVe]=n;let m=o(B=>{if(!e.aborted){if(e.completed){n==="CONNECT"&&h!=null&&ut.destroy(h,B||new MF);return}B=B||new MF,ut.errorRequest(t,e,B),h!=null&&ut.destroy(h,B),ut.destroy(d,B),t[kh][t[Rc]++]=null,t[Od]()}},"abort");try{e.onConnect(m)}catch(B){ut.errorRequest(t,e,B)}if(e.aborted)return!1;if(n==="CONNECT"){r.ref(),h=r.request(f,{endStream:!1,signal:l});let B=!1,Q=o(G=>{B=!0,h.off(FF,M),e.onUpgradeResponse(Number(G[qF]),G,UVe)},"onResponse"),M=o(G=>{B=!0,h.off("response",Q),e.onUpgradeError(G)},"onUpgradeError"),v=o(()=>{try{e.onUpgrade(null,null,h)}catch(G){h.off("response",Q),m(G);return}e.aborted||(h.off("error",m),h.once(FF,M),t[kh][t[Rc]++]=null)},"onReady");return h.once("response",Q),h.once("error",m),++r[Pd],v(),h.once("close",()=>{!B
Line truncated
|
||||||
|
`,this[C4e]=l??3e5,this[E4e]=i??3e5,this[b4e]=C??!0,this[I4e]=B,this[jF]=M,this[Fd]=null,this[v4e]=G>-1?G:-1,this[_4e]=z??100,this[Kr]=null,this[Ga]=[],this[wu]=0,this[Ha]=0,this[gb]=ae=>JF(this,ae),this[N4e]=ae=>Ure(this,ae)}get pipelining(){return this[uv]}set pipelining(e){this[uv]=e,this[gb](!0)}get[Cb](){return this[Ga].length-this[Ha]}get[Eb](){return this[Ha]-this[wu]}get[yb](){return this[Ga].length-this[wu]}get[f4e](){return!!this[Kr]&&!this[Rm]&&!this[Kr].destroyed}get[$F](){return!!(this[Kr]?.busy(null)||this[yb]>=(Mre(this)||1)||this[Cb]>0)}[d4e](e){qre(this),this.once("connect",e)}[x4e](e,r){let n=e.origin||this[Qc].origin,i=new s4e(n,e,r);return this[Ga].push(i),this[Oh]||(Ph.bodyLength(i.body)==null&&Ph.isIterable(i.body)?(this[Oh]=1,queueMicrotask(()=>JF(this))):this[gb](!0)),this[Oh]&&this[Md]!==2&&this[$F]&&(this[Md]=2),this[Md]<2}async[S4e](){return new Promise(e=>{this[yb]?this[Fd]=e:e(null)})}async[B4e](e){return new Promise(r=>{let n=this[Ga].splice(this[Ha]);for(let s=0;s<n.length;s++){let a=n[s];Ph.errorRequest(this,a,e)}let i=o(()=>{this[Fd]&&(this[Fd](),this[Fd]=null),r(null)},"callback");this[Kr]?(this[Kr].destroy(e,i),this[Kr]=null):queueMicrotask(i),this[gb]()})}},D4e=lv();function Ure(t,e){if(t[Eb]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Iu(t[Ha]===t[wu]);let r=t[Ga].splice(t[wu]);for(let n=0;n<r.length;n++){let i=r[n];Ph.errorRequest(t,i,e)}Iu(t[yb]===0)}}o(Ure,"onError");async function qre(t){Iu(!t[Rm]),Iu(!t[Kr]);let{host:e,hostname:r,protocol:n,port:i}=t[Qc];if(r[0]==="["){let s=r.indexOf("]");Iu(s!==-1);let a=r.substring(1,s);Iu(Fre.isIP(a)),r=a}t[Rm]=!0,Tm.beforeConnect.hasSubscribers&&Tm.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:i,version:t[Kr]?.version,servername:t[Ld],localAddress:t[mb]},connector:t[Ab]});try{let s=await new Promise((a,c)=>{t[Ab]({host:e,hostname:r,protocol:n,port:i,servername:t[Ld],localAddress:t[mb]},(l,u)=>{l?c(l):a(u)})});if(t.destroyed){Ph.destroy(s.on("error",Ore),new c4e);return}Iu(s);try{t[Kr]=s.alpnProtocol==="h2"?await R4e(t,s):await T4e(t,s)}catch(a){throw s.destroy().on("error",Ore),a}t[Rm]=!1,s[w4e]=0,s[jF]=t[jF],s[u4e]=t,s[p4e]=null,Tm.connected.hasSubscribers&&Tm.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:i,version:t[Kr]?.version,servername:t[Ld],localAddress:t[mb]},connector:t[Ab],socket:s}),t.emit("connect",t[Qc],[t])}catch(s){if(t.destroyed)return;if(t[Rm]=!1,Tm.connectError.hasSubscribers&&Tm.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:i,version:t[Kr]?.version,servername:t[Ld],localAddress:t[mb]},connector:t[Ab],error:s}),s.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Iu(t[Eb]===0);t[Cb]>0&&t[Ga][t[Ha]].servername===t[Ld];){let a=t[Ga][t[Ha]++];Ph.errorRequest(t,a,s)}else Ure(t,s);t.emit("connectionError",t[Qc],[t],s)}t[gb]()}o(qre,"connect");function Lre(t){t[Md]=0,t.emit("drain",t[Qc],[t])}o(Lre,"emitDrain");function JF(t,e){t[Oh]!==2&&(t[Oh]=2,Q4e(t,e),t[Oh]=0,t[wu]>256&&(t[Ga].splice(0,t[wu]),t[Ha]-=t[wu],t[wu]=0))}o(JF,"resume");function Q4e(t,e){for(;;){if(t.destroyed){Iu(t[Cb]===0);return}if(t[Fd]&&!t[yb]){t[Fd](),t[Fd]=null;return}if(t[Kr]&&t[Kr].resume(),t[$F])t[Md]=2;else if(t[Md]===2){e?(t[Md]=1,queueMicrotask(()=>Lre(t))):Lre(t);continue}if(t[Cb]===0||t[Eb]>=(Mre(t)||1))return;let r=t[Ga][t[Ha]];if(t[Qc].protocol==="https:"&&t[Ld]!==r.servername){if(t[Eb]>0)return;t[Ld]=r.servername,t[Kr]?.destroy(new a4e("servername changed"),()=>{t[Kr]=null,JF(t)})}if(t[Rm])return;if(!t[Kr]){qre(t);return}if(t[Kr].destroyed||t[Kr].busy(r))return;!r.aborted&&t[Kr].write(r)?t[Ha]++:t[Ga].splice(t[Ha],1)}}o(Q4e,"_resume");Gre.exports=WF});var YF=A((wzt,Hre)=>{"use strict";var dv=class{static{o(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};Hre.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new dv}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new dv),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var zre=A((Bzt,Vre)=>{var{kFree:k4e,kConnected:P4e,kPending:O4e,kQueued:L4e,kRunning:F4e,kSize:M4e}=mr(),Lh=Symbol("pool"),KF=class{static{o(this,"PoolStats")}constructor(e){this[Lh]=e}get connected(){return this[Lh][P4e]}get free(){return this[Lh][k4e]}get pending(){return this[Lh][O4e]}get queued(){return this[Lh][L4e]}get running(){return this[Lh][F4e]}get size(){return this[Lh][M4e]}};Vre.exports=KF});var nM=A((vzt,tne)=>{"use strict";var U4e=mm(),q4e=YF(),{kConnected:XF,kSize:$re,kRunning:jre,kPending:Wre,kQueued:bb,kBusy:G4e,kFree:H4e,kUrl:V4e,kClose:z4e,kDestroy:$4e,kDispatch:j4e}=mr(
Line truncated
|
||||||
|
${n.count} ${n.noun} ${n.is} pending:
|
||||||
|
|
||||||
|
${e.format(r)}
|
||||||
|
`.trim())}};cse.exports=nU});var _v=A((B$t,hse)=>{"use strict";var use=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:C$e}=Rt(),b$e=km();fse()===void 0&&dse(new b$e);function dse(t){if(!t||typeof t.dispatch!="function")throw new C$e("Argument agent must implement Agent");Object.defineProperty(globalThis,use,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(dse,"setGlobalDispatcher");function fse(){return globalThis[use]}o(fse,"getGlobalDispatcher");hse.exports={setGlobalDispatcher:dse,getGlobalDispatcher:fse}});var Tv=A((N$t,pse)=>{"use strict";pse.exports=class{static{o(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var mse=A((T$t,Ase)=>{"use strict";var I$e=cv();Ase.exports=t=>{let e=t?.maxRedirections;return r=>o(function(i,s){let{maxRedirections:a=e,...c}=i;if(!a)return r(i,s);let l=new I$e(r,a,i,s);return r(c,l)},"redirectInterceptor")}});var yse=A((D$t,gse)=>{"use strict";var w$e=Ev();gse.exports=t=>e=>o(function(n,i){return e(n,new w$e({...n,retryOptions:{...t,...n.retryOptions}},{handler:i,dispatch:e}))},"retryInterceptor")});var Cse=A((k$t,Ese)=>{"use strict";var S$e=at(),{InvalidArgumentError:B$e,RequestAbortedError:x$e}=Rt(),v$e=Tv(),iU=class extends v$e{static{o(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#i=0;#s=null;#l=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new B$e("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#l=r}onConnect(e){this.#t=e,this.#l.onConnect(this.#a.bind(this))}#a(e){this.#r=!0,this.#s=e}onHeaders(e,r,n,i){let a=S$e.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new x$e(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#l.onHeaders(e,r,n,i)}onError(e){this.#n||(e=this.#s??e,this.#l.onError(e))}onData(e){return this.#i=this.#i+e.length,this.#i>=this.#e&&(this.#n=!0,this.#r?this.#l.onError(this.#s):this.#l.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#l.onError(this.reason);return}this.#l.onComplete(e)}}};function N$e({maxSize:t}={maxSize:1024*1024}){return e=>o(function(n,i){let{dumpMaxSize:s=t}=n,a=new iU({maxSize:s},i);return e(n,a)},"Intercept")}o(N$e,"createDumpInterceptor");Ese.exports=N$e});var wse=A((O$t,Ise)=>{"use strict";var{isIP:_$e}=require("node:net"),{lookup:T$e}=require("node:dns"),R$e=Tv(),{InvalidArgumentError:Hm,InformationalError:D$e}=Rt(),bse=Math.pow(2,31)-1,sU=class{static{o(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#i}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let i=this.#n.get(e.hostname);if(i==null&&this.full){n(null,e.origin);return}let s={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(i==null)this.lookup(e,s,(a,c)=>{if(a||c==null||c.length===0){n(a??new D$e("No DNS entries found"));return}this.setRecords(e,c);let l=this.#n.get(e.hostname),u=this.pick(e,l,s.affinity),d;typeof u.port=="number"?d=`:${u.port}`:e.port!==""?d=`:${e.port}`:d="",n(null,`${e.protocol}//${u.family===6?`[${u.address}]`:u.address}${d}`)});else{let a=this.pick(e,i,s.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#r(e,r,n){T$e(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(i,s)=>{if(i)return n(i);let a=new Map;for(let c of s)a.set(`${c.address}:${c.family}`,c);n(null,a.values())})}#i(e,r,n){let i=null,{records:s,offset:a}=r,c;if(this.dualStack?(n==null&&(a==null||a===bse?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),s[n]!=null&&s[n].ips.length>0?c=s[n]:c=s[n===4?6:4]):c=s[n],c==null||c.ips.length===0)return i;c.offset==null||c.offset===bse?c.offset=0:c.offset++;let l=c.offset%c.ips.length;return i=c.ips[l]??null,i==null?i:Date.now()-i.timestamp>i.ttl?(c.ips.splice(l,1),this.pick(e,r,n)):i}setRecords(e,r){let n=Date.now(),i={records:{4:null,6:null}};for(let s of r){s.timestamp=n,typeof s.ttl=="number"?s.ttl=Math.min(s.ttl,this.#e):s.ttl=this.#e;let a=i.records[s.family]??{ips:[]};a.ips.push(s),i.records[s.family]=a}this.#n.set(e.hostname,i)}getHandler(e,r){return new oU(this,e,r)}},oU=class extends R$e{static{o(this,"DNSDispatchHan
Line truncated
|
||||||
|
${a}`;return}if(mN(e,i,zWe)){$We(e,s)&&(r.retry=e.toString("utf8",s));return}if(mN(e,i,VWe)){jWe(e,s)&&(r.id=e.toString("utf8",s));return}if(mN(e,i,HWe)){let a=e.toString("utf8",s);a.length>0&&(r.event=a)}}processEvent(e){e.retry&&FWe(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&MWe(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],r=0;for(let n=this.lineChunkIndex;n<=this.chunkIndex;n++){let i=this.chunks[n],s=n===this.lineChunkIndex?this.linePos:0,a=n===this.chunkIndex?this.pos:i.length,c=i.subarray(s,a);r+=c.length,e.push(c)}return Buffer.concat(e,r)}peekBufferedByte(e){let r=this.lineChunkIndex,n=this.linePos;for(;r<this.chunks.length;){let i=this.chunks[r],s=i.length-n;if(e<s)return i[n+e];e-=s,r++,n=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let n=this.chunks[this.lineChunkIndex].length-this.linePos;e<n?(this.linePos+=e,e=0):(e-=n,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),r=this.peekBufferedByte(1),n=this.peekBufferedByte(2);return r===void 0?(e===ng[0]||(this.checkBOM=!1),!0):n===void 0?e===ng[0]&&r===ng[1]?!0:(this.checkBOM=!1,!1):(e===ng[0]&&r===ng[1]&&n===ng[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};tce.exports={EventSourceStream:JU}});var uce=A((Mjt,lce)=>{"use strict";var{pipeline:WWe}=require("node:stream"),{fetching:JWe}=Pb(),{makeRequest:YWe}=$m(),{webidl:vu}=ci(),{EventSourceStream:KWe}=rce(),{parseMIMEType:XWe}=gs(),{createFastMessageEvent:ZWe}=Xm(),{isNetworkError:nce}=Qb(),{delay:eJe}=jU(),{kEnumerableProperty:Zh}=at(),{environmentSettingsObject:ice}=Ws(),sce=!1,oce=3e3,Jb=0,ace=1,Yb=2,tJe="anonymous",rJe="use-credentials",ig=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=Jb;#i=null;#s=null;#l;#a;constructor(e,r={}){super(),vu.util.markAsUncloneable(this);let n="EventSource constructor";vu.argumentLengthCheck(arguments,1,n),sce||(sce=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=vu.converters.USVString(e,n,"url"),r=vu.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#l=r.dispatcher,this.#a={lastEventId:"",reconnectionTime:oce};let i=ice,s;try{s=new URL(e,i.settingsObject.baseUrl),this.#a.origin=s.origin}catch(l){throw new DOMException(l,"SyntaxError")}this.#t=s.href;let a=tJe;r.withCredentials&&(a=rJe,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=ice.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#i=YWe(c),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===Yb)return;this.#r=Jb;let e={request:this.#i,dispatcher:this.#l},r=o(n=>{nce(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#o()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(nce(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#o();return}let i=n.headersList.get("content-type",!0),s=i!==null?XWe(i):"failure",a=s!=="failure"&&s.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=ace,this.dispatchEvent(new Event("open")),this.#a.origin=n.urlList[n.urlList.length-1].origin;let c=new KWe({eventSourceSettings:this.#a,push:o(l=>{this.dispatchEvent(ZWe(l.type,l.options))},"push")});WWe(n.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error"
Line truncated
|
||||||
|
%s`,Q,Q,C,n);var M=C.type==="*"?t3:C.type==="?"?e3:"\\"+C.type;i=!0,n=n.slice(0,C.reStart)+M+"\\("+Q}g(),s&&(n+="\\\\");var v=!1;switch(n.charAt(0)){case"[":case".":case"(":v=!0}for(var G=c.length-1;G>-1;G--){var D=c[G],V=n.slice(0,D.reStart),z=n.slice(D.reStart,D.reEnd-8),J=n.slice(D.reEnd-8,D.reEnd),ee=n.slice(D.reEnd);J+=ee;var ae=V.split("(").length-1,Ae=ee;for(m=0;m<ae;m++)Ae=Ae.replace(/\)[+*?]?/,"");ee=Ae;var Y="";ee===""&&e!==HN&&(Y="$");var $=V+z+ee+Y+J;n=$}if(n!==""&&i&&(n="(?=.)"+n),v&&(n=h+n),e===HN)return[n,i];if(!i)return U7e(t);var we=r.nocase?"i":"";try{var Be=new RegExp("^"+n+"$",we)}catch{return new RegExp("$.")}return Be._glob=t,Be._src=n,Be}o(F7e,"parse");oo.makeRe=function(t,e){return new yn(t,e||{}).makeRe()};yn.prototype.makeRe=M7e;function M7e(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?t3:e.dot?R7e:D7e,n=e.nocase?"i":"",i=t.map(function(s){return s.map(function(a){return a===sp?r:typeof a=="string"?q7e(a):a._src}).join("\\/")}).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,n)}catch{this.regexp=!1}return this.regexp}o(M7e,"makeRe");oo.match=function(t,e,r){r=r||{};var n=new yn(e,r);return t=t.filter(function(i){return n.match(i)}),n.options.nonull&&!t.length&&t.push(e),t};yn.prototype.match=o(function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;g0.sep!=="/"&&(e=e.split(g0.sep).join("/")),e=e.split(Ade),this.debug(this.pattern,"split",e);var i=this.set;this.debug(this.pattern,"set",i);var s,a;for(a=e.length-1;a>=0&&(s=e[a],!s);a--);for(a=0;a<i.length;a++){var c=i[a],l=e;n.matchBase&&c.length===1&&(l=[s]);var u=this.matchOne(l,c,r);if(u)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate},"match");yn.prototype.matchOne=function(t,e,r){return e.indexOf(sp)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};yn.prototype._matchGlobstar=function(t,e,r,n,i){var s,a=-1;for(s=i;s<e.length;s++)if(e[s]===sp){a=s;break}var c=-1;for(s=e.length-1;s>=0;s--)if(e[s]===sp){c=s;break}var l=e.slice(i,a),u=r?e.slice(a+1):e.slice(a+1,c),d=r?[]:e.slice(c+1);if(l.length){var f=t.slice(n,n+l.length);if(!this._matchOne(f,l,r,0,0))return!1;n+=l.length}var h=0;if(d.length){if(d.length+n>t.length)return!1;var p=t.length-d.length;if(this._matchOne(t,d,r,p,0))h=d.length;else{if(t[t.length-1]!==""||n+d.length===t.length||(p--,!this._matchOne(t,d,r,p,0)))return!1;h=d.length+1}}if(!u.length){var g=!!h;for(s=n;s<t.length-h;s++){var m=String(t[s]);if(g=!0,m==="."||m===".."||!this.options.dot&&m.charAt(0)===".")return!1}return r||g}for(var E=[[[],0]],y=E[0],C=0,I=[0],B=0;B<u.length;B++){var Q=u[B];Q===sp?(I.push(C),y=[[],0],E.push(y)):(y[0].push(Q),C++)}for(var M=E.length-1,v=t.length-h,G=0;G<E.length;G++)E[G][1]=v-(I[M--]+E[G][0].length);return!!this._matchGlobStarBodySections(t,E,n,0,r,0,!!h)};yn.prototype._matchGlobStarBodySections=function(t,e,r,n,i,s,a){var c=e[n];if(!c){for(var l=r;l<t.length;l++){a=!0;var u=t[l];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1}return a}for(var d=c[0],f=c[1];r<=f;){var h=this._matchOne(t.slice(0,r+d.length),d,i,r,0);if(h&&s<this.maxGlobstarRecursion){var p=this._matchGlobStarBodySections(t,e,r+d.length,n+1,i,s+1,a);if(p!==!1)return p}var u=t[r];if(u==="."||u===".."||!this.options.dot&&u.charAt(0)===".")return!1;r++}return i||null};yn.prototype._matchOne=function(t,e,r,n,i){var s,a,c,l;for(s=n,a=i,c=t.length,l=e.length;s<c&&a<l;s++,a++){this.debug("matchOne loop");var u=e[a],d=t[s];if(this.debug(e,u,d),u===!1||u===sp)return!1;var f;if(typeof u=="string"?(f=d===u,this.debug("string match",u,d,f)):(f=d.match(u),this.debug("pattern match",u,d,f)),!f)return!1}if(s===c&&a===l)return!0;if(s===c)return r;if(a===l)return s===c-1&&t[s]==="";throw new Error("wtf?")};function U7e(t){return t.replace(/\\(.)/g,"$1")}o(U7e,"globUnescape");function q7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}o(q7e,"regExpEscape")});var gg=A((m9t,Ide)=>{"use strict";var J7e="2.0.0",Y7e=Number.MAX_SAFE_INTEGER||9007199254740991,K7e=16,X7e=250,Z7e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Ide.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:K7e,MAX_SAFE_BUILD_LENGTH:X7e,MAX_SAFE_INTEGER:Y7e,RELEASE_TYPES:Z7e,SEMVER_SPEC_VERSION:J7e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var C0=A((g9t,wde)=>{"use strict";var eXe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};wde.exports=eXe});var yg=A((Gc,Sde)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:n3,MAX_SAFE_BUILD_LENGTH:tXe,MAX_LENGTH:rXe}=gg(),nXe=C0();Gc=Sde.exports={};var iXe=Gc.re=[],sXe=Gc.safeRe=[],ue=Gc.src=[],oXe=Gc.safeSrc=[],de=Gc.t={},aXe=0,i3="[a-zA-Z0-9-]",cXe=[["\\s",1],["\\d",rXe],[i3,tXe]],lX
Line truncated
|
||||||
|
`).join(`
|
||||||
|
`+s),t.push(i+"m+"+Q_.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=ert()+e+" "+t[0]}o(Ztt,"formatArgs");function ert(){return hi.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(ert,"getDate");function trt(...t){return process.stderr.write(D_.format(...t)+`
|
||||||
|
`)}o(trt,"log");function rrt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(rrt,"save");function nrt(){return process.env.DEBUG}o(nrt,"load");function irt(t){t.inspectOpts={};let e=Object.keys(hi.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=hi.inspectOpts[e[r]]}o(irt,"init");Q_.exports=j3()(hi);var{formatters:ape}=Q_.exports;ape.o=function(t){return this.inspectOpts.colors=this.useColors,D_.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};ape.O=function(t){return this.inspectOpts.colors=this.useColors,D_.inspect(t,this.inspectOpts)}});var k_=A((cXt,K3)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?K3.exports=rpe():K3.exports=cpe()});var dpe=A(Ss=>{"use strict";var srt=Ss&&Ss.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ort=Ss&&Ss.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),lpe=Ss&&Ss.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&srt(e,t,r);return ort(e,t),e};Object.defineProperty(Ss,"__esModule",{value:!0});Ss.req=Ss.json=Ss.toBuffer=void 0;var art=lpe(require("http")),crt=lpe(require("https"));async function upe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(upe,"toBuffer");Ss.toBuffer=upe;async function lrt(t){let r=(await upe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let i=n;throw i.message+=` (input: ${r})`,i}}o(lrt,"json");Ss.json=lrt;function urt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?crt:art).request(t,e),i=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=i.then.bind(i),n}o(urt,"req");Ss.req=urt});var Ape=A(uo=>{"use strict";var hpe=uo&&uo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),drt=uo&&uo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),ppe=uo&&uo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&hpe(e,t,r);return drt(e,t),e},frt=uo&&uo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hpe(e,t,r)};Object.defineProperty(uo,"__esModule",{value:!0});uo.Agent=void 0;var hrt=ppe(require("net")),fpe=ppe(require("http")),prt=require("https");frt(dpe(),uo);var $c=Symbol("AgentBaseInternalState"),X3=class extends fpe.Agent{static{o(this,"Agent")}constructor(e){super(e),this[$c]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
|
||||||
|
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new hrt.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],i=n.indexOf(r);i!==-1&&(n.splice(i,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?prt.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let i={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(i),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,i)).then(c=>{if(this.decrementSockets(s,a),c instanceof fpe.Agent)try{return c.addRequest(e,i)}catch(l){return n(l)}this[$c].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[$c].currentSocket;if(this[$c].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[$c].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[$c]&&(this[$c].defaultPort=e)}get protocol(){return this[$c].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[$c]&&(this[$c].protocol=e)}};uo.Agent=X3});var mpe=A(Ng=>{"use strict";var Art=Ng&&Ng.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ng,"__esModule",{value:!0});Ng.parseProxyResponse=void 0;var mrt=Art(k_()),P_=(0,mrt.default)("https-proxy-agent:parse-proxy-response");function grt(t){return new Promise((e,r)=>{let n=0,i=[];function s(){let d=t.read();d?u(d):t.once("readable",s)}o(s,"read");function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}o(a,"cleanup");function c(){a(),P_("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}o(c,"onend");function l(d){a(),P_("onerror %o",d),r(d)}o(l,"onerror");function u(d){i.push(d),n+=d.length;let f=Buffer.concat(i,n),h=f.indexOf(`\r
|
||||||
|
\r
|
||||||
|
`);if(h===-1){P_("have not received end of HTTP headers yet..."),s();return}let p=f.slice(0,h).toString("ascii").split(`\r
|
||||||
|
`),g=p.shift();if(!g)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let m=g.split(" "),E=+m[1],y=m.slice(2).join(" "),C={};for(let I of p){if(!I)continue;let B=I.indexOf(":");if(B===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${I}"`));let Q=I.slice(0,B).toLowerCase(),M=I.slice(B+1).trimStart(),v=C[Q];typeof v=="string"?C[Q]=[v,M]:Array.isArray(v)?v.push(M):C[Q]=M}P_("got proxy server response: %o %o",g,C),a(),e({connect:{statusCode:E,statusText:y,headers:C},buffered:f})}o(u,"ondata"),t.on("error",l),t.on("end",c),s()})}o(grt,"parseProxyResponse");Ng.parseProxyResponse=grt});var Ipe=A(Xo=>{"use strict";var yrt=Xo&&Xo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Ert=Xo&&Xo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Cpe=Xo&&Xo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&yrt(e,t,r);return Ert(e,t),e},bpe=Xo&&Xo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xo,"__esModule",{value:!0});Xo.HttpsProxyAgent=void 0;var O_=Cpe(require("net")),gpe=Cpe(require("tls")),Crt=bpe(require("assert")),brt=bpe(k_()),Irt=Ape(),wrt=require("url"),Srt=mpe(),P0=(0,brt.default)("https-proxy-agent"),ype=o(t=>t.servername===void 0&&t.host&&!O_.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),L_=class extends Irt.Agent{static{o(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new wrt.URL(e):e,this.proxyHeaders=r?.headers??{},P0("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?Epe(r,"headers"):null,host:n,port:i}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let i;n.protocol==="https:"?(P0("Creating `tls.Socket`: %o",this.connectOpts),i=gpe.connect(ype(this.connectOpts))):(P0("Creating `net.Socket`: %o",this.connectOpts),i=O_.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=O_.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
|
||||||
|
`;if(n.username||n.password){let h=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(h).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let h of Object.keys(s))c+=`${h}: ${s[h]}\r
|
||||||
|
`;let l=(0,Srt.parseProxyResponse)(i);i.write(`${c}\r
|
||||||
|
`);let{connect:u,buffered:d}=await l;if(e.emit("proxyConnect",u),this.emit("proxyConnect",u,e),u.statusCode===200)return e.once("socket",Brt),r.secureEndpoint?(P0("Upgrading socket connection to TLS"),gpe.connect({...Epe(ype(r),"host","path","port"),socket:i})):i;i.destroy();let f=new O_.Socket({writable:!1});return f.readable=!0,e.once("socket",h=>{P0("Replaying proxy buffer for failed request"),(0,Crt.default)(h.listenerCount("data")>0),h.push(d),h.push(null)}),f}};L_.protocols=["http","https"];Xo.HttpsProxyAgent=L_;function Brt(t){t.resume()}o(Brt,"resume");function Epe(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(Epe,"omit")});var Bpe=A(Bs=>{"use strict";var xrt=Bs&&Bs.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),vrt=Bs&&Bs.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),wpe=Bs&&Bs.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&xrt(e,t,r);return vrt(e,t),e};Object.defineProperty(Bs,"__esModule",{value:!0});Bs.req=Bs.json=Bs.toBuffer=void 0;var Nrt=wpe(require("http")),_rt=wpe(require("https"));async function Spe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(Spe,"toBuffer");Bs.toBuffer=Spe;async function Trt(t){let r=(await Spe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let i=n;throw i.message+=` (input: ${r})`,i}}o(Trt,"json");Bs.json=Trt;function Rrt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?_rt:Nrt).request(t,e),i=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=i.then.bind(i),n}o(Rrt,"req");Bs.req=Rrt});var _pe=A(fo=>{"use strict";var vpe=fo&&fo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Drt=fo&&fo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Npe=fo&&fo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vpe(e,t,r);return Drt(e,t),e},Qrt=fo&&fo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vpe(e,t,r)};Object.defineProperty(fo,"__esModule",{value:!0});fo.Agent=void 0;var krt=Npe(require("net")),xpe=Npe(require("http")),Prt=require("https");Qrt(Bpe(),fo);var jc=Symbol("AgentBaseInternalState"),Z3=class extends xpe.Agent{static{o(this,"Agent")}constructor(e){super(e),this[jc]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
|
||||||
|
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new krt.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],i=n.indexOf(r);i!==-1&&(n.splice(i,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?Prt.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let i={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(i),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,i)).then(c=>{if(this.decrementSockets(s,a),c instanceof xpe.Agent)return c.addRequest(e,i);this[jc].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[jc].currentSocket;if(this[jc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[jc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[jc]&&(this[jc].defaultPort=e)}get protocol(){return this[jc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[jc]&&(this[jc].protocol=e)}};fo.Agent=Z3});var Dpe=A(Zo=>{"use strict";var Ort=Zo&&Zo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Lrt=Zo&&Zo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Rpe=Zo&&Zo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ort(e,t,r);return Lrt(e,t),e},Frt=Zo&&Zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zo,"__esModule",{value:!0});Zo.HttpProxyAgent=void 0;var Mrt=Rpe(require("net")),Urt=Rpe(require("tls")),qrt=Frt(k_()),Grt=require("events"),Hrt=_pe(),Tpe=require("url"),_g=(0,qrt.default)("http-proxy-agent"),F_=class extends Hrt.Agent{static{o(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Tpe.URL(e):e,this.proxyHeaders=r?.headers??{},_g("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?Vrt(r,"headers"):null,host:n,port:i}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,i=r.secureEndpoint?"https:":"http:",s=e.getHeader("host")||"localhost",a=`${i}//${s}`,c=new Tpe.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let l=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let u=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;l["Proxy-Authorization"]=`Basic ${Buffer.from(u).toString("base64")}`}l["Proxy-Connection"]||(l["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let u of Object.keys(l)){let d=l[u];d&&e.setHeader(u,d)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,i;_g("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(_g("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,i=n.indexOf(`\r
|
||||||
|
\r
|
||||||
|
`)+4,e.outputData[0].data=e._header+n.substring(i),_g("Output buffer: %o",e.outputData[0].data));let s;return this.proxy.protocol==="https:"?(_g("Creating `tls.Socket`: %o",this.connectOpts),s=Urt.connect(this.connectOpts)):(_g("Creating `net.Socket`: %o",this.connectOpts),s=Mrt.connect(this.connectOpts)),await(0,Grt.once)(s,"connect"),s}};F_.protocols=["http","https"];Zo.HttpProxyAgent=F_;function Vrt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(Vrt,"omit")});var eAe=A(X_=>{"use strict";Object.defineProperty(X_,"__esModule",{value:!0});X_.state=void 0;X_.state={instrumenterImplementation:void 0}});var gAe=A(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});nT.state=void 0;nT.state={operationRequestMap:new WeakMap}});var Jge=A(jg=>{"use strict";Object.defineProperty(jg,"__esModule",{value:!0});var uct=require("os"),dct=require("util");function fct(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}o(fct,"_interopDefaultLegacy");var hct=fct(dct);function pct(t,...e){process.stderr.write(`${hct.default.format(t,...e)}${uct.EOL}`)}o(pct,"log");var Mge=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,qge,R5=[],D5=[],IR=[];Mge&&Q5(Mge);var Gge=Object.assign(t=>Hge(t),{enable:Q5,enabled:k5,disable:Act,log:pct});function Q5(t){qge=t,R5=[],D5=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?D5.push(new RegExp(`^${n.substr(1)}$`)):R5.push(new RegExp(`^${n}$`));for(let n of IR)n.enabled=k5(n.namespace)}o(Q5,"enable");function k5(t){if(t.endsWith("*"))return!0;for(let e of D5)if(e.test(t))return!1;for(let e of R5)if(e.test(t))return!0;return!1}o(k5,"enabled");function Act(){let t=qge||"";return Q5(""),t}o(Act,"disable");function Hge(t){let e=Object.assign(r,{enabled:k5(t),destroy:mct,log:Gge.log,namespace:t,extend:gct});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return o(r,"debug"),IR.push(e),e}o(Hge,"createDebugger");function mct(){let t=IR.indexOf(this);return t>=0?(IR.splice(t,1),!0):!1}o(mct,"destroy");function gct(t){let e=Hge(`${this.namespace}:${t}`);return e.log=this.log,e}o(gct,"extend");var II=Gge,Vge=new Set,CR=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,wR,SR=II("azure");SR.log=(...t)=>{II.log(...t)};var P5=["verbose","info","warning","error"];CR&&(Wge(CR)?zge(CR):console.error(`AZURE_LOG_LEVEL set to unknown log level '${CR}'; logging is not enabled. Acceptable values: ${P5.join(", ")}.`));function zge(t){if(t&&!Wge(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${P5.join(",")}`);wR=t;let e=[];for(let r of Vge)jge(r)&&e.push(r.namespace);II.enable(e.join(","))}o(zge,"setLogLevel");function yct(){return wR}o(yct,"getLogLevel");var Uge={verbose:400,info:300,warning:200,error:100};function Ect(t){let e=SR.extend(t);return $ge(SR,e),{error:bR(e,"error"),warning:bR(e,"warning"),info:bR(e,"info"),verbose:bR(e,"verbose")}}o(Ect,"createClientLogger");function $ge(t,e){e.log=(...r)=>{t.log(...r)}}o($ge,"patchLogMethod");function bR(t,e){let r=Object.assign(t.extend(e),{level:e});if($ge(t,r),jge(r)){let n=II.disable();II.enable(n+","+r.namespace)}return Vge.add(r),r}o(bR,"createLogger");function jge(t){return!!(wR&&Uge[t.level]<=Uge[wR])}o(jge,"shouldEnable");function Wge(t){return P5.includes(t)}o(Wge,"isAzureLogLevel");jg.AzureLogger=SR;jg.createClientLogger=Ect;jg.getLogLevel=yct;jg.setLogLevel=zge});var F5=A(SI=>{"use strict";Object.defineProperty(SI,"__esModule",{value:!0});var Wg=new WeakMap,BR=new WeakMap,wI=class t{static{o(this,"AbortSignal")}constructor(){this.onabort=null,Wg.set(this,[]),BR.set(this,!1)}get aborted(){if(!BR.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return BR.get(this)}static get none(){return new t}addEventListener(e,r){if(!Wg.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");Wg.get(this).push(r)}removeEventListener(e,r){if(!Wg.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=Wg.get(this),i=n.indexOf(r);i>-1&&n.splice(i,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function Yge(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=Wg.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),BR.set(t,!0)}o(Yge,"abortSignal");var O5=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},L5=class{static{o(this,"AbortController")}constructor(e){if(this._signal=new wI,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){Yge(this._signal)}static timeout(e){let r=new wI,n=setTimeout(Yge,e,r);return typeof n.unref=="function"&&n.unref(),r}};SI.AbortController=L5;SI.AbortError=O5;SI.AbortSignal=wI});var tye=A(Ur=>{"use strict";Object.defineP
Line truncated
|
||||||
|
Polling from: ${r.config.operationLocation}
|
||||||
|
Operation status: ${d}
|
||||||
|
Polling status: ${sye.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let f=a(u,r);if(f!==void 0)return{response:await e(f).catch(nye({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}o(Jct,"pollOperationHelper");async function lye(t){let{poll:e,state:r,stateProxy:n,options:i,getOperationStatus:s,getResourceLocation:a,getOperationLocation:c,isOperationError:l,withOperationLocation:u,getPollingInterval:d,processResult:f,getError:h,updateState:p,setDelay:g,isDone:m,setErrorAsResult:E}=t,{operationLocation:y}=r.config;if(y!==void 0){let{response:C,status:I}=await Jct({poll:e,getOperationStatus:s,state:r,stateProxy:n,operationLocation:y,getResourceLocation:a,isOperationError:l,options:i});if(aye({status:I,response:C,state:r,stateProxy:n,isDone:m,processResult:f,getError:h,setErrorAsResult:E}),!sye.includes(I)){let B=d?.(C);B&&g(B);let Q=c?.(C,r);if(Q!==void 0){let M=y!==Q;r.config.operationLocation=Q,u?.(Q,M)}else u?.(y,!1)}p?.(r,C)}}o(lye,"pollOperation");function uye(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}o(uye,"getOperationLocationPollingUrl");function dye(t){return t.headers.location}o(dye,"getLocationHeader");function fye(t){return t.headers["operation-location"]}o(fye,"getOperationLocationHeader");function hye(t){return t.headers["azure-asyncoperation"]}o(hye,"getAzureAsyncOperationHeader");function Yct(t){var e;let{location:r,requestMethod:n,requestPath:i,resourceLocationConfig:s}=t;switch(n){case"PUT":return i;case"DELETE":return;case"PATCH":return(e=a())!==null&&e!==void 0?e:i;default:return a()}function a(){switch(s){case"azure-async-operation":return;case"original-uri":return i;default:return r}}o(a,"getDefault")}o(Yct,"findResourceLocation");function pye(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:i}=t,s=fye(e),a=hye(e),c=uye({operationLocation:s,azureAsyncOperation:a}),l=dye(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:Yct({requestMethod:u,location:l,requestPath:n,resourceLocationConfig:i})}:l!==void 0?{mode:"ResourceLocation",operationLocation:l}:u==="PUT"&&n?{mode:"Body",operationLocation:n}:void 0}o(pye,"inferLroMode");function Aye(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return J5(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return Dp.verbose(`LRO: unrecognized operation status: ${e}`),e}}o(Aye,"transformStatus");function Kct(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return Aye({status:r,statusCode:t.statusCode})}o(Kct,"getStatus");function Xct(t){var e,r;let{properties:n,provisioningState:i}=(e=t.body)!==null&&e!==void 0?e:{},s=(r=n?.provisioningState)!==null&&r!==void 0?r:i;return Aye({status:s,statusCode:t.statusCode})}o(Xct,"getProvisioningState");function J5(t){return t===202?"running":t<300?"succeeded":"failed"}o(J5,"toOperationStatus");function mye({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?Zct(new Date(e)):r*1e3}}o(mye,"parseRetryAfter");function gye(t){let e=t.flatResponse.error;if(!e){Dp.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){Dp.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}o(gye,"getErrorFromResponse");function Zct(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}o(Zct,"calculatePollingIntervalFromDate");function yye(t){let{response:e,state:r,operationLocation:n}=t;function i(){var a;switch((a=r.config.metadata)===null||a===void 0?void 0:a.mode){case void 0:return J5(e.rawResponse.statusCode);case"Body":return Y5(e,r);default:return"running"}}o(i,"helper");let s=i();return s==="running"&&n===void 0?"succeeded":s}o(yye,"getStatusFromInitialResponse");async function elt(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:i,setErrorAsResult:s}=t;return cye({init:o(async()=>{let a=await i.sendInitialRequest(),c=pye({rawResponse:a.rawResponse,requestPath:i.requestPath,requestMethod:i.requestMethod,resourceLocationConfig:r});return Object.assign({response:a,operationLocation:c?.operationLocation,resourceLocation:c?.resourceLocation},c?.mode?{metadata:{mode:c.mode}}:{})},"init"),stateProxy:e,processResult:n?({flatResponse:a},c)=>n(a,c):({flatResponse:a})=>a,getOperationStatus:yye,setErrorAsResult:s})}o(elt,"initHttpOperation");function Eye({rawResponse:t},e){var r;switchLine truncated
|
||||||
|
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(i){case 0:a=s,i=1;break;case 1:r[n++]=a<<2|(s&48)>>4,a=s,i=2;break;case 2:r[n++]=(a&15)<<4|(s&60)>>2,a=s,i=3;break;case 3:r[n++]=(a&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string.");return r.subarray(0,n)}o(Llt,"base64decode");ey.base64decode=Llt;function Flt(t){let e="",r=0,n,i=0;for(let s=0;s<t.length;s++)switch(n=t[s],r){case 0:e+=ju[n>>2],i=(n&3)<<4,r=1;break;case 1:e+=ju[i|n>>4],i=(n&15)<<2,r=2;break;case 2:e+=ju[i|n>>6],e+=ju[n&63],r=0;break}return r&&(e+=ju[i],e+="=",r==1&&(e+="=")),e}o(Flt,"base64encode");ey.base64encode=Flt});var Xye=A(VR=>{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.utf8read=void 0;var az=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function Mlt(t){if(t.length<1)return"";let e=0,r=[],n=[],i=0,s,a=t.length;for(;e<a;)s=t[e++],s<128?n[i++]=s:s>191&&s<224?n[i++]=(s&31)<<6|t[e++]&63:s>239&&s<365?(s=((s&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[i++]=55296+(s>>10),n[i++]=56320+(s&1023)):n[i++]=(s&15)<<12|(t[e++]&63)<<6|t[e++]&63,i>8191&&(r.push(az(n)),i=0);return r.length?(i&&r.push(az(n.slice(0,i))),r.join("")):az(n.slice(0,i))}o(Mlt,"utf8read");VR.utf8read=Mlt});var DI=A(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});El.WireType=El.mergeBinaryOptions=El.UnknownFieldHandler=void 0;var Ult;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,i,s,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:i,wireType:s,data:a})},t.onWrite=(r,n,i)=>{for(let{no:s,wireType:a,data:c}of t.list(n))i.tag(s,a).raw(c)},t.list=(r,n)=>{if(e(r)){let i=r[t.symbol];return n?i.filter(s=>s.no==n):i}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=o(r=>r&&Array.isArray(r[t.symbol]),"is")})(Ult=El.UnknownFieldHandler||(El.UnknownFieldHandler={}));function qlt(t,e){return Object.assign(Object.assign({},t),e)}o(qlt,"mergeBinaryOptions");El.mergeBinaryOptions=qlt;var Glt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Glt=El.WireType||(El.WireType={}))});var $R=A(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.varint32read=Ds.varint32write=Ds.int64toString=Ds.int64fromString=Ds.varint64write=Ds.varint64read=void 0;function Hlt(){let t=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}o(Hlt,"varint64read");Ds.varint64read=Hlt;function Vlt(t,e,r){for(let s=0;s<28;s=s+7){let a=t>>>s,c=!(!(a>>>7)&&e==0),l=(c?a|128:a)&255;if(r.push(l),!c)return}let n=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(r.push((i?n|128:n)&255),!!i){for(let s=3;s<31;s=s+7){let a=e>>>s,c=!!(a>>>7),l=(c?a|128:a)&255;if(r.push(l),!c)return}r.push(e>>>31&1)}}o(Vlt,"varint64write");Ds.varint64write=Vlt;var zR=65536*65536;function zlt(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,i=0;function s(a,c){let l=Number(t.slice(a,c));i*=r,n=n*r+l,n>=zR&&(i=i+(n/zR|0),n=n%zR)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(zlt,"int64fromString");Ds.int64fromString=zlt;function $lt(t,e){if(e>>>0<=2097151)return""+(zR*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,i=e>>16&65535,s=r+n*6777216+i*6710656,a=n+i*8147497,c=i*2,l=1e7;s>=l&&(a+=Math.floor(s/l),s%=l),a>=l&&(c+=Math.floor(a/l),a%=l);function u(d,f){let h=d?String(d):"";return f?"0000000".slice(h.length)+h:h}return o(u,"decimalFrom1e7"),u(c,0)+u(a,c)+u(s,1)}o($lt,"int64toString");Ds.int64toString=$lt;function jlt(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}o(jlt,"varint32write");Ds.varint32write=jlt;function Wlt(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}o(Wlt,"varint32read");Ds.varint32read=Wlt});var If=A(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.PbLong=bf.PbULong=bf.detectBi=void 0;var QI=$R(),Wt;function Zye(){let t=new DataView(new ArrayBuffer(8));Wt=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("922337203685477580
Line truncated
|
||||||
|
`)}};E2.RpcError=kz});var Oz=A(b2=>{"use strict";Object.defineProperty(b2,"__esModule",{value:!0});b2.mergeRpcOptions=void 0;var REe=nn();function mdt(t,e){if(!e)return t;let r={};C2(t,r),C2(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=REe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=REe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},C2(t.meta,r.meta),C2(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(mdt,"mergeRpcOptions");b2.mergeRpcOptions=mdt;function C2(t,e){if(!t)return;let r=e;for(let[n,i]of Object.entries(t))i instanceof Date?r[n]=new Date(i.getTime()):Array.isArray(i)?r[n]=i.concat():r[n]=i}o(C2,"copy")});var Fz=A(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.Deferred=Lp.DeferredState=void 0;var Il;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Il=Lp.DeferredState||(Lp.DeferredState={}));var Lz=class{static{o(this,"Deferred")}constructor(e=!0){this._state=Il.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Il.PENDING)throw new Error(`cannot resolve ${Il[this.state].toLowerCase()}`);this._resolve(e),this._state=Il.RESOLVED}reject(e){if(this.state!==Il.PENDING)throw new Error(`cannot reject ${Il[this.state].toLowerCase()}`);this._reject(e),this._state=Il.REJECTED}resolvePending(e){this._state===Il.PENDING&&this.resolve(e)}rejectPending(e){this._state===Il.PENDING&&this.reject(e)}};Lp.Deferred=Lz});var Uz=A(I2=>{"use strict";Object.defineProperty(I2,"__esModule",{value:!0});I2.RpcOutputStreamController=void 0;var DEe=Fz(),Fp=nn(),Mz=class{static{o(this,"RpcOutputStreamController")}constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){Fp.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){Fp.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){Fp.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){Fp.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:o(()=>{let e=this._itState;Fp.assert(e,"bad state"),Fp.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new DEe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Fp.assert(n.state==DEe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};I2.RpcOutputStreamController=Mz});var Gz=A(ay=>{"use strict";var gdt=ay&&ay.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};Object.defineProperty(ay,"__esModule",{value:!0});ay.UnaryCall=void 0;var qz=class{static{o(this,"UnaryCall")}constructor(e,r,n,i,s,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=i,this.response=s,this.status=a,this.trailers=c}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return gdt(this,void 0,void 0,function*(){let[e,r,n,i]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:i}})}};ay.UnaryCall=qz});var Vz=A(cy=>{"use strict";var ydt=cy&&cy.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function
Line truncated
|
||||||
|
You can add a runtime option to disable the check or this warning:
|
||||||
|
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}o(wmt,"logUnexpecedPropertyAccessOnce");function Smt(){Object.keys(iD).forEach(function(t){delete iD[t]})}o(Smt,"resetLoggedProperties")});var oD=A(xl=>{"use strict";xl.__esModule=!0;xl.HandlebarsEnvironment=uj;function V0e(t){return t&&t.__esModule?t:{default:t}}o(V0e,"_interopRequireDefault");var zp=rs(),Bmt=Io(),cj=V0e(Bmt),xmt=ij(),vmt=U0e(),Nmt=oj(),sD=V0e(Nmt),_mt=aj(),Tmt="4.7.9";xl.VERSION=Tmt;var Rmt=8;xl.COMPILER_REVISION=Rmt;var Dmt=7;xl.LAST_COMPATIBLE_COMPILER_REVISION=Dmt;var Qmt={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};xl.REVISION_CHANGES=Qmt;var lj="[object Object]";function uj(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},xmt.registerDefaultHelpers(this),vmt.registerDefaultDecorators(this)}o(uj,"HandlebarsEnvironment");uj.prototype={constructor:uj,logger:sD.default,log:sD.default.log,registerHelper:o(function(e,r){if(zp.toString.call(e)===lj){if(r)throw new cj.default("Arg not supported with multiple helpers");zp.extend(this.helpers,e)}else this.helpers[e]=r},"registerHelper"),unregisterHelper:o(function(e){delete this.helpers[e]},"unregisterHelper"),registerPartial:o(function(e,r){if(zp.toString.call(e)===lj)zp.extend(this.partials,e);else{if(typeof r>"u")throw new cj.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},"registerPartial"),unregisterPartial:o(function(e){delete this.partials[e]},"unregisterPartial"),registerDecorator:o(function(e,r){if(zp.toString.call(e)===lj){if(r)throw new cj.default("Arg not supported with multiple decorators");zp.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:o(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:o(function(){_mt.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var kmt=sD.default.log;xl.log=kmt;xl.createFrame=zp.createFrame;xl.logger=sD.default});var $0e=A((aD,z0e)=>{"use strict";aD.__esModule=!0;function dj(t){this.string=t}o(dj,"SafeString");dj.prototype.toString=dj.prototype.toHTML=function(){return""+this.string};aD.default=dj;z0e.exports=aD.default});var j0e=A(fj=>{"use strict";fj.__esModule=!0;fj.wrapHelper=Pmt;function Pmt(t,e){if(typeof t!="function")return t;var r=o(function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)},"wrapper");return r}o(Pmt,"wrapHelper")});var Z0e=A(xf=>{"use strict";xf.__esModule=!0;xf.checkRevision=qmt;xf.template=Gmt;xf.wrapProgram=cD;xf.resolvePartial=Hmt;xf.invokePartial=Vmt;xf.noop=K0e;function Omt(t){return t&&t.__esModule?t:{default:t}}o(Omt,"_interopRequireDefault");function Lmt(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}o(Lmt,"_interopRequireWildcard");var Fmt=rs(),Cy=Lmt(Fmt),Mmt=Io(),Yu=Omt(Mmt),Ku=oD(),W0e=ij(),Umt=j0e(),J0e=aj();function qmt(t){var e=t&&t[0]||1,r=Ku.COMPILER_REVISION;if(!(e>=Ku.LAST_COMPATIBLE_COMPILER_REVISION&&e<=Ku.COMPILER_REVISION))if(e<Ku.LAST_COMPATIBLE_COMPILER_REVISION){var n=Ku.REVISION_CHANGES[r],i=Ku.REVISION_CHANGES[e];throw new Yu.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}else throw new Yu.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}o(qmt,"checkRevision");function Gmt(t,e){if(!e)throw new Yu.default("No environment passed to template");if(!t||!t.main)throw new Yu.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function n(a,c,l){l.hash&&(c=Cy.extend({},c,l.hash),l.ids&&(l.ids[0]=!0)),a=e.VM.resolvePartial.call(this,a,c,l),l.hooks=this.hooks,l.protoAccessControl=this.protoAccessControl;var u=e.VM.invokePartial.call(this,a,c,l);if(u==null&&e.compile&&(l.partials[l.name]=e.compile(a,t.compilerOptions,e),u=l.partials[l.name](c,l)),u!=null){if(l.indent){for(var d=u.split(`
|
||||||
|
`),f=0,h=d.length;f<h&&!(!d[f]&&f+1===h);f++)d[f]=l.indent+d[f];u=d.join(`
|
||||||
|
`)}return u}else throw new Yu.default("The partial "+l.name+" could not be compiled when running in runtime-only mode")}o(n,"invokePartialWrapper");var i={strict:o(function(c,l,u){if(!c||!(l in c))throw new Yu.default('"'+l+'" not defined in '+c,{loc:u});return i.lookupProperty(c,l)},"strict"),lookupProperty:o(function(c,l){var u=c[l];if(u==null||Object.prototype.hasOwnProperty.call(c,l)||J0e.resultIsAllowed(u,i.protoAccessControl,l))return u},"lookupProperty"),lookup:o(function(c,l){for(var u=c.length,d=0;d<u;d++){var f=c[d]&&i.lookupProperty(c[d],l);if(f!=null)return f}},"lookup"),lambda:o(function(c,l){return typeof c=="function"?c.call(l):c},"lambda"),escapeExpression:Cy.escapeExpression,invokePartial:n,fn:o(function(c){var l=t[c];return l.decorator=t[c+"_d"],l},"fn"),programs:[],program:o(function(c,l,u,d,f){var h=this.programs[c],p=this.fn(c);return l||f||d||u?h=cD(this,c,p,l,u,d,f):h||(h=this.programs[c]=cD(this,c,p)),h},"program"),data:o(function(c,l){for(;c&&l--;)c=c._parent;return c},"data"),mergeIfNeeded:o(function(c,l){var u=c||l;return c&&l&&c!==l&&(u=Cy.extend({},l,c)),u},"mergeIfNeeded"),nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function s(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],l=c.data;s._setup(c),!c.partial&&t.useData&&(l=zmt(a,l));var u=void 0,d=t.useBlockParams?[]:void 0;t.useDepths&&(c.depths?u=a!=c.depths[0]?[a].concat(c.depths):c.depths:u=[a]);function f(h){return""+t.main(i,h,i.helpers,i.partials,l,d,u)}return o(f,"main"),f=X0e(t.main,f,i,c.depths||[],l,d),f(a,c)}return o(s,"ret"),s.isTop=!0,s._setup=function(a){if(a.partial)i.protoAccessControl=a.protoAccessControl,i.helpers=a.helpers,i.partials=a.partials,i.decorators=a.decorators,i.hooks=a.hooks;else{var c={};Y0e(c,e.helpers,i),Y0e(c,a.helpers,i),i.helpers=c,t.usePartial&&(i.partials=i.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=Cy.extend({},e.decorators,a.decorators)),i.hooks={},i.protoAccessControl=J0e.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;W0e.moveHelperToHooks(i,"helperMissing",l),W0e.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(a,c,l,u){if(t.useBlockParams&&!l)throw new Yu.default("must pass block params");if(t.useDepths&&!u)throw new Yu.default("must pass parent depths");return cD(i,a,t[a],c,0,l,u)},s}o(Gmt,"template");function cD(t,e,r,n,i,s,a){function c(l){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],d=a;return a&&l!=a[0]&&!(l===t.nullContext&&a[0]===null)&&(d=[l].concat(a)),r(t,l,t.helpers,t.partials,u.data||n,s&&[u.blockParams].concat(s),d)}return o(c,"prog"),c=X0e(r,c,t,a,n,s),c.program=e,c.depth=a?a.length:0,c.blockParams=i||0,c}o(cD,"wrapProgram");function Hmt(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=lD(r.partials,t)):r.name==="@partial-block"?t=lD(r.data,"partial-block"):t=lD(r.partials,r.name),t}o(Hmt,"resolvePartial");function Vmt(t,e,r){var n=lD(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var i=void 0;if(r.fn&&r.fn!==K0e&&(function(){r.data=Ku.createFrame(r.data);var s=r.fn;i=r.data["partial-block"]=o(function(c){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return l.data=Ku.createFrame(l.data),l.data["partial-block"]=n,s(c,l)},"partialBlockWrapper"),s.partials&&(r.partials=Cy.extend({},r.partials,s.partials))})(),t===void 0&&i&&(t=i),t===void 0)throw new Yu.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}o(Vmt,"invokePartial");function K0e(){return""}o(K0e,"noop");function lD(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}o(lD,"lookupOwnProperty");function zmt(t,e){return(!e||!("root"in e))&&(e=e?Ku.createFrame(e):{},e.root=t),e}o(zmt,"initData");function X0e(t,e,r,n,i,s){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],i,s,n),Cy.extend(e,a)}return e}o(X0e,"executeDecorators");function Y0e(t,e,r){e&&Object.keys(e).forEach(function(n){var i=e[n];t[n]=$mt(i,r)})}o(Y0e,"addHelpers");function $mt(t,e){var r=e.lookupProperty;return Umt.wrapHelper(t,function(n){return n.lookupProperty=r,n})}o($mt,"passLookupPropertyOption")});var hj=A((uD,eIe)=>{"use strict";uD.__esModule=!0;uD.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};eIe.exports=uD.default});var sIe=A((dD,iIe)=>{"use strict";dD.__esModule=!0;function Aj(t){return t&&t.__esModule?t:{default:t}}o(Aj,"_interopRequireDefault");function mj(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}o(mj,"_interopRequireWildcard");var jmt=oD(),tIe=mj(jmt),Wmt=$0e(),Jmt=Aj(Wmt),Ymt=Io(),Kmt=Aj(Ymt),Xmt=rs(),pj=mj(Xmt),Zmt=Z0e
Line truncated
|
||||||
|
`+this.lexer.showPosition()+`
|
||||||
|
Expecting `+ae.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Ae="Parse error on line "+(f+1)+": Unexpected "+(B==1?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Ae,{text:this.lexer.match,token:this.terminals_[B]||B,line:this.lexer.yylineno,loc:E,expected:ae})}}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(v[0]){case 1:a.push(B),c.push(this.lexer.yytext),l.push(this.lexer.yylloc),a.push(v[1]),B=null,Q?(B=Q,Q=null):(h=this.lexer.yyleng,d=this.lexer.yytext,f=this.lexer.yylineno,E=this.lexer.yylloc,p>0&&p--);break;case 2:if(J=this.productions_[v[1]][1],V.$=c[c.length-J],V._$={first_line:l[l.length-(J||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(J||1)].first_column,last_column:l[l.length-1].last_column},y&&(V._$.range=[l[l.length-(J||1)].range[0],l[l.length-1].range[1]]),D=this.performAction.call(V,d,h,f,this.yy,v[1],c,l),typeof D<"u")return D;J&&(a=a.slice(0,-1*J*2),c=c.slice(0,-1*J),l=l.slice(0,-1*J)),a.push(this.productions_[v[1]][0]),c.push(V.$),l.push(V._$),ee=u[a[a.length-2]][a[a.length-1]],a.push(ee);break;case 3:return!0}}return!0},"parse")},e=(function(){var n={EOF:1,parseError:o(function(s,a){if(this.yy.parser)this.yy.parser.parseError(s,a);else throw new Error(s)},"parseError"),setInput:o(function(s){return this._input=s,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var a=s.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:o(function(s){var a=s.length,c=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a-1),this.offset-=a;var l=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===l.length?this.yylloc.first_column:0)+l[l.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-a]),this},"unput"),more:o(function(){return this._more=!0,this},"more"),less:o(function(s){this.unput(this.match.slice(s))},"less"),pastInput:o(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var s=this.pastInput(),a=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
||||||
|
`+a+"^"},"showPosition"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var s,a,c,l,u,d;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),h=0;h<f.length&&(c=this._input.match(this.rules[f[h]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,l=h,!this.options.flex)));h++);return a?(d=a[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],s=this.performAction.call(this,this.yy,this,f[l],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
||||||
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var s=this.next();return typeof s<"u"?s:this.lex()},"lex"),begin:o(function(s){this.conditionStack.push(s)},"begin"),popState:o(function(){return this.conditionStack.pop()},"popState"),_currentRules:o(function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},"_currentRules"),topState:o(function(){return this.conditionStack[this.conditionStack.length-2]},"topState"),pushState:o(function(s){this.begin(s)},"begin")};return n.options={},n.performAction=o(function(s,a,c,l){function u(f,h){return a.yytext=a.yytext.substring(f,a.yyleng-h+f)}o(u,"strip");var d=l;switch(c){case 0:if(a.yytext.slice(-2)==="\\\\"?(u(0,1),this.begin("mu")):a.yytext.slice(-1)==="\\"?(u(0,1),this.begin("emu")):this.begin("mu"),a.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(u(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(a.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return a.yytext=u(1,2).replace(/\\"/g,'"'),80;break;case 32:return a.yytext=u(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return a.yytext=a.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},"anonymous"),n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();t.lexer=e;function r(){this.yy={}}return o(r,"Parser"),r.prototype=t,t.Parser=r,new r})();hD.default=rgt;cIe.exports=hD.default});var gD=A((mD,fIe)=>{"use strict";mD.__esModule=!0;function ngt(t){return t&&t.__esModule?t:{default:t}}o(ngt,"_interopRequireDefault");var igt=Io(),yj=ngt(igt);function pD(){this.parents=[]}o(pD,"Visitor");pD.prototype={constructor:pD,mutating:!1,acceptKey:o(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!pD.prototype[n.type])throw new yj.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+e.type);e[r]=n}},"acceptKey"),acceptRequired:o(function(e,r){if(this.acceptKey(e,r),!e[r])throw new yj.default(e.type+" requires "+r)},"acceptRequired"),acceptArray:o(function(e){for(var r=0,n=e.length;r<n;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,n--)},"acceptArray"),accept:o(function(e){if(e){if(!this[e.type])throw new yj.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},"accept"),Program:o(function(e){this.acceptArray(e.body)},"Program"),MustacheStatement:AD,Decorator:AD,BlockStatement:uIe,DecoratorBlock:uIe,PartialStatement:dIe,PartialBlockStatement:o(function(e){dIe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:o(function(){},"ContentStatement"),CommentStatement:o(function(){},"CommentStatement"),SubExpression:AD,PathExpression:o(function(){},"PathExpressionLine truncated
|
||||||
|
`])}),e},"merge"),each:o(function(e){for(var r=0,n=this.source.length;r<n;r++)e(this.source[r])},"each"),empty:o(function(){var e=this.currentLocation||{start:{}};return new Jp(e.start.line,e.start.column,this.srcFile)},"empty"),wrap:o(function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof Jp?e:(e=Uj(e,this,r),new Jp(r.start.line,r.start.column,this.srcFile,e))},"wrap"),functionCall:o(function(e,r,n){return n=this.generateList(n),this.wrap([e,r?"."+r+"(":"(",n,")"])},"functionCall"),quotedString:o(function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},"quotedString"),objectLiteral:o(function(e){var r=this,n=[];Object.keys(e).forEach(function(s){var a=Uj(e[s],r);a!=="undefined"&&n.push([r.quotedString(s),":",a])});var i=this.generateList(n);return i.prepend("{"),i.add("}"),i},"objectLiteral"),generateList:o(function(e){for(var r=this.empty(),n=0,i=e.length;n<i;n++)n&&r.add(","),r.add(Uj(e[n],this));return r},"generateList"),generateArray:o(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};BD.default=jIe;WIe.exports=BD.default});var ewe=A((xD,ZIe)=>{"use strict";xD.__esModule=!0;function XIe(t){return t&&t.__esModule?t:{default:t}}o(XIe,"_interopRequireDefault");var YIe=oD(),tyt=Io(),Gj=XIe(tyt),ryt=rs(),nyt=JIe(),KIe=XIe(nyt);function xy(t){this.value=t}o(xy,"Literal");function vy(){}o(vy,"JavaScriptCompiler");vy.prototype={nameLookup:o(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:o(function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},"depthedLookup"),compilerInfo:o(function(){var e=YIe.COMPILER_REVISION,r=YIe.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:o(function(e,r,n){return ryt.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},"appendToBuffer"),initializeBuffer:o(function(){return this.quotedString("")},"initializeBuffer"),internalNameLookup:o(function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(r),")"]},"internalNameLookup"),lookupPropertyFunctionIsUsed:!1,compile:o(function(e,r,n,i){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!i,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var s=e.opcodes,a=void 0,c=void 0,l=void 0,u=void 0;for(l=0,u=s.length;l<u;l++)a=s[l],this.source.currentLocation=a.loc,c=c||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=c,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new Gj.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
|
||||||
|
`]),this.decorators.push("return fn;"),i?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
|
||||||
|
`),this.decorators.push(`}
|
||||||
|
`),this.decorators=this.decorators.merge()));var d=this.createFunctionContext(i);if(this.isChild)return d;var f={compiler:this.compilerInfo(),main:d};this.decorators&&(f.main_d=this.decorators,f.useDecorators=!0);var h=this.context,p=h.programs,g=h.decorators;for(l=0,u=p.length;l<u;l++)f[l]=p[l],g[l]&&(f[l+"_d"]=g[l],f.useDecorators=!0);return this.environment.usePartial&&(f.usePartial=!0),this.options.data&&(f.useData=!0),this.useDepths&&(f.useDepths=!0),this.useBlockParams&&(f.useBlockParams=!0),this.options.compat&&(f.compat=!0),i?f.compilerOptions=this.options:(f.compiler=JSON.stringify(f.compiler),this.source.currentLocation={start:{line:1,column:0}},f=this.objectLiteral(f),r.srcName?(f=f.toStringWithSourceMap({file:r.destName}),f.map=f.map&&f.map.toString()):f=f.toString()),f},"compile"),preamble:o(function(){this.lastContext=0,this.source=new KIe.default(this.options.srcName),this.decorators=new KIe.default(this.options.srcName)},"preamble"),createFunctionContext:o(function(e){var r=this,n="",i=this.stackVars.concat(this.registers.list);i.length>0&&(n+=", "+i.join(", "));var s=0;Object.keys(this.aliases).forEach(function(l){var u=r.aliases[l];u.children&&u.referenceCount>1&&(n+=", alias"+ ++s+"="+l,u.children[0]="alias"+s)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var c=this.mergeSource(n);return e?(a.push(c),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),`) {
|
||||||
|
`,c,"}"])},"createFunctionContext"),mergeSource:o(function(e){var r=this.environment.isSimple,n=!this.forceBuffer,i=void 0,s=void 0,a=void 0,c=void 0;return this.source.each(function(l){l.appendToBuffer?(a?l.prepend(" + "):a=l,c=l):(a&&(s?a.prepend("buffer += "):i=!0,c.add(";"),a=c=void 0),s=!0,r||(n=!1))}),n?a?(a.prepend("return "),c.add(";")):s||this.source.push('return "";'):(e+=", buffer = "+(i?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),c.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(i?"":`;
|
||||||
|
`)),this.source.merge()},"mergeSource"),lookupPropertyFunctionVarDeclaration:o(function(){return`
|
||||||
|
lookupProperty = container.lookupProperty || function(parent, propertyName) {
|
||||||
|
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
|
||||||
|
return parent[propertyName];
|
||||||
|
}
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
`.trim()},"lookupPropertyFunctionVarDeclaration"),blockValue:o(function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var i=this.popStack();n.splice(1,0,i),this.push(this.source.functionCall(r,"call",n))},"blockValue"),ambiguousBlockValue:o(function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",r),"}"])},"ambiguousBlockValue"),appendContent:o(function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},"appendContent"),append:o(function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},"append"),appendEscaped:o(function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},"appendEscaped"),getContext:o(function(e){this.lastContext=e},"getContext"),pushContext:o(function(){this.pushStackLiteral(this.contextName(this.lastContext))},"pushContext"),lookupOnContext:o(function(e,r,n,i){var s=0;!i&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[s++])):this.pushContext(),this.resolvePath("context",e,s,r,n)},"lookupOnContext"),lookupBlockParam:o(function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},"lookupBlockParam"),lookupData:o(function(e,r,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},"lookupData"),resolvePath:o(function(e,r,n,i,s){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(iyt(this.options.strict&&s,this,r,n,e));return}for(var c=r.length,l=o(function(d){a.replaceStack(function(f){var h=a.nameLookup(f,r[d],e);return i?[" && ",h]:[" != null ? ",h," : ",f]})},"_loop"),u=n;u<c;u++)l(u)},"resolvePath"),resolvePossibleLambda:o(function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},"resolvePossibleLambda"),pushStringParam:o(function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},"pushStringParam"),emptyHash:o(function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},"emptyHash"),pushHash:o(function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},"pushHash"),popHash:o(function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},"popHash"),pushString:o(function(e){this.pushStackLiteral(this.quotedString(e))},"pushString"),pushLiteral:o(function(e){this.pushStackLiteral(e)},"pushLiteral"),pushProgram:o(function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},"pushProgram"),registerDecorator:o(function(e,r){var n=this.nameLookup("decorators",r,"decorator"),i=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",n,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",i])," || fn;"])},"registerDecorator"),invokeHelper:o(function(e,r,n){var i=this.popStack(),s=this.setupHelper(e,r),a=[];n&&a.push(s.name),a.push(i),this.options.strict||a.push(this.aliasable("container.hooks.helperMissing"));var c=["(",this.itemsSeparatedBy(a,"||"),")"],l=this.source.functionCall(c,"call",s.callParams);this.push(l)},"invokeHelper"),itemsSeparatedBy:o(function(e,r){var n=[];n.push(e[0]);for(var i=1;i<e.length;i++)n.push(r,e[i]);return n},"itemsSeparatedBy"),invokeKnownHelper:o(function(e,r){var n=this.setupHelper(e,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},"invokeKnownHelper"),invokeAmbiguous:o(function(e,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var i=this.setupHelper(0,e,r),s=this.lastHelper=this.nameLookup("helpers",e,"helper"),a=["(","(helper = ",s," || ",n,")"];this.options.strict||(a[0]="(helper = ",a.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",a,i.paramsInit?["),(",i.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("h
Line truncated
|
||||||
|
`,e};Hr.prototype.Program=function(t){var e="",r=t.body,n=void 0,i=void 0;if(t.blockParams){var s="BLOCK PARAMS: [";for(n=0,i=t.blockParams.length;n<i;n++)s+=" "+t.blockParams[n];s+=" ]",e+=this.pad(s)}for(n=0,i=r.length;n<i;n++)e+=this.accept(r[n]);return this.padding--,e};Hr.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};Hr.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};Hr.prototype.BlockStatement=Hr.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};Hr.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};Hr.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};Hr.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};Hr.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};Hr.prototype.SubExpression=function(t){for(var e=t.params,r=[],n=void 0,i=0,s=e.length;i<s;i++)r.push(this.accept(e[i]));return e="["+r.join(", ")+"]",n=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+n};Hr.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};Hr.prototype.StringLiteral=function(t){return'"'+t.value+'"'};Hr.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};Hr.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};Hr.prototype.UndefinedLiteral=function(){return"UNDEFINED"};Hr.prototype.NullLiteral=function(){return"NULL"};Hr.prototype.Hash=function(t){for(var e=t.pairs,r=[],n=0,i=e.length;n<i;n++)r.push(this.accept(e[n]));return"HASH{"+r.join(", ")+"}"};Hr.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var zj=A((z0r,awe)=>{var _D=nwe().default,owe=iwe();_D.PrintVisitor=owe.PrintVisitor;_D.print=owe.print;awe.exports=_D;function swe(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=_D.compile(n)}o(swe,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=swe,require.extensions[".hbs"]=swe)});var Cwe=A(kD=>{"use strict";Object.defineProperty(kD,"__esModule",{value:!0});kD.getProxyUrl=wyt;kD.checkBypass=Ewe;function wyt(t){let e=t.protocol==="https:";if(Ewe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new QD(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new QD(`http://${r}`)}else return}o(wyt,"getProxyUrl");function Ewe(t){if(!t.hostname)return!1;let e=t.hostname;if(Syt(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let i=[t.hostname.toUpperCase()];typeof n=="number"&&i.push(`${i[0]}:${n}`);for(let s of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(s==="*"||i.some(a=>a===s||a.endsWith(`.${s}`)||s.startsWith(".")&&a.endsWith(`${s}`)))return!0;return!1}o(Ewe,"checkBypass");function Syt(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(Syt,"isLoopbackAddress");var QD=class extends URL{static{o(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var Iwe=A(Ir=>{"use strict";var Byt=Ir&&Ir.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),xyt=Ir&&Ir.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),FD=Ir&&Ir.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&Byt(r,e,n[i]);return xyt(r,e),r
Line truncated
|
||||||
|
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(i){case 0:a=s,i=1;break;case 1:r[n++]=a<<2|(s&48)>>4,a=s,i=2;break;case 2:r[n++]=(a&15)<<4|(s&60)>>2,a=s,i=3;break;case 3:r[n++]=(a&3)<<6|s,i=0;break}}if(i==1)throw Error("invalid base64 string.");return r.subarray(0,n)}o(XEt,"base64decode");Ly.base64decode=XEt;function ZEt(t){let e="",r=0,n,i=0;for(let s=0;s<t.length;s++)switch(n=t[s],r){case 0:e+=nd[n>>2],i=(n&3)<<4,r=1;break;case 1:e+=nd[i|n>>4],i=(n&15)<<2,r=2;break;case 2:e+=nd[i|n>>6],e+=nd[n&63],r=0;break}return r&&(e+=nd[i],e+="=",r==1&&(e+="=")),e}o(ZEt,"base64encode");Ly.base64encode=ZEt});var TSe=A(eQ=>{"use strict";Object.defineProperty(eQ,"__esModule",{value:!0});eQ.utf8read=void 0;var B8=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function eCt(t){if(t.length<1)return"";let e=0,r=[],n=[],i=0,s,a=t.length;for(;e<a;)s=t[e++],s<128?n[i++]=s:s>191&&s<224?n[i++]=(s&31)<<6|t[e++]&63:s>239&&s<365?(s=((s&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[i++]=55296+(s>>10),n[i++]=56320+(s&1023)):n[i++]=(s&15)<<12|(t[e++]&63)<<6|t[e++]&63,i>8191&&(r.push(B8(n)),i=0);return r.length?(i&&r.push(B8(n.slice(0,i))),r.join("")):B8(n.slice(0,i))}o(eCt,"utf8read");eQ.utf8read=eCt});var _w=A(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});Nl.WireType=Nl.mergeBinaryOptions=Nl.UnknownFieldHandler=void 0;var tCt;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,i,s,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:i,wireType:s,data:a})},t.onWrite=(r,n,i)=>{for(let{no:s,wireType:a,data:c}of t.list(n))i.tag(s,a).raw(c)},t.list=(r,n)=>{if(e(r)){let i=r[t.symbol];return n?i.filter(s=>s.no==n):i}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=o(r=>r&&Array.isArray(r[t.symbol]),"is")})(tCt=Nl.UnknownFieldHandler||(Nl.UnknownFieldHandler={}));function rCt(t,e){return Object.assign(Object.assign({},t),e)}o(rCt,"mergeBinaryOptions");Nl.mergeBinaryOptions=rCt;var nCt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(nCt=Nl.WireType||(Nl.WireType={}))});var rQ=A(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});Ls.varint32read=Ls.varint32write=Ls.int64toString=Ls.int64fromString=Ls.varint64write=Ls.varint64read=void 0;function iCt(){let t=0,e=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<n,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}o(iCt,"varint64read");Ls.varint64read=iCt;function sCt(t,e,r){for(let s=0;s<28;s=s+7){let a=t>>>s,c=!(!(a>>>7)&&e==0),l=(c?a|128:a)&255;if(r.push(l),!c)return}let n=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(r.push((i?n|128:n)&255),!!i){for(let s=3;s<31;s=s+7){let a=e>>>s,c=!!(a>>>7),l=(c?a|128:a)&255;if(r.push(l),!c)return}r.push(e>>>31&1)}}o(sCt,"varint64write");Ls.varint64write=sCt;var tQ=65536*65536;function oCt(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,i=0;function s(a,c){let l=Number(t.slice(a,c));i*=r,n=n*r+l,n>=tQ&&(i=i+(n/tQ|0),n=n%tQ)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(oCt,"int64fromString");Ls.int64fromString=oCt;function aCt(t,e){if(e>>>0<=2097151)return""+(tQ*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,i=e>>16&65535,s=r+n*6777216+i*6710656,a=n+i*8147497,c=i*2,l=1e7;s>=l&&(a+=Math.floor(s/l),s%=l),a>=l&&(c+=Math.floor(a/l),a%=l);function u(d,f){let h=d?String(d):"";return f?"0000000".slice(h.length)+h:h}return o(u,"decimalFrom1e7"),u(c,0)+u(a,c)+u(s,1)}o(aCt,"int64toString");Ls.int64toString=aCt;function cCt(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}o(cCt,"varint32write");Ls.varint32write=cCt;function lCt(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}o(lCt,"varint32read");Ls.varint32read=lCt});var Rf=A(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.PbLong=Tf.PbULong=Tf.detectBi=void 0;var Tw=rQ(),Jt;function RSe(){let t=new DataView(new ArrayBuffer(8));Jt=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("922337203685477580
Line truncated
|
||||||
|
`)}};_Q.RpcError=d6});var h6=A(RQ=>{"use strict";Object.defineProperty(RQ,"__esModule",{value:!0});RQ.mergeRpcOptions=void 0;var fBe=cr();function Rbt(t,e){if(!e)return t;let r={};TQ(t,r),TQ(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=fBe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=fBe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},TQ(t.meta,r.meta),TQ(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(Rbt,"mergeRpcOptions");RQ.mergeRpcOptions=Rbt;function TQ(t,e){if(!t)return;let r=e;for(let[n,i]of Object.entries(t))i instanceof Date?r[n]=new Date(i.getTime()):Array.isArray(i)?r[n]=i.concat():r[n]=i}o(TQ,"copy")});var A6=A(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:!0});rA.Deferred=rA.DeferredState=void 0;var Pl;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Pl=rA.DeferredState||(rA.DeferredState={}));var p6=class{static{o(this,"Deferred")}constructor(e=!0){this._state=Pl.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Pl.PENDING)throw new Error(`cannot resolve ${Pl[this.state].toLowerCase()}`);this._resolve(e),this._state=Pl.RESOLVED}reject(e){if(this.state!==Pl.PENDING)throw new Error(`cannot reject ${Pl[this.state].toLowerCase()}`);this._reject(e),this._state=Pl.REJECTED}resolvePending(e){this._state===Pl.PENDING&&this.resolve(e)}rejectPending(e){this._state===Pl.PENDING&&this.reject(e)}};rA.Deferred=p6});var g6=A(DQ=>{"use strict";Object.defineProperty(DQ,"__esModule",{value:!0});DQ.RpcOutputStreamController=void 0;var hBe=A6(),nA=cr(),m6=class{static{o(this,"RpcOutputStreamController")}constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){nA.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){nA.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){nA.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){nA.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._itState||(this._itState={q:[]}),this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:o(()=>{let e=this._itState;nA.assert(e,"bad state"),nA.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new hBe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r)if(r.p){let n=r.p;nA.assert(n.state==hBe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};DQ.RpcOutputStreamController=m6});var E6=A($y=>{"use strict";var Dbt=$y&&$y.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};Object.defineProperty($y,"__esModule",{value:!0});$y.UnaryCall=void 0;var y6=class{static{o(this,"UnaryCall")}constructor(e,r,n,i,s,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=i,this.response=s,this.status=a,this.trailers=c}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return Dbt(this,void 0,void 0,function*(){let[e,r,n,i]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:i}})}};$y.UnaryCall=y6});var b6=A(jy=>{"use strict";var Qbt=jy&&jy.__awaiter||function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,
Line truncated
|
||||||
|
globstar while`,e,f,r,h,p),this.matchOne(e.slice(f),r.slice(h),n))return this.debug("globstar found match!",f,c,p),!0;if(p==="."||p===".."||!i.dot&&p.charAt(0)==="."){this.debug("dot detected!",e,f,r,h);break}this.debug("globstar swallow a segment, and continue"),f++}return!!(n&&(this.debug(`
|
||||||
|
>>> no match, partial?`,e,f,r,h),f===c))}var g;if(typeof u=="string"?(g=d===u,this.debug("string match",u,d,g)):(g=d.match(u),this.debug("pattern match",u,d,g)),!g)return!1}if(s===c&&a===l)return!0;if(s===c)return n;if(a===l)return s===c-1&&e[s]==="";throw new Error("wtf?")}braceExpand(){return JBe(this.pattern,this.options)}parse(e,r){FQ(e);let n=this.options;if(e==="**")if(n.noglobstar)e="*";else return pc;if(e==="")return"";let i="",s=!1,a=!1,c=[],l=[],u,d=!1,f=-1,h=-1,p,g,m,E=e.charAt(0)===".",y=n.dot||E,C=o(()=>E?"":y?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)","patternStart"),I=o(v=>v.charAt(0)==="."?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)","subPatternStart"),B=o(()=>{if(u){switch(u){case"*":i+=rW,s=!0;break;case"?":i+=sW,s=!0;break;default:i+="\\"+u;break}this.debug("clearStateChar %j %j",u,i),u=!1}},"clearStateChar");for(let v=0,G;v<e.length&&(G=e.charAt(v));v++){if(this.debug("%s %s %s %j",e,v,i,G),a){if(G==="/")return!1;$Be[G]&&(i+="\\"),i+=G,a=!1;continue}switch(G){case"/":return!1;case"\\":if(d&&e.charAt(v+1)==="-"){i+=G;continue}B(),a=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",e,v,i,G),d){this.debug(" in class"),G==="!"&&v===h+1&&(G="^"),i+=G;continue}this.debug("call clearStateChar %j",u),B(),u=G,n.noext&&B();continue;case"(":{if(d){i+="(";continue}if(!u){i+="\\(";continue}let D={type:u,start:v-1,reStart:i.length,open:zBe[u].open,close:zBe[u].close};this.debug(this.pattern," ",D),c.push(D),i+=D.open,D.start===0&&D.type!=="!"&&(E=!0,i+=I(e.slice(v+1))),this.debug("plType %j %j",u,i),u=!1;continue}case")":{let D=c[c.length-1];if(d||!D){i+="\\)";continue}c.pop(),B(),s=!0,g=D,i+=g.close,g.type==="!"&&l.push(Object.assign(g,{reEnd:i.length}));continue}case"|":{let D=c[c.length-1];if(d||!D){i+="\\|";continue}B(),i+="|",D.start===0&&D.type!=="!"&&(E=!0,i+=I(e.slice(v+1)));continue}case"[":if(B(),d){i+="\\"+G;continue}d=!0,h=v,f=i.length,i+=G;continue;case"]":if(v===h+1||!d){i+="\\"+G;continue}p=e.substring(h+1,v);try{RegExp("["+I0t(C0t(p))+"]"),i+=G}catch{i=i.substring(0,f)+"(?:$.)"}s=!0,d=!1;continue;default:B(),$Be[G]&&!(G==="^"&&d)&&(i+="\\"),i+=G;break}}for(d&&(p=e.slice(h+1),m=this.parse(p,nW),i=i.substring(0,f)+"\\["+m[0],s=s||m[1]),g=c.pop();g;g=c.pop()){let v;v=i.slice(g.reStart+g.open.length),this.debug("setting tail",i,g),v=v.replace(/((?:\\{2}){0,64})(\\?)\|/g,(D,V,z)=>(z||(z="\\"),V+V+z+"|")),this.debug(`tail=%j
|
||||||
|
%s`,v,v,g,i);let G=g.type==="*"?rW:g.type==="?"?sW:"\\"+g.type;s=!0,i=i.slice(0,g.reStart)+G+"\\("+v}B(),a&&(i+="\\\\");let Q=g0t[i.charAt(0)];for(let v=l.length-1;v>-1;v--){let G=l[v],D=i.slice(0,G.reStart),V=i.slice(G.reStart,G.reEnd-8),z=i.slice(G.reEnd),J=i.slice(G.reEnd-8,G.reEnd)+z,ee=D.split(")").length,ae=D.split("(").length-ee,Ae=z;for(let $=0;$<ae;$++)Ae=Ae.replace(/\)[+*?]?/,"");z=Ae;let Y=z===""&&r!==nW?"(?:$|\\/)":"";i=D+V+z+Y+J}if(i!==""&&s&&(i="(?=.)"+i),Q&&(i=C()+i),r===nW)return[i,s];if(n.nocase&&!s&&(s=e.toUpperCase()!==e.toLowerCase()),!s)return E0t(e);let M=n.nocase?"i":"";try{return Object.assign(new RegExp("^"+i+"$",M),{_glob:e,_src:i})}catch{return new RegExp("$.")}}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let r=this.options,n=r.noglobstar?rW:r.dot?A0t:m0t,i=r.nocase?"i":"",s=e.map(a=>(a=a.map(c=>typeof c=="string"?b0t(c):c===pc?pc:c._src).reduce((c,l)=>(c[c.length-1]===pc&&l===pc||c.push(l),c),[]),a.forEach((c,l)=>{c!==pc||a[l-1]===pc||(l===0?a.length>1?a[l+1]="(?:\\/|"+n+"\\/)?"+a[l+1]:a[l]=n:l===a.length-1?a[l-1]+="(?:\\/|"+n+")?":(a[l-1]+="(?:\\/|\\/"+n+"\\/)"+a[l+1],a[l+1]=pc))}),a.filter(c=>c!==pc).join("/"))).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,i)}catch{this.regexp=!1}return this.regexp}match(e,r=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;let n=this.options;iW.sep!=="/"&&(e=e.split(iW.sep).join("/")),e=e.split(jBe),this.debug(this.pattern,"split",e);let i=this.set;this.debug(this.pattern,"set",i);let s;for(let a=e.length-1;a>=0&&(s=e[a],!s);a--);for(let a=0;a<i.length;a++){let c=i[a],l=e;if(n.matchBase&&c.length===1&&(l=[s]),this.matchOne(l,c,r))return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate}static defaults(e){return vo.defaults(e).Minimatch}};vo.Minimatch=rE});var txe=A((eNr,exe)=>{exe.exports=ZBe;var cW=require("fs"),{EventEmitter:w0t}=require("events"),{Minimatch:aW}=YBe(),{resolve:S0t}=require("path");function B0t(t,e){return new Promise((r,n)=>{cW.readdir(t,{withFileTypes:!0},(i,s)=>{if(i)switch(i.code){case"ENOTDIR":e?n(i):r([]);break;case"ENOTSUP":case"ENOENT":case"ENAMETOOLONG":case"UNKNOWN":r([]);break;default:n(i);break}else r(s)})})}o(B0t,"readdir");function KBe(t,e){return new Promise((r,n)=>{(e?cW.stat:cW.lstat)(t,(s,a)=>{s?s.code==="ENOENT"?r(e?KBe(t,!1):null):r(null):r(a)})})}o(KBe,"stat");async function*XBe(t,e,r,n,i,s){let a=await B0t(e+t,s);for(let c of a){let l=c.name;l===void 0&&(l=c,n=!0);let u=t+"/"+l,d=u.slice(1),f=e+"/"+d,h=null;(n||r)&&(h=await KBe(f,r)),!h&&c.name!==void 0&&(h=c),h===null&&(h={isDirectory:o(()=>!1,"isDirectory")}),h.isDirectory()?i(d)||(yield{relative:d,absolute:f,stats:h},yield*XBe(u,e,r,n,i,!1)):yield{relative:d,absolute:f,stats:h}}}o(XBe,"exploreWalkAsync");async function*x0t(t,e,r,n){yield*XBe("",t,e,r,n,!0)}o(x0t,"explore");function v0t(t){return{pattern:t.pattern,dot:!!t.dot,noglobstar:!!t.noglobstar,matchBase:!!t.matchBase,nocase:!!t.nocase,ignore:t.ignore,skip:t.skip,follow:!!t.follow,stat:!!t.stat,nodir:!!t.nodir,mark:!!t.mark,silent:!!t.silent,absolute:!!t.absolute}}o(v0t,"readOptions");var MQ=class extends w0t{static{o(this,"ReaddirGlob")}constructor(e,r,n){if(super(),typeof r=="function"&&(n=r,r=null),this.options=v0t(r||{}),this.matchers=[],this.options.pattern){let i=Array.isArray(this.options.pattern)?this.options.pattern:[this.options.pattern];this.matchers=i.map(s=>new aW(s,{dot:this.options.dot,noglobstar:this.options.noglobstar,matchBase:this.options.matchBase,nocase:this.options.nocase}))}if(this.ignoreMatchers=[],this.options.ignore){let i=Array.isArray(this.options.ignore)?this.options.ignore:[this.options.ignore];this.ignoreMatchers=i.map(s=>new aW(s,{dot:!0}))}if(this.skipMatchers=[],this.options.skip){let i=Array.isArray(this.options.skip)?this.options.skip:[this.options.skip];this.skipMatchers=i.map(s=>new aW(s,{dot:!0}))}this.iterator=x0t(S0t(e||"."),this.options.follow,this.options.stat,this._shouldSkipDirectory.bind(this)),this.paused=!1,this.inactive=!1,this.aborted=!1,n&&(this._matches=[],this.on("match",i=>this._matches.push(this.options.absolute?i.absolute:i.relative)),this.on("error",i=>n(i)),this.on("end",()=>n(null,this._matches))),setTimeout(()=>this._next(),0)}_shouldSkipDirectory(e){return this.skipMatchers.some(r=>r.match(e))}_fileMatches(e,r){let n=e+(r?"/":"");return(this.matchers.length===0||this.matchers.some(i=>i.match(n)))&&!this.ignoreMatchers.some(i=>i.match(n))&&(!this.options.nodir||!r)}_next(){!this.paused&&!this.aborted?this.iterator.next().then(e=>{if(e.done)this.emit("end");else{let r=e.value.stats.isDirectory();if(this._fileMatches(e.value.relative,r)){let n=e.value.relative,i=e.value.absolute;this.options.mark&&r&&(n+="/",i+="/"),this.options.stat?this.emit("match",{relative:n,absolute:i,stat:e.value.stats}):this.emit("match",{relative:n,abs
Line truncated
|
||||||
|
`,S);S=k===-1?w.length:k}else if(T!==-1&&w[S]==="/"&&w[S+1]==="*"){let k=w.indexOf("*/",S);k!==-1?(S=k+2,T=w.indexOf("*/",S)):(b+=w[S],S++)}else b+=w[S],S++;return b}o(GC,"stripComments");function WB(w){let b=GC(w.toString()),S=b.match(Rd);if(S||(S=b.match(hu)),!S)throw new Error(`could not parse args in autoInject
|
||||||
|
Source:
|
||||||
|
`+b);let[,T]=S;return T.replace(/\s/g,"").split(jB).map(k=>k.replace(qC,"").trim())}o(WB,"parseParams");function nm(w,b){var S={};return Object.keys(w).forEach(T=>{var k=w[T],L,U=p(k),H=!U&&k.length===1||U&&k.length===0;if(Array.isArray(k))L=[...k],k=L.pop(),S[T]=L.concat(L.length>0?W:k);else if(H)S[T]=k;else{if(L=WB(k),k.length===0&&!U&&L.length===0)throw new Error("autoInject task functions require explicit parameters.");U||L.pop(),S[T]=L.concat(W)}function W(Se,It){var Dt=L.map(Bt=>Se[Bt]);Dt.push(It),E(k)(...Dt)}o(W,"newTask")}),Td(S,b)}o(nm,"autoInject");class JB{static{o(this,"DLL")}constructor(){this.head=this.tail=null,this.length=0}removeLink(b){return b.prev?b.prev.next=b.next:this.head=b.next,b.next?b.next.prev=b.prev:this.tail=b.prev,b.prev=b.next=null,this.length-=1,b}empty(){for(;this.head;)this.shift();return this}insertAfter(b,S){S.prev=b,S.next=b.next,b.next?b.next.prev=S:this.tail=S,b.next=S,this.length+=1}insertBefore(b,S){S.prev=b.prev,S.next=b,b.prev?b.prev.next=S:this.head=S,b.prev=S,this.length+=1}unshift(b){this.head?this.insertBefore(this.head,b):HC(this,b)}push(b){this.tail?this.insertAfter(this.tail,b):HC(this,b)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var b=this.head;b;)yield b.data,b=b.next}remove(b){for(var S=this.head;S;){var{next:T}=S;b(S)&&this.removeLink(S),S=T}return this}}function HC(w,b){w.length=1,w.head=w.tail=b}o(HC,"setInitial");function im(w,b,S){if(b==null)b=1;else if(b===0)throw new RangeError("Concurrency must not be zero");var T=E(w),k=0,L=[];let U={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function H(Pe,Ie){U[Pe].push(Ie)}o(H,"on");function W(Pe,Ie){let Oe=o((...xt)=>{Se(Pe,Oe),Ie(...xt)},"handleAndRemove");U[Pe].push(Oe)}o(W,"once");function Se(Pe,Ie){if(!Pe)return Object.keys(U).forEach(Oe=>U[Oe]=[]);if(!Ie)return U[Pe]=[];U[Pe]=U[Pe].filter(Oe=>Oe!==Ie)}o(Se,"off");function It(Pe,...Ie){U[Pe].forEach(Oe=>Oe(...Ie))}o(It,"trigger");var Dt=!1;function Bt(Pe,Ie,Oe,xt){if(xt!=null&&typeof xt!="function")throw new Error("task callback must be a function");Qt.started=!0;var Ar,Un;function Po(Bh,...YC){if(Bh)return Oe?Un(Bh):Ar();if(YC.length<=1)return Ar(YC[0]);Ar(YC)}o(Po,"promiseCallback");var cm=Qt._createTaskItem(Pe,Oe?Po:xt||Po);if(Ie?Qt._tasks.unshift(cm):Qt._tasks.push(cm),Dt||(Dt=!0,u(()=>{Dt=!1,Qt.process()})),Oe||!xt)return new Promise((Bh,YC)=>{Ar=Bh,Un=YC})}o(Bt,"_insert");function ko(Pe){return function(Ie,...Oe){k-=1;for(var xt=0,Ar=Pe.length;xt<Ar;xt++){var Un=Pe[xt],Po=L.indexOf(Un);Po===0?L.shift():Po>0&&L.splice(Po,1),Un.callback(Ie,...Oe),Ie!=null&&It("error",Ie,Un.data)}k<=Qt.concurrency-Qt.buffer&&It("unsaturated"),Qt.idle()&&It("drain"),Qt.process()}}o(ko,"_createCB");function am(Pe){return Pe.length===0&&Qt.idle()?(u(()=>It("drain")),!0):!1}o(am,"_maybeDrain");let Sh=o(Pe=>Ie=>{if(!Ie)return new Promise((Oe,xt)=>{W(Pe,(Ar,Un)=>{if(Ar)return xt(Ar);Oe(Un)})});Se(Pe),H(Pe,Ie)},"eventMethod");var JC=!1,Qt={_tasks:new JB,_createTaskItem(Pe,Ie){return{data:Pe,callback:Ie}},*[Symbol.iterator](){yield*Qt._tasks[Symbol.iterator]()},concurrency:b,payload:S,buffer:b/4,started:!1,paused:!1,push(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>Bt(Oe,!1,!1,Ie)):Bt(Pe,!1,!1,Ie)},pushAsync(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>Bt(Oe,!1,!0,Ie)):Bt(Pe,!1,!0,Ie)},kill(){Se(),Qt._tasks.empty()},unshift(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>Bt(Oe,!0,!1,Ie)):Bt(Pe,!0,!1,Ie)},unshiftAsync(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>Bt(Oe,!0,!0,Ie)):Bt(Pe,!0,!0,Ie)},remove(Pe){Qt._tasks.remove(Pe)},process(){if(!JC){for(JC=!0;!Qt.paused&&k<Qt.concurrency&&Qt._tasks.length;){var Pe=[],Ie=[],Oe=Qt._tasks.length;Qt.payload&&(Oe=Math.min(Oe,Qt.payload));for(var xt=0;xt<Oe;xt++){var Ar=Qt._tasks.shift();Pe.push(Ar),L.push(Ar),Ie.push(Ar.data)}k+=1,Qt._tasks.length===0&&It("empty"),k===Qt.concurrency&&It("saturated");var Un=ee(ko(Pe));T(Ie,Un)}JC=!1}},length(){return Qt._tasks.length},running(){return k},workersList(){return L},idle(){return Qt._tasks.length+k===0},pause(){Qt.paused=!0},resume(){Qt.paused!==!1&&(Qt.paused=!1,u(Qt.process))}};return Object.defineProperties(Qt,{saturated:{writable:!1,value:Sh("saturated")},unsaturated:{writable:!1,value:Sh("unsaturated")},empty:{writable:!1,value:Sh("empty")},drain:{writable:!1,value:Sh("drain")},error:{writable:!1,value:Sh("error")}}),Qt}o(im,"queue$1");function sm(w,b){return im(w,1,b)}o(sm,"cargo$1");function $s(w,b,S){return im(w,b,S)}o($s,"cargo");function YB(w,b,S,T){T=v(T);var k=E(S);return Jr(w,(L,U,H)=>{k(b,L,(W,Se)=>{b=Se,H(W)})},L=>T(L,b))}o(YB,"reduce");var Fa=y(YB,4);function VC(...w){var b=w.map(E);return function(...S){var T=this,k=S[S.length-1];return typeof k=="function"?S.pop():k=La(),Fa(b,S,(L,U,H)=>{U.apply(T,L.concat((W,...Se)=>{H(W,Se)}))},(L,U)=>k(L,...U)),k[ms]}}o(VC,"seq");function be(...w){return VC(...w.revers
Line truncated
|
||||||
|
GFS4: `),console.error(t)},"debug"));_r[yi]||(dxe=global[yi]||[],hxe(_r,dxe),_r.close=(function(t){function e(r,n){return t.call(_r,r,function(i){i||fxe(),typeof n=="function"&&n.apply(this,arguments)})}return o(e,"close"),Object.defineProperty(e,VQ,{value:t}),e})(_r.close),_r.closeSync=(function(t){function e(r){t.apply(_r,arguments),fxe()}return o(e,"closeSync"),Object.defineProperty(e,VQ,{value:t}),e})(_r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){sA(_r[yi]),require("assert").equal(_r[yi].length,0)}));var dxe;global[yi]||hxe(global,_r[yi]);fW.exports=uW(O0t(_r));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!_r.__patched&&(fW.exports=uW(_r),_r.__patched=!0);function uW(t){k0t(t),t.gracefulify=uW,t.createReadStream=Q,t.createWriteStream=M;var e=t.readFile;t.readFile=r;function r(D,V,z){return typeof V=="function"&&(z=V,V=null),J(D,V,z);function J(ee,ae,Ae,Y){return e(ee,ae,function($){$&&($.code==="EMFILE"||$.code==="ENFILE")?nE([J,[ee,ae,Ae],$,Y||Date.now(),Date.now()]):typeof Ae=="function"&&Ae.apply(this,arguments)})}o(J,"go$readFile")}o(r,"readFile");var n=t.writeFile;t.writeFile=i;function i(D,V,z,J){return typeof z=="function"&&(J=z,z=null),ee(D,V,z,J);function ee(ae,Ae,Y,$,we){return n(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,Ae,Y,$],Be,we||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}o(ee,"go$writeFile")}o(i,"writeFile");var s=t.appendFile;s&&(t.appendFile=a);function a(D,V,z,J){return typeof z=="function"&&(J=z,z=null),ee(D,V,z,J);function ee(ae,Ae,Y,$,we){return s(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,Ae,Y,$],Be,we||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}o(ee,"go$appendFile")}o(a,"appendFile");var c=t.copyFile;c&&(t.copyFile=l);function l(D,V,z,J){return typeof z=="function"&&(J=z,z=0),ee(D,V,z,J);function ee(ae,Ae,Y,$,we){return c(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,Ae,Y,$],Be,we||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}o(ee,"go$copyFile")}o(l,"copyFile");var u=t.readdir;t.readdir=f;var d=/^v[0-5]\./;function f(D,V,z){typeof V=="function"&&(z=V,V=null);var J=d.test(process.version)?o(function(Ae,Y,$,we){return u(Ae,ee(Ae,Y,$,we))},"go$readdir"):o(function(Ae,Y,$,we){return u(Ae,Y,ee(Ae,Y,$,we))},"go$readdir");return J(D,V,z);function ee(ae,Ae,Y,$){return function(we,Be){we&&(we.code==="EMFILE"||we.code==="ENFILE")?nE([J,[ae,Ae,Y],we,$||Date.now(),Date.now()]):(Be&&Be.sort&&Be.sort(),typeof Y=="function"&&Y.call(this,we,Be))}}}if(o(f,"readdir"),process.version.substr(0,4)==="v0.8"){var h=P0t(t);y=h.ReadStream,I=h.WriteStream}var p=t.ReadStream;p&&(y.prototype=Object.create(p.prototype),y.prototype.open=C);var g=t.WriteStream;g&&(I.prototype=Object.create(g.prototype),I.prototype.open=B),Object.defineProperty(t,"ReadStream",{get:o(function(){return y},"get"),set:o(function(D){y=D},"set"),enumerable:!0,configurable:!0}),Object.defineProperty(t,"WriteStream",{get:o(function(){return I},"get"),set:o(function(D){I=D},"set"),enumerable:!0,configurable:!0});var m=y;Object.defineProperty(t,"FileReadStream",{get:o(function(){return m},"get"),set:o(function(D){m=D},"set"),enumerable:!0,configurable:!0});var E=I;Object.defineProperty(t,"FileWriteStream",{get:o(function(){return E},"get"),set:o(function(D){E=D},"set"),enumerable:!0,configurable:!0});function y(D,V){return this instanceof y?(p.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}o(y,"ReadStream");function C(){var D=this;G(D.path,D.flags,D.mode,function(V,z){V?(D.autoClose&&D.destroy(),D.emit("error",V)):(D.fd=z,D.emit("open",z),D.read())})}o(C,"ReadStream$open");function I(D,V){return this instanceof I?(g.apply(this,arguments),this):I.apply(Object.create(I.prototype),arguments)}o(I,"WriteStream");function B(){var D=this;G(D.path,D.flags,D.mode,function(V,z){V?(D.destroy(),D.emit("error",V)):(D.fd=z,D.emit("open",z))})}o(B,"WriteStream$open");function Q(D,V){return new t.ReadStream(D,V)}o(Q,"createReadStream");function M(D,V){return new t.WriteStream(D,V)}o(M,"createWriteStream");var v=t.open;t.open=G;function G(D,V,z,J){return typeof z=="function"&&(J=z,z=null),ee(D,V,z,J);function ee(ae,Ae,Y,$,we){return v(ae,Ae,Y,function(Be,st){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,Ae,Y,$],Be,we||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}o(ee,"go$open")}return o(G,"open"),t}o(uW,"patch");function nE(t){sA("ENQUEUE",t[0].name,t[1]),_r[yi].push(t),dW()}o(nE,"enqueue");var HQ;function fxe(){for(var t=Date.now(),e=0;e<_r[yi].length;++e)_r[yi][e].length>2&&(_r[yi][e][3]=t,_r[yi][e][4]=t);dW()}o(fxe,"resetQueue");function dW(){if(clearTimeout(HQ),HQ=void 0,_r[yi].length!==0){var t=_r[yi].shift(),e=t[0],r=t[1],n=t[2],i=t[3],s=t[4];if(i===void 0)sA("RETRY",e.name,r),e.apply(null,r);else if(Date.now()-i>=6e4){sA("TIMEOUT",e.name,r);var a=r.pop();typeof
Line truncated
|
||||||
|
`;super(r),this.name="AggregateError",this.errors=e}};XW.exports={AggregateError:KW,kEmptyObject:Object.freeze({}),once(t){let e=!1;return function(...r){e||(e=!0,t.apply(this,r))}},createDeferredPromise:o(function(){let t,e;return{promise:new Promise((n,i)=>{t=n,e=i}),resolve:t,reject:e}},"createDeferredPromise"),promisify(t){return new Promise((e,r)=>{t((n,...i)=>n?r(n):e(...i))})},debuglog(){return function(){}},format(t,...e){return t.replace(/%([sdifj])/g,function(...[r,n]){let i=e.shift();return n==="f"?i.toFixed(6):n==="j"?JSON.stringify(i):n==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(t){switch(typeof t){case"string":if(t.includes("'"))if(t.includes('"')){if(!t.includes("`")&&!t.includes("${"))return`\`${t}\``}else return`"${t}"`;return`'${t}'`;case"number":return isNaN(t)?"NaN":Object.is(t,-0)?String(t):t;case"bigint":return`${String(t)}n`;case"boolean":case"undefined":return String(t);case"object":return"{}"}},types:{isAsyncFunction(t){return t instanceof Ext},isArrayBufferView(t){return ArrayBuffer.isView(t)}},isBlob:Cxt,deprecate(t,e){return t},addAbortListener:require("events").addAbortListener||o(function(e,r){if(e===void 0)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);o_e(e,"signal"),bxt(r,"listener");let n;return e.aborted?queueMicrotask(()=>r()):(e.addEventListener("abort",r,{__proto__:null,once:!0,[Axt]:!0}),n=o(()=>{e.removeEventListener("abort",r)},"removeEventListener")),{__proto__:null,[mxt](){var i;(i=n)===null||i===void 0||i()}}},"addAbortListener"),AbortSignalAny:gxt.any||o(function(e){if(e.length===1)return e[0];let r=new yxt,n=o(()=>r.abort(),"abort");return e.forEach(i=>{o_e(i,"signals"),i.addEventListener("abort",n,{once:!0})}),r.signal.addEventListener("abort",()=>{e.forEach(i=>i.removeEventListener("abort",n))},{once:!0}),r.signal},"AbortSignalAny")};XW.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")});var as=A((gTr,l_e)=>{"use strict";var{format:Ixt,inspect:h1,AggregateError:wxt}=Di(),Sxt=globalThis.AggregateError||wxt,Bxt=Symbol("kIsNodeError"),xxt=["string","function","number","object","Function","Object","boolean","bigint","symbol"],vxt=/^([A-Z][a-z0-9]*)+$/,Nxt="__node_internal_",p1={};function cA(t,e){if(!t)throw new p1.ERR_INTERNAL_ASSERTION(e)}o(cA,"assert");function a_e(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}o(a_e,"addNumericalSeparator");function _xt(t,e,r){if(typeof e=="function")return cA(e.length<=r.length,`Code: ${t}; The provided arguments length (${r.length}) does not match the required ones (${e.length}).`),e(...r);let n=(e.match(/%[dfijoOs]/g)||[]).length;return cA(n===r.length,`Code: ${t}; The provided arguments length (${r.length}) does not match the required ones (${n}).`),r.length===0?e:Ixt(e,...r)}o(_xt,"getMessage");function Ci(t,e,r){r||(r=Error);class n extends r{static{o(this,"NodeError")}constructor(...s){super(_xt(t,e,s))}toString(){return`${this.name} [${t}]: ${this.message}`}}Object.defineProperties(n.prototype,{name:{value:r.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${t}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),n.prototype.code=t,n.prototype[Bxt]=!0,p1[t]=n}o(Ci,"E");function c_e(t){let e=Nxt+t.name;return Object.defineProperty(t,"name",{value:e}),t}o(c_e,"hideStackFrames");function Txt(t,e){if(t&&e&&t!==e){if(Array.isArray(e.errors))return e.errors.push(t),e;let r=new Sxt([e,t],e.message);return r.code=e.code,r}return t||e}o(Txt,"aggregateTwoErrors");var ZW=class extends Error{static{o(this,"AbortError")}constructor(e="The operation was aborted",r=void 0){if(r!==void 0&&typeof r!="object")throw new p1.ERR_INVALID_ARG_TYPE("options","Object",r);super(e,r),this.code="ABORT_ERR",this.name="AbortError"}};Ci("ERR_ASSERTION","%s",Error);Ci("ERR_INVALID_ARG_TYPE",(t,e,r)=>{cA(typeof t=="string","'name' must be a string"),Array.isArray(e)||(e=[e]);let n="The ";t.endsWith(" argument")?n+=`${t} `:n+=`"${t}" ${t.includes(".")?"property":"argument"} `,n+="must be ";let i=[],s=[],a=[];for(let l of e)cA(typeof l=="string","All expected entries have to be of type string"),xxt.includes(l)?i.push(l.toLowerCase()):vxt.test(l)?s.push(l):(cA(l!=="object",'The value "object" should be written as "Object"'),a.push(l));if(s.length>0){let l=i.indexOf("object");l!==-1&&(i.splice(i,l,1),s.push("Object"))}if(i.length>0){switch(i.length){case 1:n+=`of type ${i[0]}`;break;case 2:n+=`one of type ${i[0]} or ${i[1]}`;break;default:{let l=i.pop();n+=`one of type ${i.join(", ")}, or ${l}`}}(s.length>0||a.length>0)&&(n+=" or ")}if(s.length>0){switch(s.length){case 1:n+=`an instance of ${s[0]}`;break;case 2:n+=`an instance of ${s[0]} or ${s[1]}`;break;default:{let l=s.pop();n+=`an instance of ${s.join(", ")}, or ${l}`}}a.length>0&&(n+=" or ")}switch(a.length){case 0:break;case 1:a[0].toLowerCase()!==a[0]&&(n+="an "),n+=`${a[0]}`;break;case 2:n+Line truncated
|
||||||
|
`)),e.linkname&&(r+=_Y(" linkpath="+e.linkname+`
|
||||||
|
`));let n=e.pax;if(n)for(let i in n)r+=_Y(" "+i+"="+n[i]+`
|
||||||
|
`);return Tt.from(r)},"encodePax");$E.decodePax=o(function(e){let r={};for(;e.length;){let n=0;for(;n<e.length&&e[n]!==32;)n++;let i=parseInt(Tt.toString(e.subarray(0,n)),10);if(!i)return r;let s=Tt.toString(e.subarray(n+1,i-1)),a=s.indexOf("=");if(a===-1)return r;r[s.slice(0,a)]=s.slice(a+1),e=e.subarray(i)}return r},"decodePax");$E.encode=o(function(e){let r=Tt.alloc(512),n=e.name,i="";if(e.typeflag===5&&n[n.length-1]!=="/"&&(n+="/"),Tt.byteLength(n)!==n.length)return null;for(;Tt.byteLength(n)>100;){let s=n.indexOf("/");if(s===-1)return null;i+=i?"/"+n.slice(0,s):n.slice(0,s),n=n.slice(s+1)}return Tt.byteLength(n)>100||Tt.byteLength(i)>155||e.linkname&&Tt.byteLength(e.linkname)>100?null:(Tt.write(r,n),Tt.write(r,Kf(e.mode&$Pt,6),100),Tt.write(r,Kf(e.uid,6),108),Tt.write(r,Kf(e.gid,6),116),ZPt(e.size,r,124),Tt.write(r,Kf(e.mtime.getTime()/1e3|0,11),136),r[156]=Vk+KPt(e.type),e.linkname&&Tt.write(r,e.linkname,157),Tt.copy(cke,r,sB),Tt.copy(HPt,r,TY),e.uname&&Tt.write(r,e.uname,265),e.gname&&Tt.write(r,e.gname,297),Tt.write(r,Kf(e.devmajor||0,6),329),Tt.write(r,Kf(e.devminor||0,6),337),i&&Tt.write(r,i,345),Tt.write(r,Kf(uke(r),6),148),r)},"encode");$E.decode=o(function(e,r,n){let i=e[156]===0?0:e[156]-Vk,s=zE(e,0,100,r),a=Yf(e,100,8),c=Yf(e,108,8),l=Yf(e,116,8),u=Yf(e,124,12),d=Yf(e,136,12),f=YPt(i),h=e[157]===0?null:zE(e,157,100,r),p=zE(e,265,32),g=zE(e,297,32),m=Yf(e,329,8),E=Yf(e,337,8),y=uke(e);if(y===256)return null;if(y!==Yf(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(jPt(e))e[345]&&(s=zE(e,345,155,r)+"/"+s);else if(!WPt(e)){if(!n)throw new Error("Invalid tar header: unknown format.")}return i===0&&s&&s[s.length-1]==="/"&&(i=5),{name:s,mode:a,uid:c,gid:l,size:u,mtime:new Date(1e3*d),type:f,linkname:h,uname:p,gname:g,devmajor:m,devminor:E,pax:null}},"decode");function jPt(t){return Tt.equals(cke,t.subarray(sB,sB+6))}o(jPt,"isUSTAR");function WPt(t){return Tt.equals(VPt,t.subarray(sB,sB+6))&&Tt.equals(zPt,t.subarray(TY,TY+2))}o(WPt,"isGNU");function JPt(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)}o(JPt,"clamp");function YPt(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}o(YPt,"toType");function KPt(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}o(KPt,"toTypeflag");function lke(t,e,r,n){for(;r<n;r++)if(t[r]===e)return r;return n}o(lke,"indexOf");function uke(t){let e=256;for(let r=0;r<148;r++)e+=t[r];for(let r=156;r<512;r++)e+=t[r];return e}o(uke,"cksum");function Kf(t,e){return t=t.toString(8),t.length>e?GPt.slice(0,e)+" ":qPt.slice(0,e-t.length)+t+" "}o(Kf,"encodeOct");function XPt(t,e,r){e[r]=128;for(let n=11;n>0;n--)e[r+n]=t&255,t=Math.floor(t/256)}o(XPt,"encodeSizeBin");function ZPt(t,e,r){t.toString(8).length>11?XPt(t,e,r):Tt.write(e,Kf(t,11),r)}o(ZPt,"encodeSize");function eOt(t){let e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;let r=[],n;for(n=t.length-1;n>0;n--){let a=t[n];e?r.push(a):r.push(255-a)}let i=0,s=r.length;for(n=0;n<s;n++)i+=r[n]*Math.pow(256,n);return e?i:-1*i}o(eOt,"parse256");function Yf(t,e,r){if(t=t.subarray(e,e+r),e=0,t[e]&128)return eOt(t);{for(;e<t.length&&t[e]===32;)e++;let n=JPt(lke(t,32,e,t.length),t.length,t.length);for(;e<n&&t[e]===0;)e++;return n===e?0:parseInt(Tt.toString(t.subarray(e,n)),8)}}o(Yf,"decodeOct");function zE(t,e,r,n){return Tt.toString(t.subarray(e,lke(t,0,e,e+r)),n)}o(zE,"decodeStr");function _Y(t){let e=Tt.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t}o(_Y,"addLength")});var Ake=A((SQr,pke)=>{var{Writable:tOt,Readable:rOt,getStreamError:dke}=NY(),nOt=fY(),fke=Hk(),jE=RY(),iOt=fke.alloc(0),QY=class{static{o(this,"BufferList")}constructor(){this.buffered=0,this.shifted=0,this.queue=new nOt,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return this._buffered===0?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(e===0)return iOt;let r=this._next(e);if(e===r.byteLength)return r;let n=[r];for(;(e-=r.byteLength)>0;)r=this._next(e),n.push(r);return fke.concat(n)}_next(e){let r=this.queue.peek(),n=r.byteLength-this._offset;if(e>=n){let i=this._offset?r.subarray(this._offset,r.byteLength):r;return this.queue.shift(),this._offset=0,this.buffered-=n,this.shifted+=n,i}return this.buffered-=e,this.shifted+=e,r.subarray(this._offset,this._offset+=e)}},kY=class extends rOt{static{o(this,"Source")}constructor(e,r,n){super(),this.header=r,this.offset=n,this._parent=e}_
Line truncated
|
||||||
|
`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u0152",ofcir:"\u29BF",ofr:"\u{1D52C}",Ofr:"\u{1D512}",ogon:"\u02DB",ograve:"\xF2",Ograve:"\xD2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",Omacr:"\u014C",omega:"\u03C9",Omega:"\u03A9",omicron:"\u03BF",Omicron:"\u039F",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",Oopf:"\u{1D546}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",or:"\u2228",Or:"\u2A54",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",oscr:"\u2134",Oscr:"\u{1D4AA}",oslash:"\xF8",Oslash:"\xD8",osol:"\u2298",otilde:"\xF5",Otilde:"\xD5",otimes:"\u2297",Otimes:"\u2A37",otimesas:"\u2A36",ouml:"\xF6",Ouml:"\xD6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4
Line truncated
|
||||||
|
`).join(`
|
||||||
|
`+s),t.push(i+"m+"+nO.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=yGt()+e+" "+t[0]}o(gGt,"formatArgs");function yGt(){return si.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(yGt,"getDate");function EGt(...t){return process.stderr.write(rO.formatWithOptions(si.inspectOpts,...t)+`
|
||||||
|
`)}o(EGt,"log");function CGt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(CGt,"save");function bGt(){return process.env.DEBUG}o(bGt,"load");function IGt(t){t.inspectOpts={};let e=Object.keys(si.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=si.inspectOpts[e[r]]}o(IGt,"init");nO.exports=E7()(si);var{formatters:yFe}=nO.exports;yFe.o=function(t){return this.inspectOpts.colors=this.useColors,rO.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};yFe.O=function(t){return this.inspectOpts.colors=this.useColors,rO.inspect(t,this.inspectOpts)}});var b7=A((eFr,C7)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?C7.exports=gFe():C7.exports=EFe()});var sO=A(Wr=>{"use strict";Object.defineProperty(Wr,"__esModule",{value:!0});Wr.DownloadHTTPError=Wr.DownloadLengthMismatchError=Wr.DownloadError=Wr.ExpiredMetadataError=Wr.EqualVersionError=Wr.BadVersionError=Wr.RepositoryError=Wr.PersistError=Wr.RuntimeError=Wr.ValueError=void 0;var I7=class extends Error{static{o(this,"ValueError")}};Wr.ValueError=I7;var w7=class extends Error{static{o(this,"RuntimeError")}};Wr.RuntimeError=w7;var S7=class extends Error{static{o(this,"PersistError")}};Wr.PersistError=S7;var _B=class extends Error{static{o(this,"RepositoryError")}};Wr.RepositoryError=_B;var iO=class extends _B{static{o(this,"BadVersionError")}};Wr.BadVersionError=iO;var B7=class extends iO{static{o(this,"EqualVersionError")}};Wr.EqualVersionError=B7;var x7=class extends _B{static{o(this,"ExpiredMetadataError")}};Wr.ExpiredMetadataError=x7;var TB=class extends Error{static{o(this,"DownloadError")}};Wr.DownloadError=TB;var v7=class extends TB{static{o(this,"DownloadLengthMismatchError")}};Wr.DownloadLengthMismatchError=v7;var N7=class extends TB{static{o(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};Wr.DownloadHTTPError=N7});var bFe=A(EC=>{"use strict";var T7=EC&&EC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EC,"__esModule",{value:!0});EC.withTempFile=void 0;var _7=T7(require("fs/promises")),wGt=T7(require("os")),CFe=T7(require("path")),SGt=o(async t=>BGt(async e=>t(CFe.default.join(e,"tempfile"))),"withTempFile");EC.withTempFile=SGt;var BGt=o(async t=>{let e=await _7.default.realpath(wGt.default.tmpdir()),r=await _7.default.mkdtemp(e+CFe.default.sep);try{return await t(r)}finally{await _7.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var wFe=A((sFr,IFe)=>{var R7=class{static{o(this,"RetryOperation")}#e=1;#t=null;#n=[];#r=null;#i;#s=null;#l;#a;#c=null;#o;constructor(e,r={}){this.#l=[...e],this.#a=[...e],this.#o=r.unref,this.#i=r.maxRetryTime||1/0,r.forever&&(this.#t=[...this.#a])}get timeouts(){return[...this.#a]}get errors(){return[...this.#n]}get attempts(){return this.#e}get mainError(){let e=null;if(this.#n.length){let r=0,n={};for(let i=0;i<this.#n.length;i++){let s=this.#n[i],{message:a}=s;n[a]||(n[a]=0),n[a]++,n[a]>=r&&(e=s,r=n[a])}}return e}reset(){this.#e=1,this.#a=[...this.#l]}stop(){this.#c&&clearTimeout(this.#c),this.#a=[],this.#t=null}retry(e){if(this.#n.push(e),new Date().getTime()-this.#s>=this.#i)return this.#n.unshift(new Error("RetryOperation timeout occurred")),!1;let r=this.#a.shift();if(r===void 0)if(this.#t)this.#n.pop(),r=this.#t.at(-1);else return!1;return this.#c=setTimeout(()=>{this.#e++,this.#r(this.#e)},r),this.#o&&this.#c.unref(),!0}attempt(e){this.#r=e,this.#s=new Date().getTime(),this.#r(this.#e)}};IFe.exports={RetryOperation:R7}});var xFe=A((aFr,BFe)=>{var{RetryOperation:xGt}=wFe(),SFe=o((t,e)=>Math.min(Math.round((1+(e.randomize?Math.random():0))*Math.max(e.minTimeout,1)*Math.pow(e.factor,t)),e.maxTimeout),"createTimeout"),vGt=o(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),NGt=o(async(t,e={})=>{let r=[];if(e instanceof Array)r=[...e];else{e.retries===1/0&&(e.forever=!0,delete e.retries);let i={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1,...e};if(i.minTimeout>i.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");if(i.retries){for(let s=0;s<i.retries;s++)r.push(SFe(s,i));r.sort((s,a)=>s-a)}else e.forever&&r.push(SFe(0,i))}let n=new xGt(r,{forever:e.forever,unref:e.unref,maxRetryTime:e.maxRetryTime});return new Promise(function(i,s){n.attempt(async a=>{try{let c=await t(l=>{throw Object.assign(new Error("Retrying"),{code:"EPROMISERETRY",retried:l})},a,n);return i(c)}catch(c){if(!vGt(c))return s(c);if(!n.retry(c.retried||new Error))return s(c.retried)}})})},"promiseRetry");BFe.exports={promiseRetry:NGt}});var k7=A(fh=>{"use strict";var Q7=fh&&fh.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fh,"__esModule",{value:!0});fh.DefaultFetcher=fh.BaseFetcher=void 0;var _Gt=Q7(b7()),vFe=Q7(require("fs")),TGt=Q7(require("util")),NFe=sO(),RGt=bFe(),DGt=xFe(),QGt=(0,_Gt.default)("tuf:fetch"),kGt="User-Agent",oO=class{static{o(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,RGt.withTempFile)(async i=>{let s=await this.fetch(e),a=0,c=vFe.default.createWriteStream(i),l=s.getReader();try{for(;;){let{done:u,value:d}=await l.read();if(u)break;if(a+=d.length,a>r)throw new NFe.DownloadLengthMismatchError("Max length reached");await PGt(c,Buffer.from(d))}}finally{l.releaseLock(),await TGt.default.promisify(c.close).bind(c)()}return n(i)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let i=vFe.defau
Line truncated
|
||||||
|
`).forEach(r=>{r.match(UHt)||r.match(qHt)||(e+=r)}),Buffer.from(e,"base64")}o(GHt,"toDER");function HHt(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
|
||||||
|
`).concat(`
|
||||||
|
`)}o(HHt,"fromDER")});var IO=A(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.SHA2_HASH_ALGOS=gh.RSA_SIGNATURE_ALGOS=gh.ECDSA_SIGNATURE_ALGOS=void 0;gh.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};gh.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};gh.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var iX=A(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});wO.RFC3161TimestampVerificationError=void 0;var nX=class extends Error{static{o(this,"RFC3161TimestampVerificationError")}};wO.RFC3161TimestampVerificationError=nX});var iMe=A(nu=>{"use strict";var VHt=nu&&nu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),zHt=nu&&nu.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),$Ht=nu&&nu.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&VHt(r,e,n[i]);return zHt(r,e),r}})();Object.defineProperty(nu,"__esModule",{value:!0});nu.TSTInfo=void 0;var nMe=$Ht(BC()),jHt=IO(),WHt=iX(),sX=class{static{o(this,"TSTInfo")}root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return jHt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=nMe.digest(this.messageImprintHashAlgorithm,e);if(!nMe.bufferEqual(r,this.messageImprintHashedMessage))throw new WHt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};nu.TSTInfo=sX});var oMe=A(iu=>{"use strict";var JHt=iu&&iu.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:o(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),YHt=iu&&iu.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),KHt=iu&&iu.__importStar||(function(){var t=o(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&JHt(r,e,n[i]);return YHt(r,e),r}})();Object.defineProperty(iu,"__esModule",{value:!0});iu.RFC3161Timestamp=void 0;var XHt=EO(),oX=KHt(BC()),sMe=IO(),OB=iX(),ZHt=iMe(),eVt="1.2.840.113549.1.7.2",tVt="1.2.840.113549.1.9.16.1.4",rVt="1.2.840.113549.1.9.4",aX=class t{static{o(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=XHt.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return sMe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return sMe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new ZHt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new OB.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==eVt)throw new OB.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==tVt)throw new OB.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=oX.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu
Line truncated
|
||||||
|
|
||||||
|
`,I4t=/\u2014 (\S+) (\S+)\n/g;function w4t(t,e){let r=t.inclusionProof,n=LX.fromString(r.checkpoint.envelope),i=HO.fromString(n.note);if(!S4t(n,e))throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return i}o(w4t,"verifyCheckpoint");function S4t(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let i=e.find(s=>UMe.crypto.bufferEqual(s.logID.subarray(0,4),n.keyHint)&&s.baseURL.includes(n.name));return i?UMe.crypto.verify(r,i.publicKey,n.signature):!1})}o(S4t,"verifySignedNote");var LX=class t{static{o(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(OX))throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(OX),n=e.slice(0,r+1),s=e.slice(r+OX.length).matchAll(I4t),a=Array.from(s,c=>{let[,l,u]=c,d=Buffer.from(u,"base64");if(d.length<5)throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:l,keyHint:d.subarray(0,4),signature:d.subarray(4)}});if(a.length===0)throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(n,a)}},HO=class t{static{o(this,"LogCheckpoint")}origin;logSize;logHash;rest;constructor(e,r,n,i){this.origin=e,this.logSize=r,this.logHash=n,this.rest=i}static fromString(e){let r=e.trimEnd().split(`
|
||||||
|
`);if(r.length<3)throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let n=r[0],i;try{i=BigInt(r[1])}catch{throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint log size"})}let s=Buffer.from(r[2],"base64"),a=r.slice(3);return new t(n,i,s,a)}};qB.LogCheckpoint=HO});var GMe=A(UX=>{"use strict";Object.defineProperty(UX,"__esModule",{value:!0});UX.verifyMerkleInclusion=v4t;var MX=wc(),VO=Ui(),B4t=Buffer.from([0]),x4t=Buffer.from([1]);function v4t(t,e){let r=t.inclusionProof,n;try{n=BigInt(r.logIndex)}catch{throw new VO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid inclusion proof log index"})}let i=BigInt(e.logSize);if(n<0n||n>=i)throw new VO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:s,border:a}=N4t(n,i);if(r.hashes.length!==s+a)throw new VO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,s),l=r.hashes.slice(s),u=k4t(t.canonicalizedBody),d=T4t(_4t(u,c,n),l);if(!MX.crypto.bufferEqual(d,e.logHash))throw new VO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}o(v4t,"verifyMerkleInclusion");function N4t(t,e){let r=R4t(t,e),n=D4t(t>>BigInt(r));return{inner:r,border:n}}o(N4t,"decompInclProof");function _4t(t,e,r){return e.reduce((n,i,s)=>r>>BigInt(s)&BigInt(1)?FX(i,n):FX(n,i),t)}o(_4t,"chainInner");function T4t(t,e){return e.reduce((r,n)=>FX(n,r),t)}o(T4t,"chainBorderRight");function R4t(t,e){return Q4t(t^e-BigInt(1))}o(R4t,"innerProofSize");function D4t(t){return t.toString(2).split("1").length-1}o(D4t,"onesCount");function Q4t(t){return t===0n?0:t.toString(2).length}o(Q4t,"bitLength");function FX(t,e){return MX.crypto.digest("sha256",x4t,t,e)}o(FX,"hashChildren");function k4t(t){return MX.crypto.digest("sha256",B4t,t)}o(k4t,"hashLeaf")});var VMe=A(qX=>{"use strict";Object.defineProperty(qX,"__esModule",{value:!0});qX.verifyTLogSET=L4t;var HMe=wc(),P4t=Ui(),O4t=NC();function L4t(t,e){if(!(0,O4t.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(i=>{let s=F4t(t),a=Buffer.from(HMe.json.canonicalize(s),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return HMe.crypto.verify(a,i.publicKey,c)}))throw new P4t.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}o(L4t,"verifyTLogSET");function F4t(t){let{integratedTime:e,logIndex:r,logId:n,canonicalizedBody:i}=t;return{body:i.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:n.keyId.toString("hex")}}o(F4t,"toVerificationPayload")});var $Me=A($O=>{"use strict";Object.defineProperty($O,"__esModule",{value:!0});$O.verifyTLogBody=H4t;$O.verifyTLogInclusion=V4t;var zMe=OMe(),zO=Ui(),GX=LMe(),HX=FMe(),M4t=MMe(),U4t=qMe(),q4t=GMe(),G4t=VMe();function H4t(t,e){let{kind:r,version:n}=t.kindVersion,i;try{i=JSON.parse(t.canonicalizedBody.toString("utf8"))}catch{throw new zO.VerificationError({code:"TLOG_BODY_ERROR",message:"invalid canonicalized body"})}if(r!==i.kind||n!==i.apiVersion)throw new zO.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${i.kind}/${i.apiVersion}`});switch(r){case"dsse":if(n==GX.DSSE_API_VERSION_V1)return(0,GX.verifyDSSETLogBody)(i,e);{let s=zMe.Entry.fromJSON(i);return(0,GX.verifyDSSETLogBodyV2)(s,e)}case"intoto":return(0,M4t.verifyIntotoTLogBody)(i,e);case"hashedrekord":if(n==HX.HASHEDREKORD_API_VERSION_V1)return(0,HX.verifyHashedRekordTLogBody)(i,e);{let s=zMe.Entry.fromJSON(i);return(0,HX.verifyHashedRekordTLogBodyV2)(s,e)}default:throw new zO.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}o(H4t,"verifyTLogBody");function V4t(t,e){let r=!1;if(z4t(t)&&((0,G4t.verifyTLogSET)(t,e),r=!0),$4t(t)){let n=(0,U4t.verifyCheckpoint)(t,e);(0,q4t.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new zO.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}o(V4t,"verifyTLogInclusion");function z4t(t){return t.inclusionPromise!==void 0}o(z4t,"isTLogEntryWithInclusionPromise");function $4t(t){return t.inclusionProof!==void 0}o($4t,"isTLogEntryWithInclusionProof")});var YMe=A(jO=>{"use strict";Object.defineProperty(jO,"__esModule",{value:!0});jO.Verifier=void 0;var j4t=require("util"),rm=Ui(),jMe=SMe(),VX=BMe(),WMe=NMe(),JMe=$Me(),$X=class{static{o(this,"Verifier")}trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let n=this.verifyTimestamps(e),i=this.verifySigningKey(e,n);return this.verifyTLogs(e),this.verifySignature(e,i),r&&this.verifyPolicy(r,i.identity||{}),i}verifyTimestamps(e){let r=[];for(let n of e.timestamps)switch(n.$case){case"time
Line truncated
|
||||||
|
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}o(rp,"getBooleanInput");function SN(t,e){if(process.env.GITHUB_OUTPUT||"")return bx("OUTPUT",CL(t,e));process.stdout.write(fq.EOL),Au("set-output",{name:t},pu(e))}o(SN,"setOutput");function BN(t){process.exitCode=dq.Failure,ug(t)}o(BN,"setFailed");function np(){return process.env.RUNNER_DEBUG==="1"}o(np,"isDebug");function R(t){Au("debug",{},t)}o(R,"debug");function ug(t,e={}){Au("error",gL(e),t instanceof Error?t.toString():t)}o(ug,"error");function dt(t,e={}){Au("warning",gL(e),t instanceof Error?t.toString():t)}o(dt,"warning");function O(t){process.stdout.write(t+fq.EOL)}o(O,"info");function XJe(t){EL("group",t)}o(XJe,"startGroup");function ZJe(){EL("endgroup")}o(ZJe,"endGroup");function kr(t,e){return KJe(this,void 0,void 0,function*(){XJe(t);let r;try{r=yield e()}finally{ZJe()}return r})}o(kr,"group");function Wa(t,e){if(process.env.GITHUB_STATE||"")return bx("STATE",CL(t,e));Au("save-state",{name:t},pu(e))}o(Wa,"saveState");function Oce(t){return process.env[`STATE_${t}`]||""}o(Oce,"getState");var WI=N(require("fs"),1),B$=N(require("os"),1),x$=N(require("path"),1);var Fce=N(require("os"),1);function n0(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(n0,"toCommandValue");function Mce(t,e,r){let n=new hq(t,e,r);process.stdout.write(n.toString()+Fce.EOL)}o(Mce,"issueCommand");var Lce="::",hq=class{static{o(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=Lce+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let i=this.properties[n];i&&(r?r=!1:e+=",",e+=`${n}=${t9e(i)}`)}}return e+=`${Lce}${e9e(this.message)}`,e}};function e9e(t){return n0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(e9e,"escapeData");function t9e(t){return n0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(t9e,"escapeProperty");var Hce=N(require("os"),1);var qce=require("os"),i0=require("fs");var pq=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},{access:r9e,appendFile:n9e,writeFile:i9e}=i0.promises,Uce="GITHUB_STEP_SUMMARY";var Aq=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return pq(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Uce];if(!e)throw new Error(`Unable to find environment variable for $${Uce}. Check if your runtime environment supports job summaries.`);try{yield r9e(e,i0.constants.R_OK|i0.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let i=Object.entries(n).map(([s,a])=>` ${s}="${a}"`).join("");return r?`<${e}${i}>${r}</${e}>`:`<${e}${i}>`}write(e){return pq(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?i9e:n9e)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return pq(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(qce.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),i=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(i).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",i=e.map(a=>this.wrap("li",a)).join(""),s=this.wrap(n,i);return this.addRaw(s).addEOL()}addTable(e){let r=e.map(i=>{let s=i.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:u,rowspan:d}=a,f=c?"th":"td",h=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(f,l,h)}).join("");return this.wrap("tr",s)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:i,height:s}=n||{},a=Object.assign(Object.assign({},i&&{width:i}),s&&{height:s}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,i=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",s=this.wrap(i,e);return this.addRaw(s).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),i=this.wrap("blockquote",e,n);return this.addRLine truncated
|
||||||
|
`),e=e.replace(/\r/g,`
|
||||||
|
`));let i=e.split(`
|
||||||
|
`).map(s=>s.trim());for(let s of i)!s||s.startsWith("#")||n.patterns.push(new y0(s));return n.searchPaths.push(...Jq(n.patterns)),n})}static stat(e,r,n){return r3(this,void 0,void 0,function*(){let i;if(r.followSymbolicLinks)try{i=yield mg.promises.stat(e.path)}catch(s){if(s.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){jo(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw s}else i=yield mg.promises.lstat(e.path);if(i.isDirectory()&&r.followSymbolicLinks){let s=yield mg.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===s)){jo(`Symlink cycle detected for path '${e.path}' and realpath '${s}'`);return}n.push(s)}return i})}};var j7e=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function bde(t,e){return j7e(this,void 0,void 0,function*(){return yield zN.create(t,e)})}o(bde,"create");var c_=N(require("crypto"),1),Cg=N(require("fs"),1),cp=N(require("path"),1),phe=N(fhe(),1),Ahe=N(require("util"),1);var B0;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(B0||(B0={}));var Ji;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Ji||(Ji={}));var ao;(function(t){t.GNU="gnu",t.BSD="bsd"})(ao||(ao={}));var s_=2,o_=5e3,w3=5e3,S3=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,hhe=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,x0="cache.tar",B3="manifest.txt",JYt=10*Math.pow(1024,3),a_="cache read denied:";var Eg=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},rtt=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=t[s]&&function(a){return new Promise(function(c,l){a=t[s](a),i(c,l,a.done,a.value)})}}function i(s,a,c,l){Promise.resolve(l).then(function(u){s({value:u,done:c})},a)}},ntt="1.0";function v0(){return Eg(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let n;t?n=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?n="/Users":n="/home",e=cp.join(n,"actions","temp")}let r=cp.join(e,c_.randomUUID());return yield _u(r),r})}o(v0,"createTempDirectory");function Hc(t){return Cg.statSync(t).size}o(Hc,"getArchiveFileSizeInBytes");function x3(t){return Eg(this,void 0,void 0,function*(){var e,r,n,i,s;let a=[],c=(s=process.env.GITHUB_WORKSPACE)!==null&&s!==void 0?s:process.cwd(),l=yield bde(t.join(`
|
||||||
|
`),{implicitDescendants:!1});try{for(var u=!0,d=rtt(l.globGenerator()),f;f=yield d.next(),e=f.done,!e;u=!0){i=f.value,u=!1;let p=cp.relative(c,i).replace(new RegExp(`\\${cp.sep}`,"g"),"/");R(`Matched: ${p}`),p===""?a.push("."):a.push(`${p}`)}}catch(h){r={error:h}}finally{try{!u&&!e&&(n=d.return)&&(yield n.call(d))}finally{if(r)throw r.error}}return a})}o(x3,"resolvePaths");function N0(t){return Eg(this,void 0,void 0,function*(){return Ahe.promisify(Cg.unlink)(t)})}o(N0,"unlinkFile");function mhe(t){return Eg(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),R(`Checking ${e} ${r.join(" ")}`);try{yield so(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:o(i=>n+=i.toString(),"stdout"),stderr:o(i=>n+=i.toString(),"stderr")}})}catch(i){R(i.message)}return n=n.trim(),R(n),n})}o(mhe,"getVersion");function _0(){return Eg(this,void 0,void 0,function*(){let t=yield mhe("zstd",["--quiet"]),e=phe.clean(t);return R(`zstd version: ${e}`),t===""?Ji.Gzip:Ji.ZstdWithoutLong})}o(_0,"getCompressionMethod");function af(t){return t===Ji.Gzip?B0.Gzip:B0.Zstd}o(af,"getCacheFileName");function ghe(){return Eg(this,void 0,void 0,function*(){return Cg.existsSync(S3)?S3:(yield mhe("tar")).toLowerCase().includes("gnu tar")?li("tar"):""})}o(ghe,"getGnuTarPathOnWindows");function v3(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}o(v3,"assertDefined");function bg(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(ntt),c_.createHash("sha256").update(n.join("|")).digest("hex")}o(bg,"getCacheVersion");function yhe(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}o(yhe,"getRuntimeToken");var R0=N(require("http"),1),T3=N(require("https"),1);function N3(t){let e=t.protocol==="https:";if(itt(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new u_(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new u_(`http://${r}`)}else return}o(N3,"getProxyUrl");function itt(t){if(!t.hostname)return!1;let e=t.hostname;if(stt(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let i=[t.hostname.toUpperCase()];typeof n=="number"&&i.push(`${i[0]}:${n}`);for(let s of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(s==="*"||i.some(a=>a===s||a.endsWith(`.${s}`)||s.startsWith(".")&&a.endsWith(`${s}`)))return!0;return!1}o(itt,"checkBypass");function stt(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(stt,"isLoopbackAddress");var u_=class extends URL{static{o(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var cf=N(um(),1),Ehe=N(Yd(),1);var Zr=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},Pr;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(Pr||(Pr={}));var Yi;(function(t){t.Accept="accept",t.ContentType="content-type"})(Yi||(Yi={}));var Qu;(function(t){t.ApplicationJson="application/json"})(Qu||(Qu={}));var att=[Pr.MovedPermanently,Pr.ResourceMoved,Pr.SeeOther,Pr.TemporaryRedirect,Pr.PermanentRedirect],ctt=[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout],ltt=["OPTIONS","GET","DELETE","HEAD"],utt=10,dtt=5,Vc=class t extends Error{static{o(this,"HttpClientError")}const
Line truncated
|
||||||
|
${Ctt.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function m_(t){return t instanceof Ki?!0:up(t)&&t.name==="RestError"}o(m_,"isRestError");function ws(t,e){return Buffer.from(t,e)}o(ws,"stringToUint8Array");var g_=N(require("node:http"),1),y_=N(require("node:https"),1),U3=N(require("node:zlib"),1),Lhe=require("node:stream");var Yo=D0("ts-http-runtime");var btt={};function Q0(t){return t&&typeof t.pipe=="function"}o(Q0,"isReadableStream");function Ohe(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=o(()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)},"handler");t.on("close",r),t.on("end",r),t.on("error",r)})}o(Ohe,"isStreamComplete");function Fhe(t){return t&&typeof t.byteLength=="number"}o(Fhe,"isArrayBuffer");var E_=class extends Lhe.Transform{static{o(this,"ReportTransform")}loadedBytes=0;progressCallback;_transform(e,r,n){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),n()}catch(i){n(i)}}constructor(e){super(),this.progressCallback=e}},q3=class{static{o(this,"NodeHttpClient")}cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,n;if(e.abortSignal){if(e.abortSignal.aborted)throw new zc("The operation was aborted. Request has already been canceled.");n=o(u=>{u.type==="abort"&&r.abort()},"abortListener"),e.abortSignal.addEventListener("abort",n)}let i;e.timeout>0&&(i=setTimeout(()=>{let u=new Xa;Yo.info(`request to '${u.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let s=e.headers.get("Accept-Encoding"),a=s?.includes("gzip")||s?.includes("deflate"),c=typeof e.body=="function"?e.body():e.body;if(c&&!e.headers.has("Content-Length")){let u=Btt(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let g=e.onUploadProgress,m=new E_(g);m.on("error",E=>{Yo.error("Error in upload progress",E)}),Q0(c)?c.pipe(m):m.end(c),c=m}let u=await this.makeRequest(e,r,c);i!==void 0&&clearTimeout(i);let d=Itt(u),h={status:u.statusCode??0,headers:d,request:e};if(e.method==="HEAD")return u.resume(),h;l=a?wtt(u,d):u;let p=e.onDownloadProgress;if(p){let g=new E_(p);g.on("error",m=>{Yo.error("Error in download progress",m)}),l.pipe(g),l=g}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(h.status)?h.readableStreamBody=l:h.bodyAsText=await Stt(l),h}finally{if(e.abortSignal&&n){let u=Promise.resolve();Q0(c)&&(u=Ohe(c));let d=Promise.resolve();Q0(l)&&(d=Ohe(l)),Promise.all([u,d]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(f=>{Yo.warning("Error when cleaning up abortListener on httpRequest",f)})}}}makeRequest(e,r,n){let i=new URL(e.url),s=i.protocol!=="https:";if(s&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let c={agent:e.agent??this.getOrCreateAgent(e,s),hostname:i.hostname,path:`${i.pathname}${i.search}`,port:i.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((l,u)=>{let d=s?g_.default.request(c,l):y_.default.request(c,l);d.once("error",f=>{u(new Ki(f.message,{code:f.code??Ki.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let f=new zc("The operation was aborted. Rejecting from abort signal callback while making request.");d.destroy(f),u(f)}),n&&Q0(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):Fhe(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Yo.error("Unrecognized body type",n),u(new Ki("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?g_.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new g_.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return y_.default.globalAgent;let i=e.tlsSettings??btt,s=this.cachedHttpsAgents.get(i);return s&&s.options.keepAlive===!n||(Yo.info("No cached TLS Agent exist, creating a new Agent"),s=new y_.default.Agent({keepAlive:!n,...i}),this.cachedHttpsAgents.set(i,s)),s}}};function Itt(t){let e=co();for(let r of Object.keys(t.headers)){let n=t.headers[r];Array.isArray(n)?n.length>0&&e.set(r,n[0]):n&&e.set(r,n)}return e}o(Itt,"getResponseHeaders");function wtt(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=U3.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=U3.default.createInflate();return t.pipe(n),n}return t}o(wtt,"getDecodedResponseStream");function Stt(t){return new Promise((e,r)=>{let n=[];t.on("data",i=>{Buffer.isBuffer(i)?n.push(i):n.push(Buffer.from(i))}),t.on("end",()=>{e(Buffer.concat(n).toString("utf8"))}),t.on("error",i=>{i&&i?.name==="AbortError"?r(i):r(new Ki(`Error reading response as text: ${i.message}`,{code:Ki.PARSE_ERROR}))})})}o(Stt,"streamToText");function Btt(t){return t?Buffer.isBuffer(t)?t.length:
Line truncated
|
||||||
|
`;return e}o(rnt,"encodeHeaders");function nnt(t){return t instanceof Uint8Array?t.byteLength:H_(t)?t.size===-1?void 0:t.size:void 0}o(nnt,"getLength");function int(t){let e=0;for(let r of t){let n=nnt(r);if(n===void 0)return;e+=n}return e}o(int,"getTotalLength");async function snt(t,e,r){let n=[ws(`--${r}`,"utf-8"),...e.flatMap(s=>[ws(`\r
|
||||||
|
`,"utf-8"),ws(rnt(s.headers),"utf-8"),ws(`\r
|
||||||
|
`,"utf-8"),s.body,ws(`\r
|
||||||
|
--${r}`,"utf-8")]),ws(`--\r
|
||||||
|
\r
|
||||||
|
`,"utf-8")],i=int(n);i&&t.headers.set("Content-Length",i),t.body=await Gpe(n)}o(snt,"buildRequestBody");var O0="multipartPolicy",ont=70,ant=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function cnt(t){if(t.length>ont)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!ant.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}o(cnt,"assertValidBoundary");function z_(){return{name:O0,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",i=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!i)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,s,a]=i;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?cnt(r):r=tnt(),t.headers.set("Content-Type",`${s}; boundary=${r}`),await snt(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}o(z_,"multipartPolicy");function $_(){return A_()}o($_,"createEmptyPipeline");var Hpe=f_({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),jer=Hpe.logger;function Wc(t){return Hpe.createClientLogger(t)}o(Wc,"createClientLogger");var Jc=Wc("core-rest-pipeline");function oG(t={}){return b_({logger:Jc.info,...t})}o(oG,"logPolicy");var aG=I_;function cG(t={}){return w_(t)}o(cG,"redirectPolicy");var j_=N(require("node:os"),1),W_=N(require("node:process"),1);function Vpe(){return"User-Agent"}o(Vpe,"getHeaderName");async function zpe(t){if(W_.default&&W_.default.versions){let e=`${j_.default.type()} ${j_.default.release()}; ${j_.default.arch()}`,r=W_.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}o(zpe,"setPlatformSpecificData");var J_="1.22.2";function mnt(t){let e=[];for(let[r,n]of t){let i=n?`${r}/${n}`:r;e.push(i)}return e.join(" ")}o(mnt,"getUserAgentString");function $pe(){return Vpe()}o($pe,"getUserAgentHeaderName");async function Y_(t){let e=new Map;e.set("core-rest-pipeline",J_),await zpe(e);let r=mnt(e);return t?`${t} ${r}`:r}o(Y_,"getUserAgentValue");var jpe=$pe(),Wpe="userAgentPolicy";function lG(t={}){let e=Y_(t.userAgentPrefix);return{name:Wpe,async sendRequest(r,n){return r.headers.has(jpe)||r.headers.set(jpe,await e),n(r)}}}o(lG,"userAgentPolicy");var ho=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function uG(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:i}=e??{};return new Promise((s,a)=>{function c(){a(new ho(i??"The operation was aborted."))}o(c,"rejectOnAbort");function l(){n?.removeEventListener("abort",u)}o(l,"removeListeners");function u(){r?.(),l(),c()}if(o(u,"onAbort"),n?.aborted)return c();try{t(d=>{l(),s(d)},d=>{l(),a(d)})}catch(d){a(d)}n?.addEventListener("abort",u)})}o(uG,"createAbortablePromise");var bnt="The delay was aborted.";function L0(t,e){let r,{abortSignal:n,abortErrorMsg:i}=e??{};return uG(s=>{r=setTimeout(s,t)},{cleanupBeforeAbort:o(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:i??bnt})}o(L0,"delay");function uf(t){if(up(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}o(uf,"getErrorMessage");function Jpe(t){return up(t)}o(Jpe,"isError");function Tg(){return lp()}o(Tg,"randomUUID");var Lt=hp;var Ype=Symbol("rawContent");function fG(t){return typeof t[Ype]=="function"}o(fG,"hasRawContent");function Kpe(t){return fG(t)?t[Ype]():t}o(Kpe,"getRawContent");var K_=O0;function hG(){let t=z_();return{name:K_,sendRequest:o(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)fG(n.body)&&(n.body=Kpe(n.body));return t.sendRequest(e,r)},"sendRequest")}}o(hG,"multipartPolicy");var pG=S_;function AG(){return B_()}o(AG,"decompressResponsePolicy");function mG(t={}){return N_(t)}o(mG,"defaultRetryPolicy");function gG(){return __()}o(gG,"formDataPolicy");function df(t){return tG(t)}o(df,"getDefaultProxySettings");function yG(t,e){return U_(t,e)}o(yG,"proxyPolicy");var Xpe="setClientRequestIdPolicy";function EG(t="x-ms-client-request-id"){return{name:Xpe,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}o(EG,"setClientRequestIdPolicy");function CG(t){return q_(t)}o(CG,"agentPolicy");function bG(t){return G_(t)}o(bG,"tlsPolicy");var Rg={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function Zpe(t={}){let e=new IG(t.parentContext);return t.span&&(e=e.setValue(Rg.span,t.span)),t.namespace&&(e=e.setValue(Rg.namespace,t.namespace)),e}o(Zpe,"createTracingContext");var IG=class t{static{o(this,"TracingContextImpl")}_contextMap;constructor(e){this._contextMap=e i
Line truncated
|
||||||
|
`&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!zit(l)){let f;return l.trim().length===0?f="Invalid space after '<'.":f="Tag '"+l+"' is an invalid name.",en("InvalidTag",f,Xi(t,s))}let u=Uit(t,s);if(u===!1)return en("InvalidAttr","Attributes for '"+l+"' have open quote.",Xi(t,s));let d=u.value;if(s=u.index,d[d.length-1]==="/"){let f=s-d.length;d=d.substring(0,d.length-1);let h=OAe(d,e);if(h===!0)n=!0;else return en(h.err.code,h.err.msg,Xi(t,f+h.err.line))}else if(c)if(u.tagClosed){if(d.trim().length>0)return en("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Xi(t,a));if(r.length===0)return en("InvalidTag","Closing tag '"+l+"' has not been opened.",Xi(t,a));{let f=r.pop();if(l!==f.tagName){let h=Xi(t,f.tagStartPos);return en("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+h.line+", col "+h.col+") instead of closing tag '"+l+"'.",Xi(t,a))}r.length==0&&(i=!0)}}else return en("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Xi(t,s));else{let f=OAe(d,e);if(f!==!0)return en(f.err.code,f.err.msg,Xi(t,s-d.length+f.err.line));if(i===!0)return en("InvalidXml","Multiple possible root nodes found.",Xi(t,s));e.unpairedTags.indexOf(l)!==-1||r.push({tagName:l,tagStartPos:a}),n=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=PAe(t,s);continue}else if(t[s+1]==="?"){if(s=kAe(t,++s),s.err)return s}else break;else if(t[s]==="&"){let f=Hit(t,s);if(f==-1)return en("InvalidChar","char '&' is not expected.",Xi(t,s));s=f}else if(i===!0&&!QAe(t[s]))return en("InvalidXml","Extra text at the end",Xi(t,s));t[s]==="<"&&s--}}else{if(QAe(t[s]))continue;return en("InvalidChar","char '"+t[s]+"' is not expected.",Xi(t,s))}if(n){if(r.length==1)return en("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Xi(t,r[0].tagStartPos));if(r.length>0)return en("InvalidXml","Invalid '"+JSON.stringify(r.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return en("InvalidXml","Start tag expected.",1);return!0}o(uT,"validate");function QAe(t){return t===" "||t===" "||t===`
|
||||||
|
`||t==="\r"}o(QAe,"isWhiteSpace");function kAe(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return en("InvalidXml","XML declaration allowed only at the start of the document.",Xi(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}o(kAe,"readPI");function PAe(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}o(PAe,"readCommentAndCDATA");var Fit='"',Mit="'";function Uit(t,e){let r="",n="",i=!1;for(;e<t.length;e++){if(t[e]===Fit||t[e]===Mit)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){i=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:i}}o(Uit,"readAttributeStr");var qit=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function OAe(t,e){let r=cT(t,qit),n={};for(let i=0;i<r.length;i++){if(r[i][1].length===0)return en("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",J0(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return en("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",J0(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return en("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",J0(r[i]));let s=r[i][2];if(!Vit(s))return en("InvalidAttr","Attribute '"+s+"' is an invalid name.",J0(r[i]));if(!Object.prototype.hasOwnProperty.call(n,s))n[s]=1;else return en("InvalidAttr","Attribute '"+s+"' is repeated.",J0(r[i]))}return!0}o(OAe,"validateAttributeString");function Git(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}o(Git,"validateNumberAmpersand");function Hit(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Git(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}o(Hit,"validateAmpersand");function en(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}o(en,"getErrorObject");function Vit(t){return UG(t)}o(Vit,"validateAttrName");function zit(t){return UG(t)}o(zit,"validateTagName");function Xi(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}o(Xi,"getLineNumberForPosition");function J0(t){return t.startIndex+t[1].length}o(J0,"getPositionFromMatch");var LAe={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},FAe={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},MAe={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\Line truncated
|
||||||
|
`);let e=new vs("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let i=this.options,s=new X0(i.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let u=t.charCodeAt(c+1);if(u===47){let d=Og(t,">",c,"Closing Tag is not closed."),f=t.substring(c+2,d).trim();if(i.removeNSPrefix){let p=f.indexOf(":");p!==-1&&(f=f.substr(p+1))}f=WG(i.transformTagName,f,"",i).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let h=this.matcher.getCurrentTag();if(f&&i.unpairedTagsSet.has(f))throw new Error(`Unpaired tag can not be used as closing tag: </${f}>`);h&&i.unpairedTagsSet.has(h)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),n="",c=d}else if(u===63){let d=JG(t,c,!1,"?>");if(!d)throw new Error("Pi Tag is not closed.");n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let f=this.buildAttributesMap(d.tagExp,this.matcher,d.tagName,!0);if(f){let h=f[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(h)||1),s.setXmlVersion(Number(h)||1)}if(!(i.ignoreDeclaration&&d.tagName==="?xml"||i.ignorePiTags)){let h=new vs(d.tagName);h.add(i.textNodeName,""),d.tagName!==d.tagExp&&d.attrExpPresent&&i.ignoreAttributes!==!0&&(h[":@"]=f),this.addChild(r,h,this.readonlyMatcher,c)}c=d.closeIndex+1}else if(u===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let d=Og(t,"-->",c+4,"Comment is not closed.");if(i.commentPropName){let f=t.substring(c+4,d-2);n=this.saveTextToParentTag(n,r,this.readonlyMatcher),r.add(i.commentPropName,[{[i.textNodeName]:f}])}c=d}else if(u===33&&t.charCodeAt(c+2)===68){let d=s.readDocType(t,c);this.entityDecoder.addInputEntities(d.entities),c=d.i}else if(u===33&&t.charCodeAt(c+2)===91){let d=Og(t,"]]>",c,"CDATA is not closed.")-2,f=t.substring(c+9,d);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let h=this.parseTextData(f,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);h==null&&(h=""),i.cdataPropName?r.add(i.cdataPropName,[{[i.textNodeName]:f}]):r.add(i.textNodeName,h),c=d+2}else{let d=JG(t,c,i.removeNSPrefix);if(!d){let M=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${M}"`)}let f=d.tagName,h=d.rawTagName,p=d.tagExp,g=d.attrExpPresent,m=d.closeIndex;if({tagName:f,tagExp:p}=WG(i.transformTagName,f,p,i),i.strictReservedNames&&(f===i.commentPropName||f===i.cdataPropName||f===i.textNodeName||f===i.attributesGroupName))throw new Error(`Invalid tag name: ${f}`);r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher,!1));let E=r;E&&i.unpairedTagsSet.has(E.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let y=!1;p.length>0&&p.lastIndexOf("/")===p.length-1&&(y=!0,f[f.length-1]==="/"?(f=f.substr(0,f.length-1),p=f):p=p.substr(0,p.length-1),g=f!==p);let C=null,I={},B;B=pst(h),f!==e.tagname&&this.matcher.push(f,{},B),f!==p&&g&&(C=this.buildAttributesMap(p,this.matcher,f),C&&(I=hst(C,i))),f!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let Q=c;if(this.isCurrentNodeStopNode){let M="";if(y)c=d.closeIndex;else if(i.unpairedTagsSet.has(f))c=d.closeIndex;else{let G=this.readStopNodeData(t,h,m+1);if(!G)throw new Error(`Unexpected end of ${h}`);c=G.i,M=G.tagContent}let v=new vs(f);C&&(v[":@"]=C),v.add(i.textNodeName,M),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,v,this.readonlyMatcher,Q)}else{if(y){({tagName:f,tagExp:p}=WG(i.transformTagName,f,p,i));let M=new vs(f);C&&(M[":@"]=C),this.addChild(r,M,this.readonlyMatcher,Q),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(i.unpairedTagsSet.has(f)){let M=new vs(f);C&&(M[":@"]=C),this.addChild(r,M,this.readonlyMatcher,Q),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=d.closeIndex;continue}else{let M=new vs(f);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),C&&(M[":@"]=C),this.addChild(r,M,this.readonlyMatcher,Q),r=M}n="",c=m}}}else n+=t[c];return e.child},"parseXml");function Cst(t,e,r,n){this.options.captureMetaData||(n=void 0);let i=this.options.jPath?r.toString():r,s=this.options.updateTag(e.tagname,i,e[":@"]);s===!1||(typeof s=="string"&&(e.tagname=s),t.addChild(e,n))}o(Cst,"addChild");function bst(t,e,r){let n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){let i=this.options.jPath?r.toString():r;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,i)))return t}if(n.tagFilter){let i=this.options.jPath?r.toString():r;if(!n.tagFilter(e,i))return t}return this.entityDecoder.decode(t)}o(bst,"replaceEntitiesValue");function Ist(t,e,r,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}o(Ist,"saveTextToParentTag");function wst(){return this.stopNodeExpressionsSet.Line truncated
|
||||||
|
`;function Dst(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(tH(r)==="?xml"){let i=r[":@"];if(i){let s=e.attributeNamePrefix+"version";if(i[s])return i[s]}}return"1.0"}o(Dst,"detectXmlVersionFromArray");function sme(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(sme,"resolveTagName");function eH(t,e){let r="";e.format&&(r=Rst);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let a=0;a<e.stopNodes.length;a++){let c=e.stopNodes[a];typeof c=="string"?n.push(new mo(c)):c instanceof mo&&n.push(c)}let i=Dst(t,e),s=new Xc;return ome(t,e,r,s,n,i)}o(eH,"toXml");function ome(t,e,r,n,i,s){let a="",c=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let l=t.toString();return l=ZG(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=tH(u);if(d===void 0)continue;let h=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:sme(d,!1,e,n,s),p=Qst(u[":@"],e);n.push(h,p);let g=Pst(n,i);if(h===e.textNodeName){let I=u[d];g||(I=e.tagValueProcessor(h,I),I=ZG(I,e)),c&&(a+=r),a+=I,c=!1,n.pop();continue}else if(h===e.cdataPropName){c&&(a+=r);let I=u[d][0][e.textNodeName],B=AT(I);a+=`<![CDATA[${B}]]>`,c=!1,n.pop();continue}else if(h===e.commentPropName){let I=u[d][0][e.textNodeName],B=pT(I);a+=r+`<!--${B}-->`,c=!0,n.pop();continue}else if(h[0]==="?"){let I=ime(u[":@"],e,g,n,s);a+=(h==="?xml"?"":r)+`<${h}${I}?>`,c=!0,n.pop();continue}let m=r;m!==""&&(m+=e.indentBy);let E=ime(u[":@"],e,g,n,s),y=r+`<${h}${E}`,C;g?C=ame(u[d],e):C=ome(u[d],e,m,n,i,s),e.unpairedTags.indexOf(h)!==-1?e.suppressUnpairedNode?a+=y+">":a+=y+"/>":(!C||C.length===0)&&e.suppressEmptyNode?a+=y+"/>":C&&C.endsWith(">")?a+=y+`>${C}${r}</${h}>`:(a+=y+">",C&&r!==""&&(C.includes("/>")||C.includes("</"))?a+=r+e.indentBy+C+r:a+=C,a+=`</${h}>`),c=!0,n.pop()}return a}o(ome,"arrToStr");function Qst(t,e){if(!t||e.ignoreAttributes)return null;let r={},n=!1;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let s=i.startsWith(e.attributeNamePrefix)?i.substr(e.attributeNamePrefix.length):i;r[s]=pf(t[i]),n=!0}return n?r:null}o(Qst,"extractAttributeValues");function ame(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let n=0;n<t.length;n++){let i=t[n],s=tH(i);if(s===e.textNodeName)r+=i[s];else if(s===e.cdataPropName)r+=i[s][0][e.textNodeName];else if(s===e.commentPropName)r+=i[s][0][e.textNodeName];else{if(s&&s[0]==="?")continue;if(s){let a=kst(i[":@"],e),c=ame(i[s],e);!c||c.length===0?r+=`<${s}${a}/>`:r+=`<${s}${a}>${c}</${s}>`}}}return r}o(ame,"getRawContent");function kst(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let i=t[n];i===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${pf(i)}"`}return r}o(kst,"attr_to_str_raw");function tH(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(Object.prototype.hasOwnProperty.call(t,n)&&n!==":@")return n}}o(tH,"propName");function ime(t,e,r,n,i){let s="";if(t&&!e.ignoreAttributes)for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=a.substr(e.attributeNamePrefix.length),l=r?c:sme(c,!0,e,n,i),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=ZG(u,e)),u===!0&&e.suppressBooleanAttributes?s+=` ${l}`:s+=` ${l}="${pf(u)}"`}return s}o(ime,"attr_to_str");function Pst(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}o(Pst,"checkStopNode");function ZG(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}o(ZG,"replaceEntitiesValue");function rH(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}o(rH,"getIgnoreAttributesFn");var Ost={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:o(function(t,e){return e},"tagValueProcessor"),attributeValueProcessor:o(function(t,e){return e},"attributeValueProcessor"),preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function _s(t){if(this.options=Object.assign({},Ost,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&ArraLine truncated
|
||||||
|
`,this.newLine=`
|
||||||
|
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(_s,"Builder");function Lst(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let i=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(i)return i}let n=r[e.attributeNamePrefix+"version"];if(n)return n}return"1.0"}o(Lst,"detectXmlVersionFromObj");function nH(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(nH,"resolveTagName");_s.prototype.build=function(t){if(this.options.preserveOrder)return eH(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Xc,r=Lst(t,this.options);return this.j2x(t,0,e,r).val}};_s.prototype.j2x=function(t,e,r,n){let i="",s="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let a=this.options.jPath?r.toString():r,c=this.checkStopNode(r);for(let l in t){if(!Object.prototype.hasOwnProperty.call(t,l))continue;let d=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||l[0]==="?"?l:nH(l,!1,this.options,r,n);if(typeof t[l]>"u")this.isAttribute(l)&&(s+="");else if(t[l]===null)this.isAttribute(l)||d===this.options.cdataPropName||d===this.options.commentPropName?s+="":d[0]==="?"?s+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(t[l]instanceof Date)s+=this.buildTextValNode(t[l],d,"",e,r);else if(typeof t[l]!="object"){let f=this.isAttribute(l);if(f&&!this.ignoreAttributesFn(f,a)){let h=nH(f,!0,this.options,r,n);i+=this.buildAttrPairStr(h,""+t[l],c)}else if(!f)if(l===this.options.textNodeName){let h=this.options.tagValueProcessor(l,""+t[l]);s+=this.replaceEntitiesValue(h)}else{r.push(d);let h=this.checkStopNode(r);if(r.pop(),h){let p=""+t[l];p===""?s+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:s+=this.indentate(e)+"<"+d+">"+p+"</"+d+this.tagEndChar}else s+=this.buildTextValNode(t[l],d,"",e,r)}}else if(Array.isArray(t[l])){let f=t[l].length,h="",p="";for(let g=0;g<f;g++){let m=t[l][g];if(!(typeof m>"u"))if(m===null)d[0]==="?"?s+=this.indentate(e)+"<"+d+"?"+this.tagEndChar:s+=this.indentate(e)+"<"+d+"/"+this.tagEndChar;else if(typeof m=="object")if(this.options.oneListGroup){r.push(d);let E=this.j2x(m,e+1,r,n);r.pop(),h+=E.val,this.options.attributesGroupName&&m.hasOwnProperty(this.options.attributesGroupName)&&(p+=E.attrStr)}else h+=this.processTextOrObjNode(m,d,e,r,n);else if(this.options.oneListGroup){let E=this.options.tagValueProcessor(d,m);E=this.replaceEntitiesValue(E),h+=E}else{r.push(d);let E=this.checkStopNode(r);if(r.pop(),E){let y=""+m;y===""?h+=this.indentate(e)+"<"+d+this.closeTag(d)+this.tagEndChar:h+=this.indentate(e)+"<"+d+">"+y+"</"+d+this.tagEndChar}else h+=this.buildTextValNode(m,d,"",e,r)}}this.options.oneListGroup&&(h=this.buildObjectNode(h,d,p,e)),s+=h}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let f=Object.keys(t[l]),h=f.length;for(let p=0;p<h;p++){let g=nH(f[p],!0,this.options,r,n);i+=this.buildAttrPairStr(g,""+t[l][f[p]],c)}}else s+=this.processTextOrObjNode(t[l],d,e,r,n)}return{attrStr:i,val:s}};_s.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+pf(e)+'"'};function Fst(t,e,r,n,i){let s=this.extractAttributes(t);if(n.push(e,s),this.checkStopNode(n)){let l=this.buildRawContent(t),u=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(l,e,u,r)}let c=this.j2x(t,r+1,n,i);return n.pop(),e[0]==="?"?this.buildTextValNode("",e,c.attrStr,r,n):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,c.attrStr,r,n):this.buildObjectNode(c.val,e,c.attrStr,r)}o(Fst,"processTextOrObjNode");_s.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let n=t[this.options.attributesGroupName];for(let i in n){if(!Object.prototype.hasOwnProperty.call(n,i))continue;let s=i.startsWith(this.options.attributeNamePrefix)?i.substring(this.options.attributeNamePrefix.length):i;e[s]=pf(n[i]),r=!0}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let i=this.isAttribute(n);i&&(e[i]=pf(t[n]),r=!0)}return r?e:null};_s.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.o
Line truncated
|
||||||
|
`)+`
|
||||||
|
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),n=this.factory.computeHMACSHA256(r);return e.headers.set(Ve.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===Ve.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(i=>i.name.toLowerCase().startsWith(Ve.PREFIX_FOR_STORAGE));r.sort((i,s)=>xT(i.name.toLowerCase(),s.name.toLowerCase())),r=r.filter((i,s,a)=>!(s>0&&i.name.toLowerCase()===a[s-1].name.toLowerCase()));let n="";return r.forEach(i=>{n+=`${i.name.toLowerCase().trimRight()}:${i.value.trimLeft()}
|
||||||
|
`}),n}getCanonicalizedResourceString(e){let r=wT(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let i=ST(e.url),s={};if(i){let a=[];for(let c in i)if(Object.prototype.hasOwnProperty.call(i,c)){let l=c.toLowerCase();s[l]=i[c],a.push(l)}a.sort();for(let c of a)n+=`
|
||||||
|
${c}:${decodeURIComponent(s[c])}`}return n}};var Or=class extends bp{static{o(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new nI(e,r,this)}computeHMACSHA256(e){return(0,Ame.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var Nn=Wc("storage-common");var ea;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(ea||(ea={}));var mf={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:ea.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},jst=new ho("The operation was aborted."),iI=class extends Zc{static{o(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=mf){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:mf.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):mf.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:mf.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:mf.maxRetryDelayInMs):mf.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:mf.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:mf.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,n){let i=e.clone(),s=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||n%2===1;s||(i.url=IT(i.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(i.url=Af(i.url,Fu.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(Nn.info(`RetryPolicy: =====> Try=${n} ${s?"Primary":"Secondary"}`),a=await this._nextPolicy.sendRequest(i),!this.shouldRetry(s,n,a))return a;r=r||!s&&a.status===404}catch(c){if(Nn.error(`RetryPolicy: Caught error, message: ${c.message}, code: ${c.code}`),!this.shouldRetry(s,n,a,c))throw c}return await this.delay(s,n,e.abortSignal),this.attemptSendRequest(e,r,++n)}shouldRetry(e,r,n,i){if(r>=this.retryOptions.maxTries)return Nn.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let s=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(i){for(let a of s)if(i.name.toUpperCase().includes(a)||i.message.toUpperCase().includes(a)||i.code&&i.code.toString().toUpperCase()===a)return Nn.info(`RetryPolicy: Network error ${a} found, will retry.`),!0}if(n||i){let a=n?n.status:i?i.statusCode:0;if(!e&&a===404)return Nn.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return Nn.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(Ve.X_MS_CopySourceErrorCode);if(a!==void 0)switch(a){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return i?.code==="PARSE_ERROR"&&i?.message.startsWith('Error "Error: Unclosed root tag')?(Nn.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,n){let i=0;if(e)switch(this.retryOptions.retryPolicyType){case ea.EXPONENTIAL:i=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case ea.FIXED:i=this.retryOptions.retryDelayInMs;break}else i=Math.random()*1e3;return Nn.info(`RetryPolicy: Delay for ${i}ms`),BT(i,n,jst)}};var sI=class{static{o(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new iI(e,r,this.retryOptions)}};var Wst="storageBrowserPolicy";function mme(){return{name:Wst,async sendRequest(t,e){return Lt||((t.method==="GET"||t.method==="HEAD")&&(t.url=Af(t.url,Fu.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(Ve.COOKIE),t.headers.delete(Ve.CONTENT_LENGTH)),e(t)}}}o(mme,"storageBrowserPolicy");var Jst="StorageCorrectContentLengthPolicy";function gme(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(Ve.CONTENT_LENGTH,Buffer.byteLength(e.body))}return o(t,"correctContentLength"),{name:Jst,async sendRequest(e,r){return t(e),r(e)}}}o(gme,"storageCorrectContentLengthPolicy");var Yst="storageRetryPolicy",Fg={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:ea.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},Kst=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],Xst=new ho("The operation was aborted.");function yme(t={}){let e=t.retryPolicyType??Fg.retryPolicyType,r=t.maxTries??Fg.maxTries,n=t.retryDelayInMs??Fg.retryDelayInMs,i=t.maxRetryDelayInMs??Fg.maxRetryDelayInMs,s=t.secondaryHost??Fg.secondaryHost,a=t.tryTimeoutInMs??Fg.tryTimeoutInMs;function c({isPrimaryRetry:u,attempt:d,response:f,error:h}){if(d>=r)return
Line truncated
|
||||||
|
`)+`
|
||||||
|
`+n(s)+i(s),c=(0,Eme.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");s.headers.set(Ve.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}o(e,"signRequest");function r(s,a){let c=s.headers.get(a);return!c||a===Ve.CONTENT_LENGTH&&c==="0"?"":c}o(r,"getHeaderValueToSign");function n(s){let a=[];for(let[l,u]of s.headers)l.toLowerCase().startsWith(Ve.PREFIX_FOR_STORAGE)&&a.push({name:l,value:u});a.sort((l,u)=>xT(l.name.toLowerCase(),u.name.toLowerCase())),a=a.filter((l,u,d)=>!(u>0&&l.name.toLowerCase()===d[u-1].name.toLowerCase()));let c="";return a.forEach(l=>{c+=`${l.name.toLowerCase().trimRight()}:${l.value.trimLeft()}
|
||||||
|
`}),c}o(n,"getCanonicalizedHeadersString");function i(s){let a=wT(s.url)||"/",c="";c+=`/${t.accountName}${a}`;let l=ST(s.url),u={};if(l){let d=[];for(let f in l)if(Object.prototype.hasOwnProperty.call(l,f)){let h=f.toLowerCase();u[h]=l[f],d.push(h)}d.sort();for(let f of d)c+=`
|
||||||
|
${f}:${decodeURIComponent(u[f])}`}return c}return o(i,"getCanonicalizedResourceString"),{name:Zst,async sendRequest(s,a){return e(s),a(s)}}}o(cH,"storageSharedKeyCredentialPolicy");var eot="storageRequestFailureDetailsParserPolicy";function Cme(){return{name:eot,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
|
||||||
|
`),r}}}}o(Cme,"storageRequestFailureDetailsParserPolicy");var bme=require("node:crypto");var vT=class{static{o(this,"UserDelegationKeyCredential")}accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,bme.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var NT="12.31.0",_T="2026-02-06";var TT="https://storage.azure.com/.default",Mu={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Za="",lH="*",tot=1*1024*1024;var rot=4*tot;var Ime="AES256",wme="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",Sme=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],Bme=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],xme="BlobUsesCustomerSpecifiedEncryption",vme="BlobDoesNotUseCustomerSpecifiedEncryption",Nme=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Uu(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}o(Uu,"isPipelineLike");var oI=class{static{o(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function tn(t,e={}){t||(t=new Er);let r=new oI([],e);return r._credential=t,r}o(tn,"newPipeline");function not(t){let e=[iot,_me,sot,oot,aot,cot,uot];if(t.factories.length){let r=t.factories.filter(n=>!e.some(i=>i(n)));if(r.length){let n=r.some(i=>lot(i));return{wrappedPolicies:FG(r),afterRetry:n}}}}o(not,"processDownlevelPipeline");function uH(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?MG(e):aH(),t._coreHttpClient=n);let i=t._corePipeline;if(!i){let s=`azsdk-js-azure-storage-blob/${NT}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${s}`:`${s}`;i=G0({...r,loggingOptions:{additionalAllowedHeaderNames:Sme,additionalAllowedQueryParameters:Bme,logger:gT.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:mT,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:sH,serializerOptions:{xml:{xmlCharKey:"#"}}}}),i.removePolicy({phase:"Retry"}),i.removePolicy({name:pG}),i.addPolicy(gme()),i.addPolicy(yme(r.retryOptions),{phase:"R
Line truncated
|
||||||
|
`),s=e.computeHMACSHA256(i);return{sasQueryParameters:new ic(t.version,s,n,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:i}}o(nct,"generateBlobSASQueryParameters20150405");function ict(t,e){if(t=Tp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:s}}o(ict,"generateBlobSASQueryParameters20181109");function sct(t,e){if(t=Tp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:s}}o(sct,"generateBlobSASQueryParameters20201206");function oct(t,e){if(t=Tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ft(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ft(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:s}}o(oct,"generateBlobSASQueryParametersUDK20181109");function act(t,e){if(t=Tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ft(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ft(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:s}}o(act,"generateBlobSASQueryParametersUDK20200210");function cct(t,e){if(t=Tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ft(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ft(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:s}}o(cct,"generateBlobSASQueryParametersUDK20201206");function lct(t,e){if(t=Tp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let i;t.permissions&&(t.blobName?i=ml.parse(t.permissions.toString()).toString():i=gl.parse(t.permissions.toString()).toString());let s=[i||"",t.startsOn?Ft(t.startsOn,!1):"",t.expiresOn?Ft(t.expiresOn,!1):"",_p(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Ft(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Ft(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?nc(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
|
||||||
|
`),a=e.computeHMACSHA256(s);return{sasQueryParameters:new ic(t.version,a,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:s}}o(lct,"generateBlobSASQueryParametersUDK20250705");function _p(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}o(_p,"getCanonicalName");function Tp(t){let e=t.version?t.version:_T;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}o(Tp,"SASSignatureValuesSanityCheckAndAutofill");var yI=class{static{o(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=Tg()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Za||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Za||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ce.withSpan("BlobLeaseClient-acquireLease",r,async n=>_e(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:n.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Za||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Za||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ce.withSpan("BlobLeaseClient-changeLease",r,async n=>{let i=_e(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:n.tracingOptions}));return this._leaseId=e,i})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Za||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Za||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ce.withSpan("BlobLeaseClient-releaseLease",e,async r=>_e(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Za||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Za||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default val
Line truncated
|
||||||
|
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};Yg.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var kp=class extends Error{static{o(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
|
||||||
|
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};kp.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var NI=class extends Error{static{o(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var Elt=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},ez=class{static{o(this,"UploadProgress")}constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),n=Date.now()-this.startTime,i=(e/(1024*1024)/(n/1e3)).toFixed(1);O(`Sent ${e} of ${this.contentLength} (${r}%), ${i} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=o(()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))},"displayCallback");this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function Dye(t,e,r){return Elt(this,void 0,void 0,function*(){var n;let i=new sc(t),s=i.getBlockBlobClient(),a=new ez((n=r?.archiveSizeBytes)!==null&&n!==void 0?n:0),c={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:a.onProgress()};try{a.startDisplayTimer(),R(`BlobClient: ${i.name}:${i.accountName}:${i.containerName}`);let l=yield s.uploadFile(e,c);if(l._response.status>=400)throw new kR(`uploadCacheArchiveSDK: upload failed with status code ${l._response.status}`);return l}catch(l){throw dt(`uploadCacheArchiveSDK: internal error uploading cache archive: ${l.message}`),l}finally{a.stopDisplayTimer()}})}o(Dye,"uploadCacheArchiveSDK");var kye=N(require("buffer"),1),yl=N(require("fs"),1),Pye=N(require("stream"),1),Oye=N(require("util"),1);var PR=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function OR(t){return t?t>=200&&t<300:!1}o(OR,"isSuccessStatusCode");function Clt(t){return t?t>=500:!0}o(Clt,"isServerErrorStatusCode");function blt(t){return t?[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout].includes(t):!1}o(blt,"isRetryableStatusCode");function Ilt(t){return PR(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}o(Ilt,"sleep");function Qye(t,e,r){return PR(this,arguments,void 0,function*(n,i,s,a=s_,c=o_,l=void 0){let u="",d=1;for(;d<=a;){let f,h,p=!1;try{f=yield i()}catch(g){l&&(f=l(g)),p=!0,u=g.message}if(f&&(h=s(f),!Clt(h)))return f;if(h&&(p=blt(h),u=`Cache service responded with ${h}`),R(`${n} - Attempt ${d} of ${a} failed with error: ${u}`),!p){R(`${n} - Error is not retryable`);break}yield Ilt(c),d++}throw Error(`${n} failed: ${u}`)})}o(Qye,"retry");function _I(t,e){return PR(this,arguments,void 0,function*(r,n,i=s_,s=o_){return yield Qye(r,n,a=>a.statusCode,i,s,a=>{if(a instanceof Vc)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}o(_I,"retryTypedResponse");function Kg(t,e){return PR(this,arguments,void 0,function*(r,n,i=s_,s=o_){return yield Qye(r,n,a=>a.message.statusCode,i,s)})}o(Kg,"retryHttpClientResponse");var sa=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function wlt(t,e){return sa(this,void 0,void 0,function*(){yield Oye.promisify(Pye.pipeline)(t.message,e)})}o(wlt,"pipeResponseToStream");var LR=class{static{o(this,"DownloadProgress")}constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,R(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){th
Line truncated
|
||||||
|
Other caches with similar key:`);for(let c of s?.artifactCaches||[])R(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}o(Tlt,"printCachesListForDiagnostics");function sz(t,e,r){return Rs(this,void 0,void 0,function*(){let n=new Jye.URL(t),i=Uye(r);n.hostname.endsWith(".blob.core.windows.net")?i.useAzureSdk?yield Fye(t,e,i):i.concurrentBlobDownloads?yield Lye(t,e,i):yield FR(t,e):yield FR(t,e)})}o(sz,"downloadCache");function Kye(t,e,r){return Rs(this,void 0,void 0,function*(){let n=iz(),i=bg(e,r?.compressionMethod,r?.enableCrossOsArchive),s={key:t,version:i,cacheSize:r?.cacheSize};return yield _I("reserveCache",()=>Rs(this,void 0,void 0,function*(){return n.postJson(RI("caches"),s)}))})}o(Kye,"reserveCache");function Wye(t,e){return`bytes ${t}-${e}/*`}o(Wye,"getContentRange");function Rlt(t,e,r,n,i){return Rs(this,void 0,void 0,function*(){R(`Uploading chunk of size ${i-n+1} bytes at offset ${n} with content range: ${Wye(n,i)}`);let s={"Content-Type":"application/octet-stream","Content-Range":Wye(n,i)},a=yield Kg(`uploadChunk (start: ${n}, end: ${i})`,()=>Rs(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),s)}));if(!OR(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}o(Rlt,"uploadChunk");function Dlt(t,e,r,n){return Rs(this,void 0,void 0,function*(){let i=Hc(r),s=RI(`caches/${e.toString()}`),a=Xg.openSync(r,"r"),c=tz(n),l=v3("uploadConcurrency",c.uploadConcurrency),u=v3("uploadChunkSize",c.uploadChunkSize),d=[...new Array(l).keys()];R("Awaiting all uploads");let f=0;try{yield Promise.all(d.map(()=>Rs(this,void 0,void 0,function*(){for(;f<i;){let h=Math.min(i-f,u),p=f,g=f+h-1;f+=u,yield Rlt(t,s,()=>Xg.createReadStream(r,{fd:a,start:p,end:g,autoClose:!1}).on("error",m=>{throw new Error(`Cache upload failed because file read failed with ${m.message}`)}),p,g)}})))}finally{Xg.closeSync(a)}})}o(Dlt,"uploadFile");function Qlt(t,e,r){return Rs(this,void 0,void 0,function*(){let n={size:r};return yield _I("commitCache",()=>Rs(this,void 0,void 0,function*(){return t.postJson(RI(`caches/${e.toString()}`),n)}))})}o(Qlt,"commitCache");function oz(t,e,r,n){return Rs(this,void 0,void 0,function*(){if(tz(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield Dye(r,e,n)}else{let s=iz();R("Upload cache"),yield Dlt(s,t,e,n),R("Commiting cache");let a=Hc(e);O(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield Qlt(s,t,a);if(!OR(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);O("Cache saved successfully")}})}o(oz,"saveCache");var zEe=N(FEe(),1),sn=N(nn(),1),Eo=N(nn(),1),Mp=N(nn(),1),Up=N(nn(),1),qp=N(nn(),1);var e$=N(nn(),1),t$=N(nn(),1),GEe=N(nn(),1),HEe=N(nn(),1),VEe=N(nn(),1);var Kz=N(nn(),1),Xz=N(nn(),1),MEe=N(nn(),1),UEe=N(nn(),1),qEe=N(nn(),1);var Zz=class extends qEe.MessageType{static{o(this,"CacheScope$Type")}constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,UEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,MEe.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,i){let s=i??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:s.scope=e.string();break;case 2:s.permission=e.int64().toString();break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?Xz.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,Kz.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,Kz.WireType.Varint).int64(e.permission);let i=n.writeUnknownFields;return i!==!1&&(i==!0?Xz.UnknownFieldHandler.onWrite:i)(this.typeName,e,r),r}},B2=new Zz;var r$=class extends VEe.MessageType{static{o(this,"CacheMetadata$Type")}constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:o(()=>B2,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,HEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,GEe.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,i){let s=i??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,l]=e.tag();switch(c){case 1:s.repositoryId=e.int64().toString();break;case 2:s.scope.push(B2.internalBinaryRead(e,e.uint32(),n));break;default:let u=n.readUnknownField;if(u==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${l}) for ${this.typeName}`);let d=e.skip(l);u!==!1&&(u===!0?t$.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.repositoryId!==
Line truncated
|
||||||
|
`));let n=yield g$(r,"create");yield y$(n,t)})}o(C$,"createTar");var py=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},cc=class t extends Error{static{o(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},Gp=class t extends Error{static{o(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},b$="cache write denied:",_2=class t extends Gp{static{o(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},JEe=a_,T2=class t extends Error{static{o(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},R2=class t extends Error{static{o(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function YEe(t){if(!t||t.length===0)throw new cc("Path Validation Error: At least one directory or file path is required")}o(YEe,"checkPaths");function I$(t){if(t.length>512)throw new cc(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new cc(`Key Validation Error: ${t} cannot contain commas.`)}o(I$,"checkKey");function w$(){return TI()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}o(w$,"isFeatureAvailable");function KEe(t,e,r,n){return py(this,arguments,void 0,function*(i,s,a,c,l=!1){let u=TI();R(`Cache service version: ${u}`),YEe(i);let d=nz();if(!Gye(d)){O(`Cache restore skipped: the effective cache-mode '${d}' does not permit reads.`),R(`Skipped restore for paths [${i.join(", ")}] with primary key '${s}'.`);return}return u==="v2"?yield Wdt(i,s,a,c,l):yield jdt(i,s,a,c,l)})}o(KEe,"restoreCache");function jdt(t,e,r,n){return py(this,arguments,void 0,function*(i,s,a,c,l=!1){var u;a=a||[];let d=[s,...a];if(R("Resolved Keys:"),R(JSON.stringify(d)),d.length>10)throw new cc("Key Validation Error: Keys are limited to a maximum of 10.");for(let p of d)I$(p);let f=yield _0(),h="";try{let p;try{p=yield Yye(d,i,{compressionMethod:f,enableCrossOsArchive:l})}catch(m){let E=(u=m?.message)!==null&&u!==void 0?u:"";throw E.includes(JEe)?new T2(E):m}if(!p?.archiveLocation)return;if(c?.lookupOnly)return O("Lookup only - skipping download"),p.cacheKey;h=jI.join(yield v0(),af(f)),R(`Archive Path: ${h}`),yield sz(p.archiveLocation,h,c),np()&&(yield $I(h,f));let g=Hc(h);return O(`Cache Size: ~${Math.round(g/(1024*1024))} MB (${g} B)`),yield E$(h,f),O("Cache restored successfully"),p.cacheKey}catch(p){let g=p;if(g.name===cc.name)throw p;g instanceof Vc&&typeof g.statusCode=="number"&&g.statusCode>=500?ug(`Failed to restore: ${p.message}`):dt(`Failed to restore: ${p.message}`)}finally{try{yield N0(h)}catch(p){R(`Failed to delete archive: ${p}`)}}})}o(jdt,"restoreCacheV1");function Wdt(t,e,r,n){return py(this,arguments,void 0,function*(i,s,a,c,l=!1){var u;c=Object.assign(Object.assign({},c),{useAzureSdk:!0}),a=a||[];let d=[s,...a];if(R("Resolved Keys:"),R(JSON.stringify(d)),d.length>10)throw new cc("Key Validation Error: Keys are limited to a maximum of 10.");for(let h of d)I$(h);let f="";try{let h=m$(),p=yield _0(),g={key:s,restoreKeys:a,version:bg(i,p,l)},m;try{m=yield h.GetCacheEntryDownloadURL(g)}catch(C){let I=(u=C?.message)!==null&&u!==void 0?u:"";throw I.includes(JEe)?new T2(I):C}if(!m.ok){R(`Cache not found for version ${g.version} of keys: ${d.join(", ")}`);return}if(g.key!==m.matchedKey?O(`Cache hit for restore-key: ${m.matchedKey}`):O(`Cache hit for: ${m.matchedKey}`),c?.lookupOnly)return O("Lookup only - skipping download"),m.matchedKey;f=jI.join(yield v0(),af(p)),R(`Archive path: ${f}`),R(`Starting download of archive to: ${f}`),yield sz(m.signedDownloadUrl,f,c);let y=Hc(f);return O(`Cache Size: ~${Math.round(y/(1024*1024))} MB (${y} B)`),np()&&(yield $I(f,p)),yield E$(f,p),O("Cache restored successfully"),m.matchedKey}catch(h){let p=h;if(p.name===cc.name)throw h;p instanceof Vc&&typeof p.statusCode=="number"&&p.statusCode>=500?ug(`Failed to restore: ${h.message}`):dt(`Failed to restore: ${h.message}`)}finally{try{f&&(yield N0(f))}catch(h){R(`Failed to delete archive: ${h}`)}}})}o(Wdt,"restoreCacheV2");function S$(t,e,r){return py(this,arguments,void 0,function*(n,i,s,a=!1){let c=TI();R(`Cache service version: ${c}`),YEe(n),I$(i);let l=nz();return Hye(l)?c==="v2"?yield Ydt(n,i,s,a):yield Jdt(n,i,s,a):(O(`Cache save skipped: the effective cache-mode '${l}' does not permit writes.`),R(`Skipped save for paths [${n.join(", ")}] with key '${i}'.`),-1)})}o(S$,"saveCache");function Jdt(t,e,r){return py(this,arguments,void
Line truncated
|
||||||
|
`,a).length:f,u?(c===null?0:c.length)+l.length:0,u?l.length+f:0);return h<p},"__needMoreData"),parse:o(function(n,i,s,a){let{bom:c,comment_no_infix:l,delimiter_auto:u,encoding:d,from_line:f,ltrim:h,max_record_size:p,raw:g,relax_quotes:m,rtrim:E,skip_empty_lines:y,to:C,to_line:I}=this.options,{comment:B,escape:Q,quote:M,record_delimiter:v}=this.options,{bomSkipped:G,delimiterDiscovered:D,delimiterBufPrevious:V,rawBuffer:z,escapeIsQuote:J}=this.state;if(!D&&u){let $;if(V===void 0?$=n:V!==void 0&&n===void 0?$=V:$=Buffer.concat([V,n]),n=void 0,i||$.length>u.size)this.options.delimiter=[Buffer.from(uwe($,this.options.delimiter_auto))],this.state.previousBuf=$,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=$;return}}let{previousBuf:ee}=this.state,ae;if(ee===void 0)if(n===void 0){a();return}else ae=n;else ee!==void 0&&n===void 0?ae=ee:ae=Buffer.concat([ee,n]);if(G===!1)if(c===!1)this.state.bomSkipped=!0;else if(ae.length<3){if(i===!1){this.state.previousBuf=ae;return}}else{for(let $ in Ty)if(Ty[$].compare(ae,0,Ty[$].length)===0){let we=Ty[$].length;this.state.bufBytesStart+=we,ae=ae.slice(we);let Be=_y({...this.original_options,encoding:$});for(let st in Be)this.options[st]=Be[st];({comment:B,escape:Q,quote:M}=this.options);break}this.state.bomSkipped=!0}let Ae=ae.length,Y;for(Y=0;Y<Ae&&!this.__needMoreData(Y,Ae,i);Y++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),I!==-1&&this.info.lines>I){this.state.stop=!0,a();return}this.state.quoting===!1&&v.length===0&&this.__autoDiscoverRecordDelimiter(ae,Y)&&(v=this.options.record_delimiter);let $=ae[Y];if(g===!0&&z.append($),($===byt||$===Iyt)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(Q!==null&&this.state.quoting===!0&&this.__isEscape(ae,Y,$)&&Y+Q.length<Ae)if(J){if(this.__isQuote(ae,Y+Q.length)){this.state.escaping=!0,Y+=Q.length-1;continue}}else{this.state.escaping=!0,Y+=Q.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(ae,Y))if(this.state.quoting===!0){let st=ae[Y+M.length],bt=E&&this.__isCharTrimable(ae,Y+M.length),hr=B!==null&&this.__compareBytes(B,ae,Y+M.length,st),hn=this.__isDelimiter(ae,Y+M.length,st),oi=v.length===0?this.__autoDiscoverRecordDelimiter(ae,Y+M.length):this.__isRecordDelimiter(st,ae,Y+M.length);if(Q!==null&&this.__isEscape(ae,Y,$)&&this.__isQuote(ae,Y+Q.length))Y+=Q.length-1;else if(!st||hn||oi||hr||bt){this.state.quoting=!1,this.state.wasQuoting=!0,Y+=M.length-1;continue}else if(m===!1){let pr=this.__error(new ht("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(st)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(pr!==void 0)return pr}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(M),Y+=M.length-1}else if(this.state.field.length!==0){if(m===!1){let st=this.__infoField(),bt=Object.keys(Ty).map(hn=>Ty[hn].equals(this.state.field.toString())?hn:!1).filter(Boolean)[0],hr=this.__error(new ht("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(st.column)} at line ${st.lines}, value is ${JSON.stringify(this.state.field.toString(d))}`,bt?`(${bt} bom)`:void 0],this.options,st,{field:this.state.field}));if(hr!==void 0)return hr}}else{this.state.quoting=!0,Y+=M.length-1;continue}if(this.state.quoting===!1){let st=this.__isRecordDelimiter($,ae,Y);if(st!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=f){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),Y+=st-1;continue}if(y===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,Y+=st-1;continue}this.info.bytes=this.state.bufBytesStart+Y;let hn=this.__onField();if(hn!==void 0)return hn;this.info.bytes=this.state.bufBytesStart+Y+st;let oi=this.__onRecord(s);if(oi!==void 0)return oi;if(C!==-1&&this.info.records>=C){this.state.stop=!0,a();return}}this.state.commenting=!1,Y+=st-1;continue}if(this.state.commenting)continue;if(B!==null&&(l===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(B,ae,Y,$)!==0){this.state.commenting=!0;continue}let bt=this.__isDelimiter(ae,Y,$);if(bt!==0){this.info.bytes=this.state.bufBytesStart+Y;let hr=this.__onField();if(hr!==void 0)return hr;Y+=bt-1;continue}}}if(this.state.commenting===!1&&p!==0&&this.state.record_length+this.state.field.length>p)return this.__error(new ht("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${p}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let we=h===!1||this.state.quoting===!0||this.state.f
Line truncated
|
||||||
|
`,s),Buffer.from(`
|
||||||
|
`,s),Buffer.from("\r",s)];e:for(let c=0;c<a.length;c++){let l=a[c].length;for(let u=0;u<l;u++)if(a[c][u]!==n[i+u])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:o(function(n){let{encoding:i,raw:s,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,s?this.state.rawBuffer.toString(i):void 0)}catch(l){return l}return}else return c},"__error"),__infoDataSet:o(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:o(function(){let{columns:n,raw:i,encoding:s}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:i?this.state.rawBuffer.toString(s):void 0}},"__infoRecord"),__infoField:o(function(){let{columns:n}=this.options,i=Array.isArray(n),s=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:s,column:i===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var So=o(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=RD(e),i=o(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),s=o(()=>{},"close"),a=n.parse(t,!0,i,s);if(a!==void 0)throw a;return r},"parse");var re=class t{static{o(this,"Util")}static getInputList(e,r){return this.getList(ui(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let i=So(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let s of i)s.length==1?r?.ignoreComma?n.push(s[0]):n.push(...s[0].split(",")):r?.ignoreComma?n.push(s.join(",")):n.push(...s);return n.filter(s=>s).map(s=>r?.trimWhitespace===!1?s:s.trim())}static getInputNumber(e){let r=ui(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let n=0;n<e.length;n++)await r(e[n],n,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let n=await li("powershell",!0),i=e.replace(/'/g,"''"),s=[];if(r)for(let a in r)s.push(`-${a} '${r[a].replace(/'/g,"''")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-EncodedCommand",Buffer.from(`& '${i}' ${s.join(" ")}`,"utf16le").toString("base64")]}}static isDirectory(e){try{return fwe.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let n=e.lastIndexOf(r);return n===-1||n+r.length!==e.length?e:e.substring(0,n)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return Wj.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,i)).toFixed(2))+" "+n[i]}static generateRandomString(e=10){return Wj.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return hwe.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=Aw.default.resolve(e);return Aw.default.resolve(r).startsWith(n.endsWith(Aw.default.sep)?n:`${n}${Aw.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),i=Math.floor(r%3600/60),s=r%60,a=[];return n&&a.push(`${n}h`),i&&a.push(`${i}m`),(s||a.length===0)&&a.push(`${s}s`),a.join("")}};var on=class t{static{o(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||mw.default.join(pwe.default.homedir(),".docker")}static configFile(){let e=mw.default.join(t.configDir,"config.json");if(Jj.default.existsSync(e))return JSON.parse(Jj.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await li("docker",!0).then(e=>(R(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(R(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0
Line truncated
|
||||||
|
${n}`)},"onRetry")})}static isPullTransientError(e){return/Client\.Timeout exceeded|TLS handshake timeout|i\/o timeout|context deadline exceeded|request canceled|connection reset by peer|connection refused|connection timed out|temporary failure|unexpected EOF|\bEOF\b|server misbehaving/i.test(e)||/\b(500|502|503|504)\b/.test(e)||/\b(service unavailable|bad gateway|gateway timeout|internal server error)\b/i.test(e)}};var pSe=N(require("crypto"),1);var DD=require("fs"),gwe=require("os");var Ry=class{static{o(this,"Context")}constructor(){var e,r,n;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,DD.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,DD.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{let i=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${i} does not exist${gwe.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10),this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10),this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:"https://api.github.com",this.serverUrl=(r=process.env.GITHUB_SERVER_URL)!==null&&r!==void 0?r:"https://github.com",this.graphqlUrl=(n=process.env.GITHUB_GRAPHQL_URL)!==null&&n!==void 0?n:"https://api.github.com/graphql"}get issue(){let e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){let[e,r]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:r}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var Zj=N(Iwe(),1),wwe=N(Yd(),1);var Pyt=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function Swe(t,e){if(!t&&!e.auth)throw new Error("Parameter token or opts.auth is required");if(t&&e.auth)throw new Error("Parameters token and opts.auth may not both be specified");return typeof e.auth=="string"?e.auth:`token ${t}`}o(Swe,"getAuthString");function Bwe(t){return new Zj.HttpClient().getAgent(t)}o(Bwe,"getProxyAgent");function Oyt(t){return new Zj.HttpClient().getAgentDispatcher(t)}o(Oyt,"getProxyAgentDispatcher");function xwe(t){let e=Oyt(t);return o((n,i)=>Pyt(this,void 0,void 0,function*(){return(0,wwe.fetch)(n,Object.assign(Object.assign({},i),{dispatcher:e}))}),"proxyFetch")}o(xwe,"getProxyFetch");function vwe(){return process.env.GITHUB_API_URL||"https://api.github.com"}o(vwe,"getApiBaseUrl");function e8(t){var e;let r=(e=process.env.ACTIONS_ORCHESTRATION_ID)===null||e===void 0?void 0:e.trim();if(r){let i=`actions_orchestration_id/${r.replace(/[^a-z0-9_.-]/gi,"_")}`;return t?.includes(i)?t:`${t?`${t} `:""}${i}`}return t}o(e8,"getUserAgentWithOrchestrationId");function Nf(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}o(Nf,"getUserAgent");function MD(t,e,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(e)?e.reverse().reduce((i,s)=>MD.bind(null,t,s,i,n),r)():Promise.resolve().then(()=>t.registry[e]?t.registry[e].reduce((i,s)=>s.hook.bind(null,i,n),r)():r(n))}o(MD,"register");function Nwe(t,e,r,n){let i=n;t.registry[r]||(t.registry[r]=[]),e==="before"&&(n=o((s,a)=>Promise.resolve().then(i.bind(null,a)).then(s.bind(null,a)),"hook")),e==="after"&&(n=o((s,a)=>{let c;return Promise.resolve().then(s.bind(null,a)).then(l=>(c=l,i(c,a))).then(()=>c)},"hook")),e==="error"&&(n=o((s,a)=>Promise.resolve().then(s.bind(null,a)).catch(c=>i(c,a)),"hook")),t.registry[r].push({hook:n,orig:i})}o(Nwe,"addHook");function _we(t,e,r){if(!t.registry[e])return;let n=t.registry[e].map(i=>i.orig).indexOf(r);n!==-1&&t.registry[e].splice(n,1)}o(_we,"removeHook");var Twe=Function.bind,Rwe=Twe.bind(Twe);function Dwe(t,e,r){let n=Rwe(_we,null).apply(null,r?[e,r]:[e]);t.api={remove:n},t.remove=n,["before","error","after","wrap"].forEach(i=>{let s=r?[e,i,r]:[e,i];t[i]=t.api[i]=Rwe(Nwe,null).apply(null,s)})}o(Dwe,"bindApi");function Fyt(){let t=Symbol("Singular"),e={registry:{}},r=MD.bind(null,e,t);return Dwe(r,e,t),r}o(Fyt,"Singular");function Myt(){let t={registry:{}},e=MD.bind(null,
Line truncated
|
||||||
|
`+t.errors.map(e=>` - ${e.message}`).join(`
|
||||||
|
`)}o(pEt,"_buildMessageForResponseErrors");var AEt=class extends Error{static{o(this,"GraphqlResponseError")}constructor(t,e,r){super(pEt(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},mEt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],gEt=["query","method","url"],eSe=/\/api\/v3\/?$/;function yEt(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let a in r)if(gEt.includes(a))return Promise.reject(new Error(`[@octokit/graphql] "${a}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,i=Object.keys(n).reduce((a,c)=>mEt.includes(c)?(a[c]=n[c],a):(a.variables||(a.variables={}),a.variables[c]=n[c],a),{}),s=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return eSe.test(s)&&(i.url=s.replace(eSe,"/api/graphql")),t(i).then(a=>{if(a.data.errors){let c={};for(let l of Object.keys(a.headers))c[l]=a.headers[l];throw new AEt(i,c,a.data)}return a.data.data})}o(yEt,"graphql");function o8(t,e){let r=t.defaults(e);return Object.assign(o((i,s)=>yEt(r,i,s),"newApi"),{defaults:o8.bind(null,r),endpoint:r.endpoint})}o(o8,"withDefaults");var Cwr=o8(Cw,{headers:{"user-agent":`octokit-graphql.js/${hEt} ${Nf()}`},method:"POST",url:"/graphql"});function tSe(t){return o8(t,{method:"POST",url:"/graphql"})}o(tSe,"withCustomRequest");var a8="(?:[a-zA-Z0-9_-]+)",rSe="\\.",nSe=new RegExp(`^${a8}${rSe}${a8}${rSe}${a8}$`),EEt=nSe.test.bind(nSe);async function CEt(t){let e=EEt(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}o(CEt,"auth");function bEt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}o(bEt,"withAuthorizationPrefix");async function IEt(t,e,r,n){let i=e.endpoint.merge(r,n);return i.headers.authorization=bEt(t),e(i)}o(IEt,"hook");var iSe=o(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(CEt.bind(null,e),{hook:IEt.bind(null,e)})},"createTokenAuth2");var c8="7.0.6";var sSe=o(()=>{},"noop"),wEt=console.warn.bind(console),SEt=console.error.bind(console);function BEt(t={}){return typeof t.debug!="function"&&(t.debug=sSe),typeof t.info!="function"&&(t.info=sSe),typeof t.warn!="function"&&(t.warn=wEt),typeof t.error!="function"&&(t.error=SEt),t}o(BEt,"createLogger");var oSe=`octokit-core.js/${c8} ${Nf()}`,ky=class{static{o(this,"Octokit")}static VERSION=c8;static defaults(e){return class extends this{static{o(this,"OctokitWithDefaults")}constructor(...n){let i=n[0]||{};if(typeof e=="function"){super(e(i));return}super(Object.assign({},e,i,i.userAgent&&e.userAgent?{userAgent:`${i.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static{o(this,"NewOctokit")}static plugins=r.concat(e.filter(i=>!r.includes(i)))}}constructor(e={}){let r=new Qwe.Collection,n={baseUrl:Cw.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${oSe}`:oSe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=Cw.defaults(n),this.graphql=tSe(this.request).defaults(n),this.log=BEt(e.log),this.hook=r,e.authStrategy){let{authStrategy:s,...a}=e,c=s(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));r.wrap("request",c.hook),this.auth=c}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let s=iSe(e.auth);r.wrap("request",s.hook),this.auth=s}let i=this.constructor;for(let s=0;s<i.plugins.length;++s)Object.assign(this,i.plugins[s](this,e))}request;graphql;log;hook;auth};var l8="17.0.0";var xEt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
Line truncated
|
||||||
|
More info: ${l.url}`);let p=l.range&&l.range.length>0?l.range[0]?.start.line:void 0,g=!1;for(let m of a)if(m.remote||m.path.endsWith(u)&&m.content===d){c.push({title:f,message:h,file:m.path,startLine:p}),g=!0;break}g||R(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${u}: ${f}`)}return c}};var y8=N(require("fs"),1),E8=N(require("path"),1);var WD=class t{static{o(this,"History")}buildx;constructor(e){this.buildx=e?.buildx||new yt}async getCommand(e){return await this.buildx.getCommand(["history",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getExportCommand(e){return await this.getCommand(["export",...e])}async inspect(e){let r=["--format","json"];e.builder&&r.push("--builder",e.builder),e.ref&&r.push(e.ref);let n=await this.getInspectCommand(r);return await Te.getExecOutput(n.command,n.args,{ignoreReturnCode:!0,silent:!0}).then(i=>{if(i.stderr.length>0&&i.exitCode!=0)throw new Error(i.stderr.trim());return JSON.parse(i.stdout)})}async export(e){if(!await this.buildx.versionSatisfies(">=0.23.0"))throw new Error("Buildx >= 0.23.0 is required to export a build record");let r="",n="",i=[];for(let f of e.refs){let h=f.split("/");if(h.length!=3)throw new Error(`Invalid build ref: ${f}`);i.push(h[2]),r||(r=h[0]),n||(n=h[1])}if(i.length===0)throw new Error("No build refs provided");let s=E8.default.join(gt.tmpDir(),"export");O(`exporting build record to ${s}`),y8.default.mkdirSync(s,{recursive:!0}),await this.buildx.versionSatisfies("<0.24.0")&&await re.sleep(3);let a={};if(!e.noSummaries)for(let f of i)await this.inspect({ref:f,builder:r}).then(h=>{let p="";h.Error&&h.Status!=="canceled"&&(h.Error.Message?p=h.Error.Message:h.Error.Name&&h.Error.Logs&&(p=`=> ${h.Error.Name}
|
||||||
|
${h.Error.Logs}`)),a[f]={name:h.Name,status:h.Status,duration:re.formatDuration(h.Duration),numCachedSteps:h.NumCachedSteps,numTotalSteps:h.NumTotalSteps,numCompletedSteps:h.NumCompletedSteps,defaultPlatform:h.Platform?.[0],error:p}});let c=E8.default.join(s,`${t.exportFilename(i)}.dockerbuild`),l=["--builder",r,"--output",c,...i];await this.buildx.versionSatisfies(">=0.24.0")&&l.push("--finalize");let u=await this.getExportCommand(l);await Te.getExecOutput(u.command,u.args);let d=y8.default.statSync(c);return{dockerbuildFilename:c,dockerbuildSize:d.size,builderName:r,nodeName:n,refs:i,summaries:a}}static exportFilename(e){let r=`${Xe.context.repo.owner}~${Xe.context.repo.repo}~${e[0].substring(0,6).toUpperCase()}`;return e.length>1&&(r+=`+${e.length-1}`),r}};var cOe=N(require("fs"),1),tK=N(require("path"),1);var ESe=N(require("os"),1);function Bw(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(Bw,"toCommandValue");function C8(t){return Object.keys(t).length?{title:t.title,file:t.file,line:t.startLine,endLine:t.endLine,col:t.startColumn,endColumn:t.endColumn}:{}}o(C8,"toCommandProperties");function xw(t,e,r){let n=new b8(t,e,r);process.stdout.write(n.toString()+ESe.EOL)}o(xw,"issueCommand");var ySe="::",b8=class{static{o(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=ySe+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let i=this.properties[n];i&&(r?r=!1:e+=",",e+=`${n}=${zEt(i)}`)}}return e+=`${ySe}${VEt(this.message)}`,e}};function VEt(t){return Bw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(VEt,"escapeData");function zEt(t){return Bw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(zEt,"escapeProperty");var wSe=N(require("os"),1);var bSe=require("os"),vw=require("fs");var I8=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},{access:$Et,appendFile:jEt,writeFile:WEt}=vw.promises,CSe="GITHUB_STEP_SUMMARY";var w8=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return I8(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[CSe];if(!e)throw new Error(`Unable to find environment variable for $${CSe}. Check if your runtime environment supports job summaries.`);try{yield $Et(e,vw.constants.R_OK|vw.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let i=Object.entries(n).map(([s,a])=>` ${s}="${a}"`).join("");return r?`<${e}${i}>${r}</${e}>`:`<${e}${i}>`}write(e){return I8(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?WEt:jEt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return I8(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(bSe.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),i=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(i).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",i=e.map(a=>this.wrap("li",a)).join(""),s=this.wrap(n,i);return this.addRaw(s).addEOL()}addTable(e){let r=e.map(i=>{let s=i.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:u,rowspan:d}=a,f=c?"th":"td",h=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(f,l,h)}).join("");return this.wrap("tr",s)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:i,height:s}=n||{},a=Object.assign(Object.assign({},i&&{width:i}),s&&{height:s}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,i=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",s=this.wrap(i,e);return this.addRaw(s).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),i=this.wrap("blockquote",e,n);return this.addRaw(i).addEOL()}addLink(e,r){let n=this.wrap("a",e,{href:r});return this.addRaw(n).addEOL()}},FSr=new w8;var S8=N(require("os"),1);var HSr=S8.default.platform(),VSr=S8.Line truncated
|
||||||
|
`," Line feed \\n"]]),IBe=new Map([...Y6,["\\"," Backslash \\"],["/"," Forward slash /"]]);function wBe(t){if(!t)throw new Error("Provided artifact name input during validation is empty");for(let[e,r]of IBe)if(t.includes(e))throw new Error(`The artifact name is not valid: ${t}. Contains the following character: ${r}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(IBe.values()).toString()}
|
||||||
|
|
||||||
|
These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);ct("Artifact name is valid!")}o(wBe,"validateArtifactName");function K6(t){if(!t)throw new Error("Provided file path input during validation is empty");for(let[e,r]of Y6)if(t.includes(e))throw new Error(`The path for one of the files in artifact is not valid: ${t}. Contains the following character: ${r}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(Y6.values()).toString()}
|
||||||
|
|
||||||
|
The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
|
||||||
|
`)}o(K6,"validateFilePath");var vBe=N(xBe(),1);function Ol(){return`@actions/artifact-${vBe.version}`}o(Ol,"getUserAgentString");var Zy=class extends Error{static{o(this,"FilesNotFoundError")}constructor(e=[]){let r="No files were found to upload";e.length>0&&(r+=`: ${e.join(", ")}`),super(r),this.files=e,this.name="FilesNotFoundError"}},hc=class extends Error{static{o(this,"InvalidResponseError")}constructor(e){super(e),this.name="InvalidResponseError"}},id=class extends Error{static{o(this,"ArtifactNotFoundError")}constructor(e="Artifact not found"){super(e),this.name="ArtifactNotFoundError"}},Qf=class extends Error{static{o(this,"GHESNotSupportedError")}constructor(e="@actions/artifact v2.0.0+, upload-artifact@v4+ and download-artifact@v4+ are not currently supported on GHES."){super(e),this.name="GHESNotSupportedError"}},sd=class extends Error{static{o(this,"NetworkError")}constructor(e){let r=`Unable to make request: ${e}
|
||||||
|
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};sd.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var iA=class extends Error{static{o(this,"UsageError")}constructor(){super(`Artifact storage quota has been hit. Unable to upload any new artifacts.
|
||||||
|
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};iA.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var OQ=new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");function Ll(){let t=YD(),e=$D(t);if(!e.scp)throw OQ;let r=e.scp.split(" ");if(r.length===0)throw OQ;for(let n of r){let i=n.split(":");if(i?.[0]!=="Actions.Results")continue;if(i.length!==3)throw OQ;let s={workflowRunBackendId:i[1],workflowJobRunBackendId:i[2]};return Ze(`Workflow Run Backend ID: ${s.workflowRunBackendId}`),Ze(`Workflow Job Run Backend ID: ${s.workflowJobRunBackendId}`),s}throw OQ}o(Ll,"getBackendIdsFromToken");function NBe(t){if(t)try{let r=new URL(t).searchParams.get("sig");r&&(JD(r),JD(encodeURIComponent(r)))}catch(e){Ze(`Failed to parse URL: ${t} ${e instanceof Error?e.message:String(e)}`)}}o(NBe,"maskSigUrl");function _Be(t){if(typeof t!="object"||t===null){Ze("body is not an object or is null");return}"signed_upload_url"in t&&typeof t.signed_upload_url=="string"&&NBe(t.signed_upload_url),"signed_url"in t&&typeof t.signed_url=="string"&&NBe(t.signed_url)}o(_Be,"maskSecretUrls");var LQ=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},X6=class{static{o(this,"ArtifactHttpClient")}constructor(e,r,n,i){this.maxAttempts=5,this.baseRetryIntervalMilliseconds=3e3,this.retryMultiplier=1.5;let s=YD();this.baseUrl=BSe(),r&&(this.maxAttempts=r),n&&(this.baseRetryIntervalMilliseconds=n),i&&(this.retryMultiplier=i),this.httpClient=new Go(e,[new Xd(s)])}request(e,r,n,i){return LQ(this,void 0,void 0,function*(){let s=new URL(`/twirp/${e}/${r}`,this.baseUrl).href;Ze(`[Request] ${r} ${s}`);let a={"Content-Type":n};try{let{body:c}=yield this.retryableRequest(()=>LQ(this,void 0,void 0,function*(){return this.httpClient.post(s,JSON.stringify(i),a)}));return c}catch(c){throw new Error(`Failed to ${r}: ${c.message}`)}})}retryableRequest(e){return LQ(this,void 0,void 0,function*(){let r=0,n="",i="";for(;r<this.maxAttempts;){let s=!1;try{let c=yield e(),l=c.message.statusCode;i=yield c.readBody(),Ze(`[Response] - ${c.message.statusCode}`),Ze(`Headers: ${JSON.stringify(c.message.headers,null,2)}`);let u=JSON.parse(i);if(_Be(u),Ze(`Body: ${JSON.stringify(u,null,2)}`),this.isSuccessStatusCode(l))return{response:c,body:u};if(s=this.isRetryableHttpStatusCode(l),n=`Failed request: (${l}) ${c.message.statusMessage}`,u.msg){if(iA.isUsageErrorMessage(u.msg))throw new iA;n=`${n}: ${u.msg}`}}catch(c){if(c instanceof SyntaxError&&Ze(`Raw Body: ${i}`),c instanceof iA)throw c;if(sd.isNetworkErrorCode(c?.code))throw new sd(c?.code);s=!0,n=c.message}if(!s)throw new Error(`Received non-retryable error: ${n}`);if(r+1===this.maxAttempts)throw new Error(`Failed to make request after ${this.maxAttempts} attempts: ${n}`);let a=this.getExponentialRetryTimeMilliseconds(r);ct(`Attempt ${r+1} of ${this.maxAttempts} failed with error: ${n}. Retrying request in ${a} ms...`),yield this.sleep(a),r++}throw new Error("Request failed")})}isSuccessStatusCode(e){return e?e>=200&&e<300:!1}isRetryableHttpStatusCode(e){return e?[Hn.BadGateway,Hn.GatewayTimeout,Hn.InternalServerError,Hn.ServiceUnavailable,Hn.TooManyRequests].includes(e):!1}sleep(e){return LQ(this,void 0,void 0,function*(){return new Promise(r=>setTimeout(r,e))})}getExponentialRetryTimeMilliseconds(e){if(e<0)throw new Error("attempt should be a positive integer");if(e===0)return this.baseRetryIntervalMilliseconds;let r=this.baseRetryIntervalMilliseconds*Math.pow(this.retryMultiplier,e),n=r*this.retryMultiplier;return Math.trunc(Math.random()*(n-r)+r)}};function Fl(t){let e=new X6(Ol(),t?.maxAttempts,t?.retryIntervalMs,t?.retryMultiplier);return new PQ(e)}o(Fl,"internalArtifactTwirpClient");var tE=N(require("fs"),1);var eE=require("path");function TBe(t){if(!tE.existsSync(t))throw new Error(`The provided rootDirectory ${t} does not exist`);if(!tE.statSync(t).isDirectory())throw new Error(`The provided rootDirectory ${t} is not a valid directory`);ct("Root directory input is valid!")}o(TBe,"validateRootDirectory");function RBe(t,e){let r=[];e=(0,eE.normalize)(e),e=(0,eE.resolve)(e);for(let n of t){let i=tE.lstatSync(n,{throwIfNoEntry:!1});if(!i)throw new Error(`File ${n} does not exist`);if(i.isDirectory()){let s=n.replace(e,"");K6(s),r.push({sourcePath:null,destinationPath:s,stats:i})}else{if(n=(0,eE.normalize)(n),n=(0,eE.resolve)(n),!n.startsWith(e))throw new Error(`The rootDirectory: ${e} is not a parent directory of the file: ${n}`);let s=n.replace(e,"");K6(s),r.push({sourcePath:n,destinationPath:s,stats:i})}}return
Line truncated
|
||||||
|
Are you trying to download from a different run? Try specifying a github-token with \`actions:read\` scope.`);l.length>1&&gi("Multiple artifacts found, defaulting to first.");let u={workflowRunBackendId:l[0].workflowRunBackendId,workflowJobRunBackendId:l[0].workflowJobRunBackendId,name:l[0].name},{signedUrl:d}=yield n.GetSignedArtifactURL(u);ct(`Redirecting to blob download url: ${VPe(d)}`);try{ct(`Starting download of artifact to: ${r}`);let f=yield zPe(d,r,e?.skipDecompress);ct("Artifact download completed successfully."),e?.expectedHash&&e?.expectedHash!==f.sha256Digest&&(i=!0,Ze(`Computed digest: ${f.sha256Digest}`),Ze(`Expected digest: ${e.expectedHash}`))}catch(f){throw new Error(`Unable to download and extract artifact: ${f.message}`)}return{downloadPath:r,digestMismatch:i}})}o(jPe,"downloadArtifactInternal");function WPe(){return XE(this,arguments,void 0,function*(t=xSe()){return(yield yLt(t))?Ze(`Artifact destination folder already exists: ${t}`):(Ze(`Artifact destination folder does not exist, creating: ${t}`),yield XY.default.mkdir(t,{recursive:!0})),t})}o(WPe,"resolveOrCreateDirectory");var CLt=5,bLt=[400,401,403,404,422];function ZE(t,e=CLt,r=bLt){var n;if(e<=0)return[{enabled:!1},t.request];let i={enabled:!0};r.length>0&&(i.doNotRetry=r);let s=Object.assign(Object.assign({},t.request),{retries:e});return Ze(`GitHub client configured with: (retries: ${s.retries}, retry-exempt-status-code: ${(n=i.doNotRetry)!==null&&n!==void 0?n:"octokit default: [400, 401, 403, 404, 422]"})`),[i,s]}o(ZE,"getRetryOptions");var JPe="6.0.0";function PA(t){t.hook.wrap("request",(e,r)=>{t.log.debug("request",r);let n=Date.now(),i=t.request.endpoint.parse(r),s=i.url.replace(r.baseUrl,"");return e(r).then(a=>{let c=a.headers["x-github-request-id"];return t.log.info(`${i.method} ${s} - ${a.status} with id ${c} in ${Date.now()-n}ms`),a}).catch(a=>{let c=a.response?.headers["x-github-request-id"]||"UNKNOWN";throw t.log.error(`${i.method} ${s} - ${a.status} with id ${c} in ${Date.now()-n}ms`),a})})}o(PA,"requestLog");PA.VERSION=JPe;var XPe=N(YPe(),1);var ILt="0.0.0-development";function wLt(t){return t.request!==void 0}o(wLt,"isRequestError");async function KPe(t,e,r,n){if(!wLt(r)||!r?.request.request)throw r;if(r.status>=400&&!t.doNotRetry.includes(r.status)){let i=n.request.retries!=null?n.request.retries:t.retries,s=Math.pow((n.request.retryCount||0)+1,2);throw e.retry.retryRequest(r,i,s)}throw r}o(KPe,"errorRequest");async function SLt(t,e,r,n){let i=new XPe.default;return i.on("failed",function(s,a){let c=~~s.request.request?.retries,l=~~s.request.request?.retryAfter;if(n.request.retryCount=a.retryCount+1,c>a.retryCount)return l*t.retryAfterBaseValue}),i.schedule(BLt.bind(null,t,e,r),n)}o(SLt,"wrapRequest");async function BLt(t,e,r,n){let i=await r(n);if(i.data&&i.data.errors&&i.data.errors.length>0&&/Something went wrong while executing your query/.test(i.data.errors[0].message)){let s=new ed(i.data.errors[0].message,500,{request:n,response:i});return KPe(t,e,s,n)}return i}o(BLt,"requestWithGraphqlErrorHandling");function OA(t,e){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},e.retry),n={retry:{retryRequest:o((i,s,a)=>(i.request.request=Object.assign({},i.request.request,{retries:s,retryAfter:a}),i),"retryRequest")}};return r.enabled&&(t.hook.error("request",KPe.bind(null,r,n)),t.hook.wrap("request",SLt.bind(null,r,n))),n}o(OA,"retry");OA.VERSION=ILt;var ZPe=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function rP(t,e,r,n,i){return ZPe(this,void 0,void 0,function*(){var s;let[a,c]=ZE(DA),l={log:void 0,userAgent:Ol(),previews:void 0,retry:a,request:c},d=yield eh(i,l,OA,PA).request("GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts{?name}",{owner:r,repo:n,run_id:e,name:t});if(d.status!==200)throw new hc(`Invalid response from GitHub API: ${d.status} (${(s=d?.headers)===null||s===void 0?void 0:s["x-github-request-id"]})`);if(d.data.artifacts.length===0)throw new id(`Artifact not found for name: ${t}
|
||||||
|
Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact.
|
||||||
|
For more information, visit the GitHub Artifacts FAQ: https://github.com/actions/toolkit/blob/main/packages/artifact/docs/faq.md`);let f=d.data.artifacts[0];return d.data.artifacts.length>1&&(f=d.data.artifacts.sort((h,p)=>p.id-h.id)[0],Ze(`More than one artifact found for a single name, returning newest (id: ${f.id})`)),{artifact:{name:f.name,id:f.id,size:f.size_in_bytes,createdAt:f.created_at?new Date(f.created_at):void 0,digest:f.digest}}})}o(rP,"getArtifactPublic");function eOe(t){return ZPe(this,void 0,void 0,function*(){var e;let r=Fl(),{workflowRunBackendId:n,workflowJobRunBackendId:i}=Ll(),s={workflowRunBackendId:n,workflowJobRunBackendId:i,nameFilter:bn.create({value:t})},a=yield r.ListArtifacts(s);if(a.artifacts.length===0)throw new id(`Artifact not found for name: ${t}
|
||||||
|
Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact.
|
||||||
|
For more information, visit the GitHub Artifacts FAQ: https://github.com/actions/toolkit/blob/main/packages/artifact/docs/faq.md`);let c=a.artifacts[0];return a.artifacts.length>1&&(c=a.artifacts.sort((l,u)=>Number(u.databaseId)-Number(l.databaseId))[0],Ze(`More than one artifact found for a single name, returning newest (id: ${c.databaseId})`)),{artifact:{name:c.name,id:Number(c.databaseId),size:Number(c.size),createdAt:c.createdAt?xo.toDate(c.createdAt):void 0,digest:(e=c.digest)===null||e===void 0?void 0:e.value}}})}o(eOe,"getArtifactInternal");var tOe=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})};function rOe(t,e,r,n,i){return tOe(this,void 0,void 0,function*(){var s;let[a,c]=ZE(DA),l={log:void 0,userAgent:Ol(),previews:void 0,retry:a,request:c},u=eh(i,l,OA,PA),d=yield rP(t,e,r,n,i),f=yield u.rest.actions.deleteArtifact({owner:r,repo:n,artifact_id:d.artifact.id});if(f.status!==204)throw new hc(`Invalid response from GitHub API: ${f.status} (${(s=f?.headers)===null||s===void 0?void 0:s["x-github-request-id"]})`);return{id:d.artifact.id}})}o(rOe,"deleteArtifactPublic");function nOe(t){return tOe(this,void 0,void 0,function*(){let e=Fl(),{workflowRunBackendId:r,workflowJobRunBackendId:n}=Ll(),i={workflowRunBackendId:r,workflowJobRunBackendId:n,nameFilter:bn.create({value:t})},s=yield e.ListArtifacts(i);if(s.artifacts.length===0)throw new id(`Artifact not found for name: ${t}`);let a=s.artifacts[0];s.artifacts.length>1&&(a=s.artifacts.sort((u,d)=>Number(d.databaseId)-Number(u.databaseId))[0],Ze(`More than one artifact found for a single name, returning newest (id: ${a.databaseId})`));let c={workflowRunBackendId:a.workflowRunBackendId,workflowJobRunBackendId:a.workflowJobRunBackendId,name:a.name},l=yield e.DeleteArtifact(c);return ct(`Artifact '${t}' (ID: ${l.artifactId}) deleted`),{id:Number(l.artifactId)}})}o(nOe,"deleteArtifactInternal");var iOe=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},nP=_Se(),iP=100,xLt=Math.ceil(nP/iP);function sOe(t,e,r,n){return iOe(this,arguments,void 0,function*(i,s,a,c,l=!1){ct(`Fetching artifact list for workflow run ${i} in repository ${s}/${a}`);let u=[],[d,f]=ZE(DA),h={log:void 0,userAgent:Ol(),previews:void 0,retry:d,request:f},p=eh(c,h,OA,PA),g=1,{data:m}=yield p.request("GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",{owner:s,repo:a,run_id:i,per_page:iP,page:g}),E=Math.ceil(m.total_count/iP),y=m.total_count;y>nP&&(gi(`Workflow run ${i} has ${y} artifacts, exceeding the limit of ${nP}. Results will be incomplete as only the first ${nP} artifacts will be returned`),E=xLt);for(let C of m.artifacts)u.push({name:C.name,id:C.id,size:C.size_in_bytes,createdAt:C.created_at?new Date(C.created_at):void 0,digest:C.digest});for(g++,g;g<=E;g++){Ze(`Fetching page ${g} of artifact list`);let{data:C}=yield p.request("GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",{owner:s,repo:a,run_id:i,per_page:iP,page:g});for(let I of C.artifacts)u.push({name:I.name,id:I.id,size:I.size_in_bytes,createdAt:I.created_at?new Date(I.created_at):void 0,digest:I.digest})}return l&&(u=aOe(u)),ct(`Found ${u.length} artifact(s)`),{artifacts:u}})}o(sOe,"listArtifactsPublic");function oOe(){return iOe(this,arguments,void 0,function*(t=!1){let e=Fl(),{workflowRunBackendId:r,workflowJobRunBackendId:n}=Ll(),i={workflowRunBackendId:r,workflowJobRunBackendId:n},a=(yield e.ListArtifacts(i)).artifacts.map(c=>{var l;return{name:c.name,id:Number(c.databaseId),size:Number(c.size),createdAt:c.createdAt?xo.toDate(c.createdAt):void 0,digest:(l=c.digest)===null||l===void 0?void 0:l.value}});return t&&(a=aOe(a)),ct(`Found ${a.length} artifact(s)`),{artifacts:a}})}o(oOe,"listArtifactsInternal");function aOe(t){t.sort((n,i)=>i.id-n.id);let e=[],r=new Set;for(let n of t)r.has(n.name)||(e.push(n),r.add(n.name));return e}o(aOe,"filterLatest");var hB=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},vLt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i
Line truncated
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions is operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),s}})}downloadArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Py())throw new Qf;if(r?.findBy){let{findBy:{repositoryOwner:n,repositoryName:i,token:s}}=r,a=vLt(r,["findBy"]);return $Pe(e,n,i,s,a)}return jPe(e,r)}catch(n){throw gi(`Download Artifact failed with error: ${n}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}listArtifacts(e){return hB(this,void 0,void 0,function*(){try{if(Py())throw new Qf;if(e?.findBy){let{findBy:{workflowRunId:r,repositoryOwner:n,repositoryName:i,token:s}}=e;return sOe(r,n,i,s,e?.latest)}return oOe(e?.latest)}catch(r){throw gi(`Listing Artifacts failed with error: ${r}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),r}})}getArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Py())throw new Qf;if(r?.findBy){let{findBy:{workflowRunId:n,repositoryOwner:i,repositoryName:s,token:a}}=r;return rP(e,n,i,s,a)}return eOe(e)}catch(n){throw gi(`Get Artifact failed with error: ${n}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}deleteArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Py())throw new Qf;if(r?.findBy){let{findBy:{repositoryOwner:n,repositoryName:i,workflowRunId:s,token:a}}=r;return rOe(e,s,n,i,a)}return nOe(e)}catch(n){throw gi(`Delete Artifact failed with error: ${n}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}};var dPr=new eC;var sP=class{static{o(this,"GitHubArtifact")}static async upload(e){if(Xe.isGHES)throw new Error("@actions/artifact v2.0.0+ is currently not supported on GHES.");let r=tK.default.basename(e.filename),n=new eC;O(`Uploading ${r} as an artifact`);let i=tK.default.dirname(e.filename),s=await n.uploadArtifact(r,[e.filename],i,{retentionDays:e.retentionDays,skipArchive:!0});if(!s.id)throw new hc("Cannot upload artifact");let a=s.size??cOe.default.statSync(e.filename).size,c=`${Xe.workflowRunURL()}/artifacts/${s.id}`;return O(`Artifact download URL: ${c}`),{id:s.id,filename:r,digest:s.digest||"",size:a,url:c}}};var EK=N(lOe(),1);var Pt=Symbol("NOT_RESOLVED");function Li(t,e){return{tagName:t,nodeKind:"scalar",implicit:e.implicit??!1,matchByTagPrefix:e.matchByTagPrefix??!1,implicitFirstChars:e.implicitFirstChars??null,resolve:e.resolve,identify:e.identify,represent:e.represent??(r=>String(r)),representTagName:e.representTagName??(()=>t)}}o(Li,"defineScalarTag");function hK(t,e){let r=e.finalize===void 0;return{tagName:t,nodeKind:"sequence",implicit:!1,matchByTagPrefix:e.matchByTagPrefix??!1,create:e.create,addItem:e.addItem,finalize:e.finalize??(n=>n),carrierIsResult:r,identify:e.identify,represent:e.represent??(n=>n),representTagName:e.representTagName??(()=>t)}}o(hK,"defineSequenceTag");function lP(t,e){let r=e.finalize===void 0;return{tagName:t,nodeKind:"mapping",implicit:!1,matchByTagPrefix:e.matchByTagPrefix??!1,create:e.create,addPair:e.addPair,has:e.has,keys:e.keys,get:e.get,finalize:e.finalize??(n=>n),carrierIsResult:r,identify:e.identify,represent:e.represent??(n=>n),representTagName:e.representTagName??(()=>t)}}o(lP,"defineMappingTag");var NLt=Li("tag:yaml.org,2002:str",{resolve:o(t=>t,"resolve"),identify:o(t=>typeof t=="string","identify")}),_Lt=["","~","null","Null","NULL"],TLt=Li("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>_Lt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),RLt=Li("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["n"],resolve:o((t,e)=>t==="null"||e&&t===""?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),DLt=["","~","null","Null","NULL"],QLt=Li("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>DLt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),kLt=["true","True","TRUE"],PLt=["false","False","FALSE"],OLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","T","f","F"],resolve:o(t=>kLt.indexOf(t)!==-1?!0:PLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),LLt=["true"],FLt=["false"],MLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","f"],resolve:o(t=>LLt.indexOf(t)!==-1?!0:FLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),ULt=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"],qLt=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"],GLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:o(t=>ULt.indexOf(t)!==-1?!0:qLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),HLt=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"),VLt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function zLt(t){let e=t,r=1;return(e[0]==="-"||e[0]==="+")&&(e[0]==="-"&&(r=-1),e=e.slice(1)),e.startsWith("0b")?r*parseInt(e.slice(2),2):e.startsWith("0o")?r*parseInt(e.slice(2),8):e.startsWith("0x")?r*parseInt(e.slice(2),16):r*parseInt(e,10)}o(zLt,"parseYamlInteger$2");function $Lt(t,e){if(e){if(!VLt.test(t))return Pt}else if(!HLt.test(t))return Pt;let r=zLt(t);return Number.isFinite(r)?r:Pt}o($Lt,"resolveYamlInteger$2");var yOe=Li("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:$Lt,identify:o(t=>Number.isInteger(t)&&!Object.is(t,-0)&&t.toString(10).indexOf("e")<0,"identify"),represent:o(t=>t.toString(10),"represent")}),jLt=new RegExp("^-?(?:0|[1-9][0-9]*)$"),WLt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function JLt(t){let e=t,r=1;return(e[0]==="-"||e[0]==="+")&&(e[0]==="-"&&(r=-1),e=e.slice(1)),e.startsWith("0b")?r*parseInt(e.slice(2),2):e.startsWith("0o")?r*parseInt(e.slice(2),8):e.startsWith("0x")?r*parseInt(e.slice(2),16):r*parseInt(e,10)}o(JLt,"parseYamlInteger$1");function YLt(t,e){if(e){if(!WLt.test(t))return Pt}else if(!jLt.tes
Line truncated
|
||||||
|
${l}`}let f=rK(t.buffer,i[c],s[c],t.position,d);l+=`${" ".repeat(r.indent)}${nK((t.line+1).toString(),u)} | ${f.str}
|
||||||
|
`,l+=`${"-".repeat(r.indent+u+3+f.pos)}^
|
||||||
|
`;for(let h=1;h<=r.linesAfter&&!(c+h>=s.length);h++){let p=rK(t.buffer,i[c+h],s[c+h],t.position-(i[c]-i[c+h]),d);l+=`${" ".repeat(r.indent)}${nK((t.line+h+1).toString(),u)} | ${p.str}
|
||||||
|
`}return l.replace(/\n$/,"")}o(OFt,"makeSnippet");function fOe(t,e){let r="";return t.mark?(t.mark.name&&(r+=`in "${t.mark.name}" `),r+=`(${t.mark.line+1}:${t.mark.column+1})`,!e&&t.mark.snippet&&(r+=`
|
||||||
|
|
||||||
|
${t.mark.snippet}`),`${t.reason} ${r}`):t.reason}o(fOe,"formatError");var LFt=class bOe extends Error{static{o(this,"YAMLException")}reason;mark;constructor(e,r){super(),this.name="YAMLException",this.reason=e,this.mark=r,this.message=fOe(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${fOe(this,e)}`}static throwAt(e,r,n,i=""){let s=0,a=0;for(let l=0;l<r;l++){let u=e.charCodeAt(l);u===10?(s++,a=l+1):u===13&&(s++,e.charCodeAt(l+1)===10&&l++,a=l+1)}let c={name:i,buffer:e,position:r,line:s,column:r-a};throw c.snippet=OFt(c),new bOe(n,c)}},tC={DOCUMENT:1,SEQUENCE:2,MAPPING:3,SCALAR:4,ALIAS:5,POP:6},it={PLAIN:1,SINGLE_QUOTED:2,DOUBLE_QUOTED:3,LITERAL_BLOCK:4,FOLDED_BLOCK:5},ih={BLOCK:1,FLOW:2},AK={CLIP:1,STRIP:2,KEEP:3};function hOe(t){switch(t){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
|
||||||
|
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}o(hOe,"simpleEscapeSequence");var FFt=new Array(256),MFt=new Array(256);for(let t=0;t<256;t++)FFt[t]=hOe(t)?1:0,MFt[t]=hOe(t);var SPr=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"});function iK(t){return encodeURI(t).replace(/!/g,"%21")}o(iK,"tagPercentEncode");function IOe(t){let e=t;return e.charCodeAt(0)===33?(e=e.slice(1),`!${iK(e)}`):e.slice(0,18)==="tag:yaml.org,2002:"?`!!${iK(e.slice(18))}`:`!<${iK(e)}>`}o(IOe,"tagNameShort");var UFt={filename:"",schema:DFt,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};var aK=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`,wOe=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`,BPr=new RegExp(`^(?:${aK})*$`),xPr=new RegExp(`^(?:${wOe})+$`),vPr=new RegExp(`^(?:!(?:${aK})*|${wOe}(?:${aK})*)$`),qFt={filename:"",maxDepth:100};var NPr={...qFt,...UFt};var LA=Symbol("INVALID");function GFt(t){let e=new Set([t.defaultScalarTag,t.defaultSequenceTag,t.defaultMappingTag].filter(s=>s!==void 0)),r=t.implicitScalarTags,n=t.tags.filter(s=>!(s.nodeKind==="scalar"&&s.implicit)&&!e.has(s)),i=t.tags.filter(s=>e.has(s));return[...r.map(s=>({tag:s,implicitTag:!0})),...n.map(s=>({tag:s,implicitTag:!1})),...i.map(s=>({tag:s,implicitTag:!0}))]}o(GFt,"buildRepresentTypes");function HFt(t,e){for(let r=0,n=t.representTypes.length;r<n;r+=1){let{tag:i,implicitTag:s}=t.representTypes[r];if(i.identify(e)){let a;return i.matchByTagPrefix?a=i.representTagName(e):a=i.tagName,{tag:i,tagName:a,implicitTag:s}}}return null}o(HFt,"matchTag");function mB(t,e){if(!t.noRefs&&e!==null&&typeof e=="object"){let u=t.refs.get(e);if(u)return u.anchor===void 0&&(u.anchor=`ref_${t.refCounter++}`),{kind:"alias",anchor:u.anchor}}let r=HFt(t,e);if(!r){if(e===void 0||t.skipInvalid)return LA;throw new LFt(`unacceptable kind of an object to dump ${Object.prototype.toString.call(e)}`)}let{tag:n,tagName:i,implicitTag:s}=r,a=s?i:IOe(i);if(n.nodeKind==="scalar")return{kind:"scalar",tag:a,tagged:!s,style:it.PLAIN,value:n.represent(e)};if(n.nodeKind==="sequence"){let u=n.represent(e),d={kind:"sequence",tag:a,tagged:!s,style:ih.BLOCK,items:[]};t.noRefs||t.refs.set(e,d);for(let f=0,h=u.length;f<h;f+=1){let p=mB(t,u[f]);p===LA&&u[f]===void 0&&(p=mB(t,null)),p!==LA&&d.items.push(p)}return d}let c=n.represent(e),l={kind:"mapping",tag:a,tagged:!s,style:ih.BLOCK,items:[]};t.noRefs||t.refs.set(e,l);for(let[u,d]of c){let f=mB(t,u);if(f===LA)continue;let h=mB(t,d);h!==LA&&l.items.push({key:f,value:h})}return l}o(mB,"build");function VFt(t,e,r={}){let n=mB({representTypes:GFt(e),noRefs:r.noRefs??!1,skipInvalid:r.skipInvalid??!1,refs:new Map,refCounter:0},t);return[{contents:n===LA?null:n,directives:[]}]}o(VFt,"jsToAst");var zFt=Symbol("visit:break"),SOe=Symbol("visit:skip");function aP(t,e,r){let n=e(t,r);if(n===zFt)return!0;if(n===SOe)return!1;let i=r.depth+1;switch(t.kind){case"sequence":for(let s of t.items)if(aP(s,e,{depth:i,parent:t,isKey:!1}))return!0;break;case"mapping":for(let{key:s,value:a}of t.items)if(aP(s,e,{depth:i,parent:t,isKey:!0})||aP(a,e,{depth:i,parent:t,isKey:!1}))return!0;break}return!1}o(aP,"visitNode");function pOe(t,e){for(let r of t)if(r.contents&&aP(r.contents,e,{depth:0,parent:null,isKey:!1}))return}o(pOe,"visit");function fP(t,e){return(t&1<<e)!==0}o(fP,"hasBit");var AOe={applyQuoteFlowKeysOption:$Ft,doubleQuoteForInvisibles:jFt,doubleQuoteWhitespaceOnly:WFt,applyForceQuotesOption:JFt,tryLongOrMultilineAsBlock:YFt,quoteInvalidPlain:KFt,fallbackToDoubleQuoted:XFt};function BOe(t){return t.presenterOptions.quoteStyle==="single"&&fP(t.allowedStylesMask,it.SINGLE_QUOTED)?it.SINGLE_QUOTED:it.DOUBLE_QUOTED}o(BOe,"_preferredQuotedStyle");function $Ft(t){t.presenterOptions.quoteFlowKeys&&(!t.isKey||!t.flowOnly||t.style!==it.PLAIN||(t.style=it.DOUBLE_QUOTED))}o($Ft,"applyQuoteFlowKeysOption");function jFt(t){t.style===it.PLAIN&&/[\t\x7F-\xA0\u2028\u2029\uFEFF\uFFFE\uFFFF]/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(jFt,"doubleQuoteForInvisibles");function WFt(t){t.style===it.PLAIN&&/^\s+$/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(WFt,"doubleQuoteWhitespaceOnly");function JFt(t){t.presenterOptions.forceQuotes&&(t.isKey||t.style!==it.PLAIN||(t.style=t.node.value.includes(`
|
||||||
|
`)?it.DOUBLE_QUOTED:BOe(t)))}o(JFt,"applyForceQuotesOption");function YFt(t){if(t.style!==it.PLAIN||t.isKey)return;let e=t.node.value,r=e.indexOf(`
|
||||||
|
`)!==-1;if(!fP(t.allowedStylesMask,it.LITERAL_BLOCK)){r&&(t.style=it.DOUBLE_QUOTED);return}let n=t.presenterOptions.lineWidth;if(n===-1){r&&(t.style=it.LITERAL_BLOCK);return}let i=Math.max(Math.min(n,40),n-t.shiftOfContent),s=0,a=!1;for(;s<=e.length;){let c=e.length,l=e.indexOf(`
|
||||||
|
`,s);l!==-1&&(c=l);let u=e.slice(s,c);if(u.length>i&&u[0]!==" "&&/ [^ \t]/.test(u)&&(a=!0),l===-1)break;s=l+1}a?t.style=it.FOLDED_BLOCK:r&&(t.style=it.LITERAL_BLOCK)}o(YFt,"tryLongOrMultilineAsBlock");function KFt(t){t.style===it.PLAIN&&!fP(t.allowedStylesMask,it.PLAIN)&&(t.style=BOe(t))}o(KFt,"quoteInvalidPlain");function XFt(t){fP(t.allowedStylesMask,t.style)||(t.style=it.DOUBLE_QUOTED)}o(XFt,"fallbackToDoubleQuoted");function AB(t,e){return t|1<<e}o(AB,"setBit");var ZFt="[\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]",eMt="[\\n\\r]",tMt="\\uFEFF",mK="[ \\t]",xOe=`(?:(?!(?:${eMt}|${tMt}))${ZFt})`,hP=`(?:(?!${mK})${xOe})`,vOe="[\\x09\\x20-\\uD7FF\\uE000-\\uFFFF\\u{10000}-\\u{10FFFF}]",NOe="[-?:,\\[\\]{}#&*!|>'\"%@`]",rMt="[,\\[\\]{}]",cK=hP,lK=`(?:(?!${rMt})${hP})`,nMt=`(?:(?:(?!${NOe})${hP})|[?:-](?=${cK}))`,iMt=`(?:(?:(?!${NOe})${hP})|[?:-](?=${lK}))`,_Oe=`(?:(?:(?![:#])${cK})|:(?=${cK}))#*`,TOe=`(?:(?:(?![:#])${lK})|:(?=${lK}))#*`,ROe=`(?:${mK}*${_Oe})*`,DOe=`(?:${mK}*${TOe})*`,QOe=`${nMt}#*${ROe}`,kOe=`${iMt}#*${DOe}`,sMt=QOe,oMt=kOe,aMt=`\\n+${_Oe}${ROe}`,cMt=`\\n+${TOe}${DOe}`,lMt=`${QOe}(?:${aMt})*`,uMt=`${kOe}(?:${cMt})*`,dMt=new RegExp(`^(?:${lMt})$`,"u"),fMt=new RegExp(`^(?:${uMt})$`,"u"),hMt=new RegExp(`^(?:${sMt})$`,"u"),pMt=new RegExp(`^(?:${oMt})$`,"u"),AMt=new RegExp(`^(?:${vOe})*$`,"u"),mMt=new RegExp(`^(?:${vOe}|\\n)*$`,"u"),gMt=new RegExp(`^(?:${xOe}|\\n)*$`,"u"),yMt=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/,gK=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/m;function EMt(t){let e=t.node.value;if(e!==""){if(!(t.isKey?t.flowOnly?pMt:hMt:t.flowOnly?fMt:dMt).test(e)||t.shiftOfFirstLine===0&&yMt.test(e))return!1;if(t.shiftOfContent===0){let n=e.indexOf(`
|
||||||
|
`);if(n!==-1){let i=e.slice(n+1);if(gK.test(i))return!1}}}let r=t.presenterOptions.schema.resolveImplicitScalarTag(e).tag.tagName;return!(!t.node.tagged&&r!==t.node.tag||!t.node.tagged&&e==="="&&r===t.presenterOptions.schema.defaultScalarTag.tagName)}o(EMt,"canUsePlain");function CMt(t){let e=t.node.value;if(!(t.isKey?AMt:mMt).test(e)||/[ \t]\n|\n[ \t]/.test(e))return!1;if(!t.isKey&&t.shiftOfContent===0){let r=e.indexOf(`
|
||||||
|
`);if(r!==-1&&gK.test(e.slice(r+1)))return!1}return!0}o(CMt,"canUseSingleQuoted");function bMt(t){if(t.flowOnly||!gMt.test(t.node.value))return!1;let e=t.shiftOfContent-t.shiftOfParent;return!(e<1||e>9&&/^\n* /.test(t.node.value)||t.shiftOfContent===0&&gK.test(t.node.value))}o(bMt,"canUseBlock");function IMt(t){let e=AB(0,it.DOUBLE_QUOTED);EMt(t)&&(e=AB(e,it.PLAIN)),CMt(t)&&(e=AB(e,it.SINGLE_QUOTED)),bMt(t)&&(e=AB(AB(e,it.LITERAL_BLOCK),it.FOLDED_BLOCK)),t.allowedStylesMask=e}o(IMt,"detectAllowedStyles");function wMt(t){switch(t.style){case it.PLAIN:return SMt(t);case it.SINGLE_QUOTED:return BMt(t);case it.LITERAL_BLOCK:return xMt(t);case it.FOLDED_BLOCK:return vMt(t);case it.DOUBLE_QUOTED:return NMt(t)}}o(wMt,"renderScalar");function SMt(t){return POe(t.node.value,t.shiftOfContent)}o(SMt,"renderPlain");function BMt(t){return`'${POe(t.node.value,t.shiftOfContent).replace(/'/g,"''")}'`}o(BMt,"renderSingleQuoted");function xMt(t){let e=t.node.value;return"|"+LOe(e,t.shiftOfParent,t.shiftOfContent)+FOe(OOe(e,t.shiftOfContent))}o(xMt,"renderLiteralBlock");function vMt(t){let e=t.node.value,r=t.presenterOptions.lineWidth,n=1/0;return r!==-1&&(n=Math.max(Math.min(r,40),r-t.shiftOfContent)),">"+LOe(e,t.shiftOfParent,t.shiftOfContent)+FOe(OOe(TMt(e,n),t.shiftOfContent))}o(vMt,"renderFoldedBlock");function NMt(t){return`"${QMt(t.node.value)}"`}o(NMt,"renderDoubleQuoted");function POe(t,e){let r=t.indexOf(`
|
||||||
|
`);if(r===-1)return t;let n=" ".repeat(e),i=t.slice(0,r),s=/(\n+)([^\n]*)/g;s.lastIndex=r;let a;for(;a=s.exec(t);){let c=a[1].length,l=a[2];i+=`
|
||||||
|
`.repeat(c+1)+n+l}return i}o(POe,"encodeFlowBreaks");function OOe(t,e){let r=" ".repeat(e),n=0,i="",s=t.length;for(;n<s;){let a,c=t.indexOf(`
|
||||||
|
`,n);c===-1?(a=t.slice(n),n=s):(a=t.slice(n,c+1),n=c+1),a.length&&a!==`
|
||||||
|
`&&(i+=r),i+=a}return i}o(OOe,"indentString");function _Mt(t){return/^\n* /.test(t)}o(_Mt,"needIndentIndicator");function LOe(t,e,r){let n=_Mt(t)?String(r-e):"",i=t[t.length-1]===`
|
||||||
|
`;return`${n}${i&&(t[t.length-2]===`
|
||||||
|
`||t===`
|
||||||
|
`)?"+":i?"":"-"}
|
||||||
|
`}o(LOe,"blockHeader");function FOe(t){return t[t.length-1]===`
|
||||||
|
`?t.slice(0,-1):t}o(FOe,"dropEndingNewline");function uK(t){return t===" "||t===" "}o(uK,"isMoreIndented");function mOe(t,e){if(t===""||uK(t[0]))return t;let r=/ [^ \t]/g,n,i=0,s,a=0,c=0,l="";for(;n=r.exec(t);)c=n.index,c-i>e&&(s=a>i?a:c,l+=`
|
||||||
|
${t.slice(i,s)}`,i=s+1),a=c;return l+=`
|
||||||
|
`,t.length-i>e&&a>i?l+=`${t.slice(i,a)}
|
||||||
|
${t.slice(a+1)}`:l+=t.slice(i),l.slice(1)}o(mOe,"foldLine");function TMt(t,e){let r=/(\n+)([^\n]*)/g,n=t.indexOf(`
|
||||||
|
`);n===-1&&(n=t.length),r.lastIndex=n;let i=mOe(t.slice(0,n),e),s=t[0]===`
|
||||||
|
`||uK(t[0]),a,c;for(;c=r.exec(t);){let l=c[1],u=c[2];a=u!==""&&uK(u[0]),i+=l+(!s&&!a&&u!==""?`
|
||||||
|
`:"")+mOe(u,e),s=a}return i}o(TMt,"foldBlockScalar");var RMt=/["\\\x00-\x1F\x7F-\xA0\u2028\u2029\uD800-\uDFFF\uFEFF\uFFFE\uFFFF]/gu;function DMt(t){switch(t){case"\0":return"\\0";case"\x07":return"\\a";case"\b":return"\\b";case" ":return"\\t";case`
|
||||||
|
`:return"\\n";case"\v":return"\\v";case"\f":return"\\f";case"\r":return"\\r";case"\x1B":return"\\e";case'"':return'\\"';case"\\":return"\\\\";case"\x85":return"\\N";case"\xA0":return"\\_";case"\u2028":return"\\L";case"\u2029":return"\\P"}let e=t.charCodeAt(0),r=e.toString(16).toUpperCase();return e<=255?`\\x${"0".repeat(2-r.length)}${r}`:`\\u${"0".repeat(4-r.length)}${r}`}o(DMt,"escapeCharacter");function QMt(t){return t.replace(RMt,DMt)}o(QMt,"escapeString");var cP=10,yK={indent:2,seqNoIndent:!1,seqInlineFirst:!0,lineWidth:80,flowBracketPadding:!1,flowSkipCommaSpace:!1,flowSkipColonSpace:!1,quoteFlowKeys:!1,quoteStyle:"single",forceQuotes:!1,scalarStyleRules:Object.keys(AOe).map(t=>Reflect.get(AOe,t)),tagBeforeAnchor:!1};function kMt(t){return t.tagged?t.tag:IOe(t.tag)}o(kMt,"nodeTagShort");function PMt(t){let e={...yK,...t};return e.flowSkipColonSpace&&(e.quoteFlowKeys=!0),{...e,defaultScalarTagName:e.schema.defaultScalarTag.tagName,openEnded:!1}}o(PMt,"createPresenterState");function dK(t,e){return`
|
||||||
|
${" ".repeat(t.indent*e)}`}o(dK,"generateNextLine");function OMt(t,e,r,n,i,s){return{node:e,parent:r,level:n,isKey:i,flowOnly:s,shiftOfParent:n===0?-1:t.indent*(n-1),shiftOfContent:t.indent*Math.max(1,n),shiftOfFirstLine:n===0?0:t.indent*n,presenterOptions:t,allowedStylesMask:0,style:e.style}}o(OMt,"scalarLayout");function LMt(t,e,r){let n="";for(let s=0,a=r.items.length;s<a;s+=1){let c=Cd(t,e,r.items[s],r,{}).text;s>0&&(n+=`,${t.flowSkipCommaSpace?"":" "}`),n+=c}let i=t.flowBracketPadding&&r.items.length>0?" ":"";return`[${i}${n}${i}]`}o(LMt,"writeFlowSequence");function gOe(t,e,r,n){let i="";for(let s=0,a=r.items.length;s<a;s+=1){let c=Cd(t,e+1,r.items[s],r,{block:!0,compact:t.seqInlineFirst,isblockseq:!0}).text;(!n||i!=="")&&(i+=dK(t,e)),c===""||cP===c.charCodeAt(0)?i+="-":i+="- ",i+=c}return i}o(gOe,"writeBlockSequence");function FMt(t,e,r){let n="";for(let{key:s,value:a}of r.items){let c="";n!==""&&(c+=`,${t.flowSkipCommaSpace?"":" "}`);let l=Cd(t,e,s,r,{iskey:!0}),u=l.text,d=Cd(t,e,a,r,{}).text,f=t.flowSkipColonSpace||d===""?"":" ",h=s.kind==="scalar"&&l.noBody&&(s.tagged||s.anchor!==void 0),p=s.kind==="alias"||h?" ":"";c+=`${u}${p}:${f}${d}`,n+=c}let i=t.flowBracketPadding&&n!==""?" ":"";return`{${i}${n}${i}}`}o(FMt,"writeFlowMapping");function MMt(t,e,r,n){let i="";for(let s=0,a=r.items.length;s<a;s+=1){let c="";(!n||i!=="")&&(c+=dK(t,e));let{key:l,value:u}=r.items[s],d=(l.kind==="mapping"||l.kind==="sequence")&&l.style===ih.BLOCK&&l.items.length!==0||l.kind==="scalar"&&(l.style===it.LITERAL_BLOCK||l.style===it.FOLDED_BLOCK),f=d?Cd(t,e+1,l,r,{block:!0,compact:!0,isblockseq:!fK(t,l,e+1)}):Cd(t,e+1,l,r,{block:!0,compact:!0,iskey:!0}),h=f.text,p=l.kind==="scalar"&&l.value.indexOf(`
|
||||||
|
`)!==-1,g=h.length>1024&&/^[\s\S]{1025}/u.test(h),m=d||p||g;m&&(h&&cP===h.charCodeAt(0)?c+="?":c+="? "),c+=h,m&&(c+=dK(t,e));let E=Cd(t,e+1,u,r,{block:!0,compact:m,isblockseq:m&&!fK(t,u,e+1)}).text,y=l.kind==="scalar"&&f.noBody&&(l.tagged||l.anchor!==void 0),C=!m&&(l.kind==="alias"||y)?" ":"";E===""||cP===E.charCodeAt(0)?c+=`${C}:`:c+=`${C}: `,c+=E,i+=c}return i}o(MMt,"writeBlockMapping");function fK(t,e,r){return e.kind==="alias"?!0:e.tagged||e.anchor!==void 0||t.indent<2&&r>0}o(fK,"cannotBeCompact");function Cd(t,e,r,n,i){if(r.kind==="alias")return t.openEnded=!1,{text:`*${r.anchor}`,noBody:!1};let{block:s=!1,iskey:a=!1,isblockseq:c=!1}=i,l=i.compact??!1,u=r.anchor!==void 0;fK(t,r,e)&&(l=!1);let d,f=r.tagged,h=s&&(r.kind==="mapping"||r.kind==="sequence")&&r.style===ih.BLOCK&&r.items.length!==0;if(r.kind==="mapping")h?d=MMt(t,e,r,l):d=FMt(t,e,r);else if(r.kind==="sequence")h?t.seqNoIndent&&!c&&e>0?d=gOe(t,e-1,r,l):d=gOe(t,e,r,l):d=LMt(t,e,r);else{let m=OMt(t,r,n,e,a,!s);IMt(m);for(let E of t.scalarStyleRules)E(m);d=wMt(m),t.openEnded=(m.style===it.LITERAL_BLOCK||m.style===it.FOLDED_BLOCK)&&(r.value===`
|
||||||
|
`||r.value.endsWith(`
|
||||||
|
|
||||||
|
`)),f=r.tagged||d===""&&m.flowOnly&&n?.kind==="sequence"&&!u||m.style!==it.PLAIN&&r.tag!==t.defaultScalarTagName}(r.kind==="mapping"||r.kind==="sequence")&&!h&&(t.openEnded=!1),h&&l&&e>0&&t.indent>2&&(d=`${" ".repeat(t.indent-2)}${d}`);let p=d==="",g=d;if(f||u){let m=[],E=f?kMt(r):null,y=u?`&${r.anchor}`:null;t.tagBeforeAnchor?(E!==null&&m.push(E),y!==null&&m.push(y)):(y!==null&&m.push(y),E!==null&&m.push(E));let C=d===""||d.charCodeAt(0)===cP?"":" ";g=`${m.join(" ")}${C}${d}`}return{text:g,noBody:p}}o(Cd,"writeNode");function UMt(t){return(t.kind==="sequence"||t.kind==="mapping")&&t.style===ih.BLOCK&&t.items.length!==0&&!t.tagged&&t.anchor===void 0}o(UMt,"rootStartsOwnLine");function qMt(t){let e="";for(let r of t.directives){if(r.kind==="yaml"){e+=`%YAML ${r.version}
|
||||||
|
`;continue}let{handle:n,prefix:i}=r;e+=`%TAG ${n} ${i}
|
||||||
|
`}return e}o(qMt,"writeDocumentDirectives");function GMt(t,e){let r=PMt(e),n="",i=!1;for(let s=0;s<t.length;s+=1){let a=t[s];r.openEnded=!1;let c=qMt(a),l=c!=="",u=a.explicitStart||l||s>0&&!i;if(n+=c,a.contents===null)u&&(n+=`---
|
||||||
|
`);else if(u){let d=Cd(r,0,a.contents,null,{block:!0,compact:!0}).text,f=d===""?"":l||UMt(a.contents)?`
|
||||||
|
`:" ";n+=`---${f}${d}
|
||||||
|
`}else n+=Cd(r,0,a.contents,null,{block:!0,compact:!0}).text+`
|
||||||
|
`;i=a.explicitEnd||r.openEnded,i&&(n+=`...
|
||||||
|
`)}return n}o(GMt,"present");var HMt={...yK,schema:kFt,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:o(()=>{},"transform")};function VMt(t,e){let r=String(t),n=String(e);return r<n?-1:r>n?1:0}o(VMt,"defaultCompareFn");function MOe(t,e={}){let r={...HMt,...e},n=VFt(t,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0&&pOe(n,(i,s)=>{if(!(s.depth<r.flowLevel))return(i.kind==="sequence"||i.kind==="mapping")&&(i.style=ih.FLOW),SOe}),r.sortKeys){let i=r.sortKeys===!0?VMt:r.sortKeys;pOe(n,s=>{s.kind==="mapping"&&s.items.sort((a,c)=>i(a.key.kind==="scalar"?a.key.value:"",c.key.kind==="scalar"?c.key.value:""))})}return r.transform(n),GMt(n,{...SFt(r,Object.keys(yK)),schema:r.schema})}o(MOe,"dump");var _Pr=tC.DOCUMENT,TPr=tC.SEQUENCE,RPr=tC.MAPPING,DPr=tC.SCALAR,QPr=tC.ALIAS,kPr=tC.POP,PPr=it.PLAIN,OPr=it.SINGLE_QUOTED,LPr=it.DOUBLE_QUOTED,FPr=it.LITERAL_BLOCK,MPr=it.FOLDED_BLOCK,UPr=ih.BLOCK,qPr=ih.FLOW,GPr=AK.CLIP,HPr=AK.STRIP,VPr=AK.KEEP;var UOe=N(require("os"),1);var pP=class t{static{o(this,"GitHubSummary")}static async writeBuildSummary(e){let r=o(function(l,u,d=!1){return`<a href="${u}">${l}</a>`+(d?UOe.default.EOL:"")},"addLink"),n=e.exportRes.refs.length,i=n>0?e.exportRes.refs?.[0]:void 0,s=i?e.exportRes.summaries?.[i]:void 0,a=e.driver==="cloud"&&e.endpoint?e.endpoint?.replace(/^cloud:\/\//,"").split("/")[0]:void 0,c=tq.addHeading("Docker Build summary",2);if(a&&n===1&&i&&s){let l=t.formatDBCBuildURL(a,i,s.defaultPlatform);c.addRaw("<p>").addRaw("For a detailed look at the build, you can check the results at:").addRaw("</p>").addRaw("<p>").addRaw(`:whale: ${r(`<strong>${l}</strong>`,l)}`).addRaw("</p>")}if(e.uploadRes){let l=`./${Xe.runId}/${e.uploadRes.url.split("/").slice(-2).join("/")}`;a&&n===1?c.addRaw("<p>").addRaw("You can also download the following build record archive and import it into Docker Desktop's Builds view. ").addBreak().addRaw("Build records include details such as timing, dependencies, results, logs, traces, and other information about a build. ").addRaw(r("Learn more","https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions")).addRaw("</p>"):c.addRaw("<p>").addRaw("For a detailed look at the build, download the following build record archive and import it into Docker Desktop's Builds view. ").addBreak().addRaw("Build records include details such as timing, dependencies, results, logs, traces, and other information about a build. ").addRaw(r("Learn more","https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions")).addRaw("</p>"),c.addRaw("<p>").addRaw(`:arrow_down: ${r(`<strong>${re.stringToUnicodeEntities(e.uploadRes.filename)}</strong>`,l)} (${re.formatFileSize(e.uploadRes.size)} - includes <strong>${n} build record${n>1?"s":""}</strong>)`).addRaw("</p>")}else e.exportRes.summaries&&c.addRaw("<p>").addRaw("The following table provides a brief summary of your build.").addBreak().addRaw("For a detailed look at the build, including timing, dependencies, results, logs, traces, and other information, consider enabling the export of the build record so you can import it into Docker Desktop's Builds view. ").addRaw(r("Learn more","https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions")).addRaw("</p>");if(c.addRaw("<p>").addRaw("Find this useful? ").addRaw(r("Let us know","https://docs.docker.com/feedback/gha-build-summary")).addRaw("</p>"),e.exportRes.summaries){c.addRaw("<p>");let l=[[{header:!0,data:"ID"},{header:!0,data:"Name"},{header:!0,data:"Status"},{header:!0,data:"Cached"},{header:!0,data:"Duration"},...a&&n>1?[{header:!0,data:"Build result URL"}]:[]]],u;for(let d in e.exportRes.summaries)if(Object.prototype.hasOwnProperty.call(e.exportRes.summaries,d)){let f=e.exportRes.summaries[d];l.push([{data:`<code>${d.substring(0,6).toUpperCase()}</code>`},{data:`<strong>${re.stringToUnicodeEntities(f.name)}</strong>`},{data:`${f.status==="completed"?":white_check_mark:":f.status==="canceled"?":no_entry_sign:":":x:"} ${f.status}`},{data:`${f.numCachedSteps>0?Math.round(f.numCachedSteps/f.numTotalSteps*100):0}%`},{data:f.duration},...a&&n>1?[{data:r(":whale: Open",t.formatDBCBuildURL(a,d,f.defaultPlatform))}]:[]]),f.error&&(u=f.error)}c.addTable([...l]),c.addRaw("</p>"),u&&(c.addRaw("<blockquote>"),re.countLines(u)>10?c.addRaw("<details><summary><strong>Error</strong></summary>").addCodeBlock(EK.default.encode(u),"text").addRaw("</details>"):c.addRaw("<strong>Error</strong>").addBreak().addRaw("<p>").addCodeBlock(EK.default.encode(u),"text").addRaw("</p>"),c.addRaw("</blockquote>"))}e.inputs&&c.addRaw("<details><summary><strong>Build inputs</strong></summary>").addCodeBlock(MOe(e.inputs,{indent:2,lineWidth:-1}),"yaml").addRaw("</details>"),e.bakeDefinition&&c.addRaw("<details><summary><str
Line truncated
|
||||||
|
`),{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let i of n){if(i.length==1&&!i[0].startsWith("type="))return e=="local";for(let[s,a]of i.map(c=>c.split("=").map(l=>l.trim())))if(s=="type"&&a==e)return!0}return!1}static hasAttestationType(e,r){let n=So(r,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let i of n)for(let[s,a]of i.map(c=>c.split("=").map(l=>l.trim())))if(s=="type"&&a==e)return!0;return!1}static resolveAttestationAttrs(e){let r=So(e,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0}),n=[];for(let i of r)for(let s of i)try{let a=re.parseBool(s);n.push(`disabled=${!a}`)}catch{n.push(s)}return n.join(",")}static hasGitAuthTokenSecret(e,r){for(let n of e){if(r&&n.startsWith(`GIT_AUTH_TOKEN.${r}=`))return!0;if(n.startsWith("GIT_AUTH_TOKEN="))return!0}return!1}static parseSecretKvp(e,r){let n=e.indexOf("="),i=e.substring(0,n),s=e.substring(n+1);if(i.length==0||s.length==0)throw new Error(`${e} is not a valid secret`);return r&&Lc(s),[i,s]}};var bK=N(require("fs"),1),qOe=N(require("path"),1);var AP=class t{static{o(this,"Bake")}buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new yt,this.metadataFilename=`bake-metadata-${re.generateRandomString()}.json`}getMetadataFilePath(){return qOe.default.join(gt.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!bK.default.existsSync(e))return;let r=bK.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRefs(e){if(!e&&(e=this.resolveMetadata(),!e))return;let r=new Array;for(let n in e)"buildx.build.ref"in e[n]&&r.push(e[n]["buildx.build.ref"]);return r.length>0?r:void 0}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}async getDefinition(e,r){r=r||{ignoreReturnCode:!0},r.ignoreReturnCode=!0,r.env=Object.assign({},process.env,r.env||{},e.githubToken?{BUILDX_BAKE_GIT_AUTH_TOKEN:e.githubToken}:{});let n=["bake"],i,s=[],a=[...e.files||[],e.source];if(a){for(let l of a.map(u=>u?u.trim():""))if(l.length!=0){if(!re.isValidRef(l)){s.push(l);continue}if(i)throw new Error("Only one remote bake definition can be defined");i=l}}i&&n.push(i);for(let l of s)n.push("--file",l);if(e.overrides)for(let l of e.overrides)n.push("--set",l);if(e.vars)for(let l of e.vars)n.push("--var",l);if(e.allow)for(let l of e.allow)n.push("--allow",l);e.call&&n.push("--call",e.call),e.load&&n.push("--load"),e.noCache&&n.push("--no-cache"),e.provenance&&n.push("--provenance",e.provenance),e.push&&n.push("--push"),e.sbom&&n.push("--sbom",e.sbom);let c=await this.buildx.getCommand([...n,"--print",...e.targets||[]]);return await Te.getExecOutput(c.command,c.args,r).then(l=>{if(l.stderr.length>0&&l.exitCode!=0)throw new Error(`cannot parse bake definitions: ${yt.getErrorMessage(l.stderr)}`);return t.parseDefinition(l.stdout.trim())})}static parseDefinition(e){let r=JSON.parse(e);for(let n in r.target){let i=r.target[n];i.attest&&Array.isArray(i.attest)&&(i.attest=i.attest.map(s=>t.parseAttestEntry(s))),i["cache-from"]&&Array.isArray(i["cache-from"])&&(i["cache-from"]=i["cache-from"].map(s=>t.parseCacheEntry(s))),i["cache-to"]&&Array.isArray(i["cache-to"])&&(i["cache-to"]=i["cache-to"].map(s=>t.parseCacheEntry(s))),i.output&&Array.isArray(i.output)&&(i.output=i.output.map(s=>t.parseExportEntry(s))),i.secret&&Array.isArray(i.secret)&&(i.secret=i.secret.map(s=>t.parseSecretEntry(s))),i.ssh&&Array.isArray(i.ssh)&&(i.ssh=i.ssh.map(s=>t.parseSSHEntry(s)))}return r}static parseAttestEntry(e){if(typeof e!="string")return e;let r={type:""},n=So(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let i of n){let[s,a]=i.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());switch(s){case"type":r.type=a;break;case"disabled":r.disabled=re.parseBool(a);break;default:r[s]=a}}return r}static parseCacheEntry(e){if(typeof e!="string")return e;let r={type:""},n=So(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&!n[0].includes("="))return r.type="registry",r.ref=n[0],r;for(let i of n){let[s,a]=i.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());s==="type"?r.type=a:r[s]=a}return r}static parseExportEntry(e){if(typeof e!="string")return e;let r={type:""},n=So(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&n[0]===e&&!e.startsWith("type="))return e!=="-"?(r.type="local",r.dest=e,r):(r.type="tar",r.dest=e,r);for(let i of n){let[s,a]=i.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());s==="type"?r.type=a:r[s]=a}return r}static parseSecretEntry(e){if(typeof e!="string")return e;let r={},n=So(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0],i="";for(let s of n){let[a,c]=s.toString().split(/(?<=^[^=]+?)=/).map(l=>l.trim());switch(a){case"type":i=c;break;case"id":r.id=c;break;case"source":case"src":r.src=c;break;case"env":r.env=c;break}}return i==="env"&&!r.env&&(r.env=r.src,r.src=void 0),r}static parseSSHEntry(e){if(typeof e!="string")return e;let r={},[n,i]=e.split("=",2);return r.id=n,i&&(r.paths=i.split(",")),r}
Line truncated
|
||||||
|
`)[0])}static async isHeadDetached(e){return await t.exec(["branch","--show-current"],e).then(r=>r.length==0)}static async getDetachedRef(e){let r=await t.exec(["show","-s","--pretty=%D"],e);R(`detached HEAD ref: ${r}`);let n=r.replace(/^grafted, /,"").trim();if(n==="HEAD")return await t.inferRefFromHead(e);let i=n.match(/^HEAD, (.*)$/);if(!i||!i[1])throw new Error(`Cannot find detached HEAD ref in "${r}"`);let s=i[1].trim();if(s.startsWith("tag: "))return await t.findDetachedTagRef(s,r,e);if(s.match(/^pull\/\d+\/(head|merge)$/))return`refs/${s}`;let c=s.match(/^[^/]+\/[^/]+, (.+)$/);if(c)return`refs/heads/${c[1].trim()}`;let l=s.match(/^[^/]+\/(.+)$/);if(l)return`refs/heads/${l[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${r}"`)}static async exec(e=[],r){return await Te.getExecOutput("git",e,{cwd:r,ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.stderr.length>0&&n.exitCode!=0)throw new Error(n.stderr);return n.stdout.trim()})}static async inferRefFromHead(e){let r=await t.findContainingRef("refs/heads/",e);if(r)return r;let n=await t.findContainingRef("refs/remotes/",e);if(n){let a=n.match(/^refs\/remotes\/[^/]+\/(.+)$/);return a?`refs/heads/${a[1]}`:n}let i=await t.exec(["tag","--contains","HEAD"],e),[s]=i.split(`
|
||||||
|
`).map(a=>a.trim()).filter(a=>a.length>0);return s?`refs/tags/${s}`:""}static async findDetachedTagRef(e,r,n){let s=(await t.exec(["for-each-ref","--format=%(refname)","--points-at","HEAD","refs/tags/"],n)).split(`
|
||||||
|
`).map(a=>a.trim()).filter(a=>a.length>0).sort((a,c)=>c.length-a.length);for(let a of s){let c=`tag: ${a.slice(10)}`;if(e===c||e.startsWith(`${c}, `))return a}if(s.length===1)return s[0];throw new Error(`Cannot find detached tag ref in "${r}"`)}static async findContainingRef(e,r){let n=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e],r),[i]=n.split(`
|
||||||
|
`).map(s=>s.trim()).filter(s=>s.length>0);return i}static async commitDate(e,r){return new Date(await t.exec(["show","-s",'--format="%ci"',e],r))}};var nUe=require("crypto"),cu=N(require("fs"),1),lu=N(require("path"),1);var kC=N(_K(),1),iUe=N(V7(),1),PC=N(XMe(),1);var eUe=require("util");var jX=N(_K(),1);var tUe=N(lc(),1);var ZMe="application/vnd.oci.empty.v1+json";var zs=class{static{o(this,"Cosign")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"cosign",this._version="",this._versionOnce=!1}async isAvailable(){let e=await Te.getExecOutput(this.binPath,[],{ignoreReturnCode:!0,silent:!0}).then(r=>r.stderr.length>0&&r.exitCode!=0?(R(`Cosign.isAvailable cmd err: ${r.stderr.trim()}`),!1):r.exitCode==0).catch(r=>(R(`Cosign.isAvailable error: ${r}`),!1));return R(`Cosign.isAvailable: ${e}`),e}async version(){return this._versionOnce?this._version:(this._versionOnce=!0,this._version=await Te.getExecOutput(this.binPath,["version","--json"],{ignoreReturnCode:!0,silent:!0}).then(e=>{if(e.stderr.length>0&&e.exitCode!=0)throw new Error(e.stderr.trim());return JSON.parse(e.stdout.trim()).gitVersion}),this._version)}async printVersion(){await Te.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}static getErrorMessage(e){let r=(0,eUe.stripVTControlCharacters)(e).split(/[\r\n]/);for(let n=r.length-1;n>=0;n--){let i=r[n].trim();if(i)return i}return"unknown error"}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return R("Cosign.versionSatisfies false: undefined version"),!1;let i=tUe.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return R(`Cosign.versionSatisfies ${n} statisfies ${e}: ${i}`),i}static parseCommandOutput(e){let r,n,i,s;for(let a of e.split(/\r?\n/)){let c=a.trim();if(!c.startsWith("{")||!c.endsWith("}"))continue;let l;try{l=JSON.parse(c)}catch{continue}if(l&&Array.isArray(l.errors)&&l.errors.length>0&&(s=l.errors),!r&&l&&Array.isArray(l.manifests)&&l.manifests.length>0){let u=l.manifests[0];u?.artifactType===jX.BUNDLE_V03_MEDIA_TYPE&&typeof u.digest=="string"?r=u.digest:u?.artifactType===ZMe&&typeof u.digest=="string"&&(n=u.digest)}if(!i&&l&&l.mediaType===jX.BUNDLE_V03_MEDIA_TYPE&&(i=l),i&&(r||n)){s=void 0;break}}return{bundle:i,signatureManifestDigest:r||n,errors:s}}};var WX=N(require("fs"),1);var WO=class t{static{o(this,"ImageTools")}buildx;constructor(e){this.buildx=e?.buildx||new yt}async getCommand(e){return await this.buildx.getCommand(["imagetools",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getCreateCommand(e){return await this.getCommand(["create",...e])}async inspectImage(e){return await this.inspect(e,"{{json .Image}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"config"),r;throw new Error("Unexpected output format")})}async inspectManifest(e){return await this.inspect(e,"{{json .Manifest}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"manifests"),r;throw new Error("Unexpected output format")})}async attestationDescriptors(e){let r=await this.inspectManifest(e);if(typeof r!="object"||r===null||!("manifests"in r)||!Array.isArray(r.manifests))throw new Error(`No descriptor found for ${e.name}`);let n=r.manifests.filter(a=>a.annotations?.["vnd.docker.reference.type"]==="attestation-manifest");if(!e.platform)return n;let i=e.platform,s=new Map;for(let a of r.manifests)a.digest&&s.set(a.digest,a);return n.filter(a=>{let c=a.annotations?.["vnd.docker.reference.digest"];if(!c)return!1;let l=s.get(c);return l?l.platform?.os===i.os&&l.platform?.architecture===i.architecture&&(l.platform?.variant??"")===(i.variant??""):!1})}async attestationDigests(e){return(await this.attestationDescriptors(e)).map(r=>r.digest)}async create(e){let r=[],n=gt.tmpName({tmpdir:gt.tmpDir(),template:"imagetools-metadata-XXXXXX"}),i=[],s=[];for(let c of e.sources){if(c.startsWith("cwd://")){let l=c.substring(6);l.length>0&&i.push(l);continue}s.push(c)}if(e.tags)for(let c of e.tags)r.push("--tag",c);if(e.platforms)for(let c of e.platforms)r.push("--platform",c);if(e.annotations)for(let c of e.annotations)r.push("--annotation",c);e.dryRun?r.push("--dry-run"):r.push("--metadata-file",n);for(let c of i)r.push("--file",c);for(let c of s)r.push(c);let a=await this.getCreateCommand(r);if(e.skipExec){O(`[command]${a.command} ${a.args.join(" ")}`),O("Skipped create command");return}return await Te.getExecOutput(a.command,a.args,{ignoreReturnCode:!0,silent:e.silent}).then(c=>{if(c.stderr.length>0&&c.exitCode!=0)throw new Error(c.stderr.trim());if(!e.dryRun){if(!WX.default.existsSync(n))return;let l=WX.default.readFileSync(n,{encoding:"utf-8"}).trim();if(l===""||l==="null")return;let u=JSON.parse(l),d=u["containerimage.descriptor"];return d?{digest:u["containerimage.digest"]||d.digest,descriptor:d,imageNames:u["image.name"]?u["image.name"].split(",").map(f=>f.trim()):[]}:void 0}})}async inspect(e,r,n){let i=await this.getInspectCommand([e
Line truncated
|
||||||
|
${a.message}`),await new Promise(u=>setTimeout(u,Math.pow(2,c)*100))}throw a??new Error(`ImageTools inspect command failed for ${e.name}`)}async execInspect(e,r,n){return await Te.getExecOutput(e,r,{ignoreReturnCode:!0,silent:!0}).then(i=>{if(i.stderr.length>0&&i.exitCode!=0)throw new Error(i.stderr.trim());return n(JSON.parse(i.stdout))})}static isManifestUnknownError(e){return/(MANIFEST_UNKNOWN|manifest unknown)/i.test(e)||/:\s*not found$/i.test(e)}};var QC="https://search.sigstore.dev";var rUe="slsaprovenance1",Ch=class t{static{o(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new zs,this.imageTools=e?.imageTools||new WO}async signAttestationManifests(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign attestation manifests");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},i=await this.cosignSigningConfigArgs(n);for(let s of e.imageNames){let a=await this.imageTools.attestationDigests({name:`${s}@${e.imageDigest}`,retryOnManifestUnknown:e.retryOnManifestUnknown,retryLimit:e.retryLimit});for(let c of a){let l=`${s}@${c}`;await kr(`Signing attestation manifest ${l}`,async()=>{let u=["sign","--yes","--oidc-provider","github-actions","--registry-referrers-mode","oci-1-1",...await this.bundleFormatArgs(),...i];O(`[command]${this.cosign.binPath} ${[...u,l].join(" ")}`);let d=await Te.getExecOutput(this.cosign.binPath,["--verbose",...u,l],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),f=zs.parseCommandOutput(d.stderr.trim());if(d.exitCode!=0)if(f.errors&&f.errors.length>0){let p=f.errors.map(g=>`- [${g.code}] ${g.message} : ${g.detail}`).join(`
|
||||||
|
`);throw new Error(`Cosign sign command failed with errors:
|
||||||
|
${p}`)}else throw new Error(`Cosign sign command failed with: ${zs.getErrorMessage(d.stderr)}`);let h=t.parseBundle((0,kC.bundleFromJSON)(f.bundle));h.tlogID&&await this.logTransparencyUpload(h.tlogID,n),O(`Signature manifest pushed: https://oci.dag.dev/?referrers=${l}`),r[l]={...h,imageName:s}})}}}catch(n){throw new Error(`Signing BuildKit attestation manifests failed: ${n.message}`)}return r}async verifySignedManifests(e,r){let n={};for(let[i,s]of Object.entries(e))await kr(`Verifying signature of ${i}`,async()=>{let a=await this.verifyImageAttestation(i,{certificateIdentityRegexp:r.certificateIdentityRegexp,noTransparencyLog:r.noTransparencyLog||!s.tlogID,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});O(`Signature manifest verified: https://oci.dag.dev/?image=${s.imageName}@${a.signatureManifestDigest}`),n[i]=a});return n}async verifyImageAttestations(e,r){let n={},i=await this.imageTools.attestationDigests({name:e,platform:r.platform,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});if(i.length===0)throw new Error(`No attestation manifests found for ${e}`);let s=e.split(":",1)[0];for(let a of i){let c=`${s}@${a}`,l=await this.verifyImageAttestation(c,r);O(`Signature manifest verified: https://oci.dag.dev/?image=${s}@${l.signatureManifestDigest}`),n[c]=l}return n}async verifyImageAttestation(e,r){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed manifests");let n=["verify","--experimental-oci11",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp];if(r.noTransparencyLog&&n.push("--use-signed-timestamps","--insecure-ignore-tlog"),!r.retryOnManifestUnknown){O(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);let a=await Te.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})});if(a.exitCode!==0)throw new Error(`Cosign verify command failed with: ${zs.getErrorMessage(a.stderr)}`);let c=zs.parseCommandOutput(a.stderr.trim());return{cosignArgs:n,signatureManifestDigest:c.signatureManifestDigest}}let i=r.retryLimit??15,s;O(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);for(let a=0;a<i;a++){let c=await Te.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),l=zs.parseCommandOutput(c.stderr.trim());if(c.exitCode===0)return{cosignArgs:n,signatureManifestDigest:l.signatureManifestDigest};if(l.errors&&l.errors.length>0){let u=l.errors.map(d=>`- [${d.code}] ${d.message} : ${d.detail}`).join(`
|
||||||
|
`);if(s=new Error(`Cosign verify command failed with errors:
|
||||||
|
${u}`),l.errors.some(d=>d.code==="MANIFEST_UNKNOWN"))O(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${a+1}/${i}...
|
||||||
|
${u}`),await new Promise(d=>setTimeout(d,Math.pow(2,a)*100));else throw s}else throw new Error(`Cosign verify command failed with: ${zs.getErrorMessage(c.stderr)}`)}throw s}async signProvenanceBlobs(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign provenance blobs");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},i=await this.cosignSigningConfigArgs(n),s=t.getProvenanceBlobs(e);for(let a of Object.keys(s))await kr(`Signing ${a}`,async()=>{let c=s[a],l=lu.default.join(lu.default.dirname(a),`${e.name??"provenance"}.sigstore.json`),u=t.getProvenanceSubjects(c);if(u.length===0){dt(`No subjects found in provenance ${a}, skip signing.`);return}let d=lu.default.join(lu.default.dirname(a),u[0].name),f=["attest-blob","--yes","--oidc-provider","github-actions",...await this.bundleFormatArgs(),"--statement",a,"--type",rUe,"--bundle",l,...i];O(`[command]${this.cosign.binPath} ${[...f,d].join(" ")}`);let h=await Te.getExecOutput(this.cosign.binPath,["--verbose",...f,d],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),p=zs.parseCommandOutput(h.stderr.trim());if(h.exitCode!=0)if(p.errors&&p.errors.length>0){let m=p.errors.map(E=>`- [${E.code}] ${E.message} : ${E.detail}`).join(`
|
||||||
|
`);throw new Error(`Cosign attest-blob command failed with errors:
|
||||||
|
${m}`)}else throw new Error(`Cosign attest-blob command failed with: ${zs.getErrorMessage(h.stderr)}`);let g=t.parseBundle((0,kC.bundleFromJSON)(JSON.parse(cu.default.readFileSync(l,{encoding:"utf-8"}))));O("Provenance blob signed for:");for(let m of u){let[E,y]=Object.entries(m.digest)[0]||[];O(` - ${m.name} (${E}:${y})`)}g.tlogID&&await this.logTransparencyUpload(g.tlogID,n),O(`Sigstore bundle written to: ${l}`),r[a]={...g,bundlePath:l,subjects:u}})}catch(n){throw new Error(`Signing BuildKit provenance blobs failed: ${n.message}`)}return r}async verifySignedArtifacts(e,r){let n={};if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed artifacts");for(let[i,s]of Object.entries(e)){let a=lu.default.dirname(i);await kr(`Verifying signature bundle ${s.bundlePath}`,async()=>{for(let c of s.subjects){let l=lu.default.join(a,c.name);O(`Verifying signed artifact ${l}`);let u=["verify-blob-attestation",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp,"--type",r.predicateType??rUe];(r.noTransparencyLog||!s.tlogID)&&u.push("--use-signed-timestamps","--insecure-ignore-tlog");let d=await Te.getExecOutput(this.cosign.binPath,[...u,"--bundle",s.bundlePath,l],{ignoreReturnCode:!0});if(d.stderr.length>0&&d.exitCode!=0)throw new Error(d.stderr);n[l]={bundlePath:s.bundlePath,cosignArgs:u}}})}return n}async verifyArtifact(e,r,n){O("Verifying keyless verification bundle signature");let i=JSON.parse(cu.default.readFileSync(r,"utf-8")),s=(0,kC.bundleFromJSON)(i);O("Fetching Sigstore TUF trusted root metadata");let a=await iUe.getTrustedRoot({retry:{retries:5}}),c=(0,PC.toTrustMaterial)(a);try{O("Verifying artifact signature");let l=(0,PC.toSignedEntity)(s,cu.default.readFileSync(e)),u=t.parseCertificate(s),d=s.verificationMaterial.tlogEntries,f=d.length>0?d[0].logIndex:void 0,p=new PC.Verifier(c).verify(l,{subjectAlternativeName:n?.subjectAlternativeName,extensions:n?.issuer?{issuer:n.issuer}:void 0});return R(`Sigstore.verifyArtifact signer: ${JSON.stringify(p)}`),{payload:i,certificate:u.toString(),tlogID:f}}catch(l){throw new Error(`Failed to verify artifact signature: ${l}`)}}static noTransparencyLog(e){return e??Xe.context.payload.repository?.private??!1}async cosignSigningConfigArgs(e){let r=[],n=t.noTransparencyLog(e.noTransparencyLog);if(O(`Upload to transparency log: ${n?"disabled":"enabled"}`),await this.cosign.versionSatisfies(">=3.0.4")){let i=await this.useRekorV2(e);await kr("Creating Sigstore protobuf signing config",async()=>{let s=gt.tmpName({template:"signing-config-XXXXXX.json",tmpdir:gt.tmpDir()}),a=["signing-config","create",i?"--with-default-rekor-v2=true":"--with-default-services=true",`--out=${s}`];n&&a.push("--no-default-rekor=true"),await Te.exec(this.cosign.binPath,a,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),O(JSON.stringify(JSON.parse(cu.default.readFileSync(s,{encoding:"utf-8"})),null,2)),r.push(`--signing-config=${s}`)})}else r.push("--use-signing-config"),n&&r.push("--tlog-upload=false");return r}async logTransparencyUpload(e,r){if(await this.useRekorV2(r)){O(`Attestation signature uploaded to Rekor v2 transparency log with index ${e}`);return}O(`Attestation signature uploaded to Rekor transparency log: ${QC}?logIndex=${e}`)}async useRekorV2(e){return e.rekorV2===!0&&!t.noTransparencyLog(e.noTransparencyLog)&&await this.cosign.versionSatisfies(">=3.1.1")}static getProvenanceBlobs(e){let r=lu.default.join(e.localExportDir,"provenance.json");if(cu.default.existsSync(r))return{[r]:cu.default.readFileSync(r)};let n=cu.default.readdirSync(e.localExportDir,{withFileTypes:!0}),i=n.filter(s=>s.isDirectory());if(i.length>0&&i.length===n.length&&i.every(s=>cu.default.existsSync(lu.default.join(e.localExportDir,s.name,"provenance.json")))){let s={};for(let a of i){let c=lu.default.join(e.localExportDir,a.name,"provenance.json");s[c]=cu.default.readFileSync(c)}return s}throw new Error(`No valid provenance.json found in ${e.localExportDir}`)}static getProvenanceSubjects(e){return JSON.parse(e.toString()).subject.map(n=>({name:n.name,digest:n.digest}))}static parseBundle(e){let r=t.parseCertificate(e),n=e.verificationMaterial.tlogEntries,i=n.length>0?n[0].logIndex:void 0;return{payload:(0,kC.bundleToJSON)(e),certificate:r.toString(),tlogID:i}}static parseCertificate(e){let r;switch(e.verificationMaterial.content.$case){case"x509CertificateChain":r=e.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes;break;case"certificate":r=e.verificationMaterial.content.certificate.rawBytes;break;default:throw new Error("Bundle must contain an x509 certificate")}return new nUe.X509Certificate(r)}async bundleFormatArgs(){return await this.cosign.versionSatisfies(">=3.1.1")?[]:["--new-bundle-format"]}};var JO=class t{static{o(this,"Install")}standalone;githubToken;sigstore;constructor(e){this.standalone=e?.standalone,this.githubToke
Line truncated
|
||||||
|
`)){let[u,...d]=l.split(":"),f=u.toLowerCase(),h=d.map(p=>p.trim()).join(":");if(u.length!=0)switch(!0){case f=="name":n=void 0,r.name==null?r.name=h:(s&&i.gcPolicy&&(i.gcPolicy.push(s),s=void 0),i.name&&r.nodes.push(i),i={name:h});break;case f=="driver":n=void 0,r.driver=h;break;case f=="last activity":n=void 0,r.lastActivity=new Date(h);break;case f=="endpoint":n=void 0,i.endpoint=h;break;case f=="driver options":n=void 0,i["driver-opts"]=(h.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g)||[]).map(p=>p.replace(/^(.*)="(.*)"$/g,"$1=$2"));break;case f=="status":n=void 0,i.status=h;break;case f=="buildkit daemon flags":case f=="flags":n=void 0,i["buildkitd-flags"]=h;break;case f=="buildkit version":case f=="buildkit":n=void 0,i.buildkit=h;break;case f=="platforms":{if(n=void 0,!h)break;let p=[];if(h.includes("*"))for(let g of h.split(", "))g.includes("*")&&p.push(g.replace(/\*/g,""));else p=h.split(", ");i.platforms=p.join(",");break}case f=="features":n="features",i.features={};break;case f=="labels":n="label",i.labels={};break;case f=="devices":n="devices",i.devices=i.devices||[];break;case f.startsWith("gc policy rule#"):n="gcpolicy",i.gcPolicy&&s&&(i.gcPolicy.push(s),s=void 0);break;case f.startsWith("file#"):n="file",c=u.split("#")[1],i.files=i.files||{},i.files[c]="";break;default:switch(n&&n!=="devices"&&i.devices&&a&&(i.devices.push(a),a=void 0),n||""){case"features":{i.features=i.features||{},i.features[u.trim()]=!!h;break}case"label":{i.labels=i.labels||{},i.labels[u.trim()]=h;break}case"devices":{switch(f.trim()){case"name":{i.devices&&a&&i.devices.push(a),a={},a.name=h;break}case"on-demand":{a&&h&&(a.onDemand=h=="true");break}case"automatically allowed":{a&&h&&(a.autoAllow=h=="true");break}case"annotations":{a&&(a.annotations=a.annotations||{});break}default:a&&a.annotations&&(a.annotations[u.trim()]=h)}break}case"gcpolicy":{switch(i.gcPolicy=i.gcPolicy||[],s=s||{},f.trim()){case"all":{s.all=h=="true";break}case"filters":{h&&(s.filter=h.split(","));break}case"keep duration":{s.keepDuration=h;break}case"keep bytes":{s.keepBytes=h;break}case"reserved space":{s.reservedSpace=h;break}case"max used space":{s.maxUsedSpace=h;break}case"min free space":{s.minFreeSpace=h;break}}break}case"file":{c&&i.files&&(i.files[c].length>0&&(i.files[c]+=`
|
||||||
|
`),i.files[c]+=l.replace(/^\s>\s?/,""));break}}}}return a&&i.devices&&i.devices.push(a),s&&i.gcPolicy&&i.gcPolicy.push(s),i.name&&r.nodes.push(i),r}};var sUe=N(lc(),1);var YO=N(require("fs"),1);var KO=class{static{o(this,"Config")}resolveFromString(e){return this.resolve(e,!1)}resolveFromFile(e){return this.resolve(e,!0)}resolve(e,r){if(r){if(!YO.default.existsSync(e))throw new Error(`config file ${e} not found`);e=YO.default.readFileSync(e,{encoding:"utf-8"})}let n=gt.tmpName({tmpdir:gt.tmpDir()});return YO.default.writeFileSync(n,e),n}};var XO=class{static{o(this,"BuildKit")}buildx;config;constructor(e){this.config=new KO,this.buildx=e?.buildx||new yt}async getVersion(e){if(!e.buildkit&&e.name)try{return await this.getVersionWithinImage(e.name)}catch(r){dt(r)}return e.buildkit}async getVersionWithinImage(e){return R(`BuildKit.getVersionWithinImage nodeName: ${e}`),on.getExecOutput(["inspect","--format","{{.Config.Image}}",`${yt.containerNamePrefix}${e}`],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.exitCode==0&&r.stdout.length>0)return R(`BuildKit.getVersionWithinImage image: ${r.stdout.trim()}`),on.getExecOutput(["run","--rm",r.stdout.trim(),"--version"],{ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.exitCode==0&&n.stdout.length>0)return`${r.stdout.trim()} => ${n.stdout.trim()}`;if(n.stderr.length>0)throw new Error(r.stderr.trim());return n.stdout.trim()});if(r.stderr.length>0)throw new Error(r.stderr.trim());return r.stdout.trim()})}async versionSatisfies(e,r,n){n||(n=await new LC({buildx:this.buildx}).inspect(e));for(let i of n.nodes){let s=i.buildkit;if(R(`BuildKit.versionSatisfies ${s}: ${r}`),!s)try{s=await this.getVersionWithinImage(i.name||"")}catch{return R(`BuildKit.versionSatisfies ${i.name}: can't get version`),!1}if(R(`BuildKit.versionSatisfies ${i.name}: version ${s}`),n.driver=="docker"&&!s.endsWith("-moby")||!sUe.satisfies(s.replace(/-moby$/,""),r))return!1}return!0}};var ZO=class t{static{o(this,"Compose")}_version;_versionOnce;_standalone;constructor(e){this._standalone=e?.standalone,this._version="",this._versionOnce=!1}async isStandalone(){let e=this._standalone??!await on.isAvailable();return R(`Compose.isStandalone: ${e}`),e}async getCommand(e){let r=await this.isStandalone();return{command:r?"compose":"docker",args:r?e:["compose",...e]}}async isAvailable(){let e=await this.getCommand([]),r=await Te.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(n=>n.stderr.length>0&&n.exitCode!=0?(R(`Compose.isAvailable cmd err: ${n.stderr.trim()}`),!1):n.exitCode==0).catch(n=>(R(`Compose.isAvailable error: ${n}`),!1));return R(`Compose.isAvailable: ${r}`),r}async version(){if(this._versionOnce)return this._version;this._versionOnce=!0;let e=await this.getCommand(["version"]);return this._version=await Te.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr.trim());return t.parseVersion(r.stdout.trim())}),this._version}async printVersion(){let e=await this.getCommand(["version"]);await Te.exec(e.command,e.args,{failOnStdErr:!1})}static parseVersion(e){let r=/\sv?([0-9a-f]{7}|[0-9.]+)/.exec(e);if(!r)throw new Error("Cannot parse compose version");return r[1]}};var Nd=N(require("fs"),1),du=N(require("os"),1),FC=N(require("path"),1);var tL=N(lc(),1),YX=N(require("util"),1);var eL=class t{static{o(this,"Install")}standalone;githubToken;constructor(e){this.standalone=e?.standalone,this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN}async download(e,r){let n=await t.getDownloadVersion(e);R(`Install.download version: ${n.version}`);let i=await t.getRelease(n,this.githubToken);R(`Install.download release tag name: ${i.tag_name}`);let s=await this.vspec(i.tag_name);R(`Install.download vspec: ${s}`);let a=tL.clean(s)||"";if(!tL.valid(a))throw new Error(`Invalid Compose version "${s}".`);let c=new Yn({htcName:n.key!="official"?`compose-dl-bin-${n.key}`:"compose-dl-bin",htcVersion:s,baseCacheDir:FC.default.join(du.default.homedir(),".bin","docker-compose"),cacheFile:du.default.platform()=="win32"?"docker-compose.exe":"docker-compose",ghaNoCache:r}),l=await c.find();if(l)return O(`Compose binary found in ${l}`),l;let u=YX.format(n.downloadURL,s,this.filename());O(`Downloading ${u}`);let d=await $o(u,void 0,this.githubToken);R(`Install.download htcDownloadPath: ${d}`);let f=await c.save(d);return O(`Cached to ${f}`),f}async installStandalone(e,r){O("Standalone mode"),r=r||gt.tmpDir();let n=FC.default.join(r,"compose-bin-standalone");Nd.default.existsSync(n)||Nd.default.mkdirSync(n,{recursive:!0});let i=du.default.platform()=="win32"?"compose.exe":"compose",s=FC.default.join(n,i);return Nd.default.copyFileSync(e,s),O("Fixing perms"),Nd.default.chmodSync(s,"0755"),Mc(n),O("Added Compose to PATH"),O(`Binary path: ${s}`),s}async installPlugin(e,r){O("Docker plugin mode"),r=r||on.configDir;let n=FC.default.join(r,"cli-plugins");Nd.default.existsSync(n)||Nd.default.mkdirSync(n,{recursive:!0});let i=du.default
Line truncated
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
ARG GO_VERSION="1.24"
|
||||||
|
ARG ALPINE_VERSION="3.22"
|
||||||
|
|
||||||
|
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.7.0 AS xx
|
||||||
|
|
||||||
|
FROM --platform=$BUILDPLATFORM golang:\${GO_VERSION}-alpine\${ALPINE_VERSION} AS builder-base
|
||||||
|
COPY --from=xx / /
|
||||||
|
RUN apk add --no-cache git
|
||||||
|
ENV GOTOOLCHAIN=auto
|
||||||
|
ENV CGO_ENABLED=0
|
||||||
|
WORKDIR /src
|
||||||
|
RUN --mount=type=cache,target=/go/pkg/mod \\
|
||||||
|
--mount=type=bind,source=go.mod,target=go.mod \\
|
||||||
|
--mount=type=bind,source=go.sum,target=go.sum \\
|
||||||
|
go mod download
|
||||||
|
|
||||||
|
FROM builder-base AS version
|
||||||
|
RUN --mount=type=bind,target=. <<'EOT'
|
||||||
|
git rev-parse HEAD 2>/dev/null || {
|
||||||
|
echo >&2 "Failed to get git revision, make sure --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 is set when building from Git directly"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
set -ex
|
||||||
|
export PKG=sigs.k8s.io BUILDDATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TREESTATE=$(if ! git diff --no-ext-diff --quiet --exit-code; then echo dirty; else echo clean; fi) VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) COMMIT=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi);
|
||||||
|
echo "-X \${PKG}/release-utils/version.gitVersion=\${VERSION} -X \${PKG}/release-utils/version.gitCommit=\${COMMIT} -X \${PKG}/release-utils/version.gitTreeState=\${TREESTATE} -X \${PKG}/release-utils/version.buildDate=\${BUILDDATE}" > /tmp/.ldflags;
|
||||||
|
echo -n "\${VERSION}" > /tmp/.version;
|
||||||
|
EOT
|
||||||
|
|
||||||
|
FROM builder-base AS builder
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
RUN --mount=type=bind,target=. \\
|
||||||
|
--mount=type=cache,target=/root/.cache,id=cosign-$TARGETPLATFORM \\
|
||||||
|
--mount=source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \\
|
||||||
|
--mount=type=cache,target=/go/pkg/mod <<EOT
|
||||||
|
set -ex
|
||||||
|
xx-go build -trimpath -ldflags "-s -w $(cat /tmp/.ldflags)" -o /out/cosign ./cmd/cosign
|
||||||
|
xx-verify --static /out/cosign
|
||||||
|
EOT
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=builder /out /
|
||||||
|
`;var rL=class t{static{o(this,"Install")}githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new yt,this.sigstore=e?.sigstore||new Ch}async download(e){let r=await t.getDownloadVersion(e.version);R(`Install.download version: ${r.version}`);let n=await t.getRelease(r,this.githubToken);R(`Install.download release tag name: ${n.tag_name}`);let i=await this.vspec(n.tag_name);R(`Install.download vspec: ${i}`);let s=UC.clean(i)||"";if(!UC.valid(s))throw new Error(`Invalid Cosign version "${i}".`);let a=new Yn({htcName:"cosign-dl-bin",htcVersion:i,baseCacheDir:MC.default.join(Sc.default.homedir(),".bin"),cacheFile:Sc.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:e.ghaNoCache}),c=await a.find();if(c)return O(`Cosign binary found in ${c}`),c;let l=KX.format(r.downloadURL,i,this.filename());O(`Downloading ${l}`);let u=await $o(l,void 0,this.githubToken);R(`Install.download htcDownloadPath: ${u}`),e.verifySignature&&UC.satisfies(i,">=3.0.1")&&await this.verifySignature(u,l);let d=await a.save(u,e.skipState);return O(`Cached to ${d}`),d}async build(e,r,n){let i=await this.vspec(e);R(`Install.build vspec: ${i}`);let s=new Yn({htcName:"cosign-build-bin",htcVersion:i,baseCacheDir:MC.default.join(Sc.default.homedir(),".bin"),cacheFile:Sc.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),a=await s.find();if(a)return O(`Cosign binary found in ${a}`),a;let c=MC.default.join(gt.tmpDir(),"cosign-build-cache"),l=await this.buildCommand(e,c),u=await Te.getExecOutput(l.command,l.args,{ignoreReturnCode:!0,input:Buffer.from(oUe)}).then(f=>{if(f.stderr.length>0&&f.exitCode!=0)throw new Error(`build failed with: ${yt.getErrorMessage(f.stderr)}`);return`${c}/cosign`}),d=await s.save(u,n);return O(`Cached to ${d}`),d}async install(e,r){r=r||gt.tmpDir();let n=MC.default.join(r,"cosign-bin");GB.default.existsSync(n)||GB.default.mkdirSync(n,{recursive:!0});let i=Sc.default.platform()=="win32"?"cosign.exe":"cosign",s=MC.default.join(n,i);return GB.default.copyFileSync(e,s),O("Fixing perms"),GB.default.chmodSync(s,"0755"),Mc(n),O("Added Cosign to PATH"),O(`Binary path: ${s}`),s}async buildCommand(e,r){let n=await new yt({standalone:!0}).isAvailable(),i=await new yt({standalone:!1}).isAvailable(),s=!1;if(await this.buildx.isStandalone()&&n)R("Install.buildCommand: Buildx standalone found, build with it"),s=!0;else if(!await this.buildx.isStandalone()&&i)R("Install.buildCommand: Buildx plugin found, build with it"),s=!1;else if(n)R("Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it"),s=!0;else if(i)R("Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it"),s=!1;else throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${e}`);let a=["build","--platform","local","--build-arg","BUILDKIT_CONTEXT_KEEP_GIT_DIR=1","--output",`type=local,dest=${r}`];return process.env.GIT_AUTH_TOKEN&&a.push("--secret","id=GIT_AUTH_TOKEN"),a.push("-f-",e),await new yt({standalone:s}).getCommand(a)}async verifySignature(e,r){let n=`${r}.sigstore.json`;O(`Downloading keyless verification bundle at ${n}`);let i=await $o(n,void 0,this.githubToken);R(`Install.verifySignature bundlePath: ${i}`);let s=await this.sigstore.verifyArtifact(e,i,{subjectAlternativeName:"keyless@projectsigstore.iam.gserviceaccount.com",issuer:"https://accounts.google.com"});O(`Cosign binary signature verified! ${s.tlogID?`${QC}?logIndex=${s.tlogID}`:""}`)}filename(){let e;switch(Sc.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=Sc.default.arch();break}}let r=Sc.default.platform()=="win32"?"windows":Sc.default.platform(),n=Sc.default.platform()=="win32"?".exe":"";return KX.format("cosign-%s-%s%s",r,e,n)}async vspec(e){if(!re.isValidRef(e)){let u=e.replace(/^v+|v+$/g,"");return O(`Use ${u} version spec cache key for ${e}`),u}let[r,n]=e.split("#");n.length==0&&(n="master");let i;n.match(/^[0-9a-fA-F]{40}$/)?i=n:i=await rC.remoteSha(r,n,process.env.GIT_AUTH_TOKEN);let[s,a]=r.substring(19).split("/"),c=`${s}/${re.trimSuffix(a,".git")}/${i}`,l=re.hash(c);return O(`Use ${l} version spec cache key for ${c}`),l}static async getDownloadVersion(e){return{version:e,downloadURL:"https://github.com/sigstore/cosign/releases/download/v%s/%s",contentOpts:{owner:"docker",repo:"actions-toolkit",ref:"main",path:".github/cosign-releases.json"}}}static async getRelease(e,r){let i=await new Xe({token:r}).releases("Cosign",e.contentOpts);if(!i[e.version])throw new Error(`Cannot find Cosign release ${e.version} in releases JSON`);return i[e.version]}};var aUe=N(lc(),1);var nL=class{static{o(this,"Regctl")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"regctl",this._version="",this._versionOnce=!1}async blobGet(e){return await Te.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stder
Line truncated
|
||||||
|
`)[0]?.trim()):a=new Error(`buildx failed with: ${yt.getErrorMessage(f.stderr)}`))});let c=r.buildxBuild.resolveImageID(),l=r.buildxBuild.resolveMetadata(),u=r.buildxBuild.resolveDigest(l);c&&await kr("ImageID",async()=>{O(c),SN("imageid",c)}),u&&await kr("Digest",async()=>{O(u),SN("digest",u)}),l&&await kr("Metadata",async()=>{let f=JSON.stringify(l,null,2);Xe.printUntrusted(f),SN("metadata",f)});let d;if(await kr("Reference",async()=>{d=await n5t(r,t,e.builder),d?(O(d),CUe(d)):O("No build reference found")}),i5t()){let f=r.buildxBuild.resolveWarnings(l);if(d&&f&&f.length>0){let h=await yt.convertWarningsToGitHubAnnotations(f,[d]);R(`annotations: ${JSON.stringify(h,null,2)}`),h&&h.length>0&&await kr(`Generating GitHub annotations (${h.length} build checks found)`,async()=>{for(let p of h)dt(p.message,p)})}}if(await kr("Check build summary support",async()=>{s5t()?e.call&&e.call!=="build"?O(`Build summary skipped for ${e.call} subrequest`):Xe.isGHES?O("Build summary is not yet supported on GHES"):await r.buildx.versionSatisfies(">=0.23.0")?d?(O("Build summary supported!"),bUe()):O("Build summary requires a build reference"):O("Build summary requires Buildx >= 0.23.0"):O("Build summary disabled")}),a)throw a},async()=>{mUe&&await kr("Generating build summary",async()=>{try{let t=o5t(),e;t&&(e=a5t());let n=await new WD().export({refs:tZ?[tZ]:[]});O(`Build record written to ${n.dockerbuildFilename} (${re.formatFileSize(n.dockerbuildSize)})`);let i;t&&(i=await sP.upload({filename:n.dockerbuildFilename,retentionDays:e})),await pP.writeBuildSummary({exportRes:n,uploadRes:i,inputs:AUe,driver:hUe,endpoint:pUe})}catch(t){dt(t.message)}}),$B.length>0&&await kr(`Removing temp folder ${$B}`,async()=>{try{wUe.rmSync($B,{recursive:!0})}catch{dt(`Failed to remove temp folder ${$B}`)}})});async function n5t(t,e,r){let n=t.buildxBuild.resolveRef();if(n)return n;r||(r=(await t.builder.inspect()).name);let i=yt.refs({dir:yt.refsDir,builderName:r,since:e});return Object.keys(i).length>0?Object.keys(i)[0]:""}o(n5t,"buildRef");function i5t(){return process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS?re.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS):!0}o(i5t,"buildChecksAnnotationsEnabled");function s5t(){return process.env.DOCKER_BUILD_SUMMARY?re.parseBool(process.env.DOCKER_BUILD_SUMMARY):!0}o(s5t,"buildSummaryEnabled");function o5t(){return process.env.DOCKER_BUILD_RECORD_UPLOAD?re.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD):!0}o(o5t,"buildRecordUploadEnabled");function a5t(){let t=process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;if(t){let e=parseInt(t);if(isNaN(e))throw new Error(`Invalid build record retention days: ${t}`);return e}}o(a5t,"buildRecordRetentionDays");
|
||||||
|
/*! Bundled license information:
|
||||||
|
|
||||||
|
undici/lib/web/fetch/body.js:
|
||||||
|
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
|
||||||
|
|
||||||
|
undici/lib/web/websocket/frame.js:
|
||||||
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
||||||
|
|
||||||
|
tmp/lib/tmp.js:
|
||||||
|
(*!
|
||||||
|
* Tmp
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
|
||||||
|
*
|
||||||
|
* MIT Licensed
|
||||||
|
*)
|
||||||
|
|
||||||
|
normalize-path/index.js:
|
||||||
|
(*!
|
||||||
|
* normalize-path <https://github.com/jonschlinkert/normalize-path>
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014-2018, Jon Schlinkert.
|
||||||
|
* Released under the MIT License.
|
||||||
|
*)
|
||||||
|
|
||||||
|
archiver/lib/error.js:
|
||||||
|
archiver/lib/core.js:
|
||||||
|
(**
|
||||||
|
* Archiver Core
|
||||||
|
*
|
||||||
|
* @ignore
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
crc-32/crc32.js:
|
||||||
|
(*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *)
|
||||||
|
|
||||||
|
zip-stream/index.js:
|
||||||
|
(**
|
||||||
|
* ZipStream
|
||||||
|
*
|
||||||
|
* @ignore
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-zip-stream/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
archiver/lib/plugins/zip.js:
|
||||||
|
(**
|
||||||
|
* ZIP Format Plugin
|
||||||
|
*
|
||||||
|
* @module plugins/zip
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
archiver/lib/plugins/tar.js:
|
||||||
|
(**
|
||||||
|
* TAR Format Plugin
|
||||||
|
*
|
||||||
|
* @module plugins/tar
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
archiver/lib/plugins/json.js:
|
||||||
|
(**
|
||||||
|
* JSON Format Plugin
|
||||||
|
*
|
||||||
|
* @module plugins/json
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
archiver/index.js:
|
||||||
|
(**
|
||||||
|
* Archiver Vending
|
||||||
|
*
|
||||||
|
* @ignore
|
||||||
|
* @license [MIT]{@link https://github.com/archiverjs/node-archiver/blob/master/LICENSE}
|
||||||
|
* @copyright (c) 2012-2014 Chris Talkington, contributors.
|
||||||
|
*)
|
||||||
|
|
||||||
|
he/he.js:
|
||||||
|
(*! https://mths.be/he v1.2.0 by @mathias | MIT license *)
|
||||||
|
|
||||||
|
@octokit/request-error/dist-src/index.js:
|
||||||
|
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
|
||||||
|
|
||||||
|
@octokit/request/dist-bundle/index.js:
|
||||||
|
(* v8 ignore next -- @preserve *)
|
||||||
|
(* v8 ignore else -- @preserve *)
|
||||||
|
|
||||||
|
js-yaml/dist/js-yaml.mjs:
|
||||||
|
(*! js-yaml 5.4.1 https://github.com/nodeca/js-yaml @license MIT *)
|
||||||
|
*/
|
||||||
|
//# sourceMappingURL=index.cjs.map
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
|
||||||
|
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
|
||||||
|
"mappings": "ipBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAJSE,EAAAP,IAAA,gBAMT,SAASC,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAN,IAAA,iBAQT,SAASC,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAJSE,EAAAL,IAAA,iBAMT,SAASC,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAJ,IAAA,kBAST,SAASG,GAAeF,EAAS,CAC/B,IAAIK,EAAO,KACXA,EAAK,QAAUL,GAAW,CAAC,EAC3BK,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcd,GAAK,MAAM,kBACxDc,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQF,EAAA,SAAgBG,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIT,EAAUU,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASb,EAAQ,MAAQa,EAAQ,OAASb,EAAQ,KAAM,CAGlEK,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,EAdgB,SAcf,CACH,CAvBSH,EAAAD,GAAA,kBAwBTP,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAaC,EAAA,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPL,EAAUe,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKL,CAAO,EAC1B,MACF,CAGAK,EAAK,aAAaL,EAAS,SAASM,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQN,CAAO,CACnC,CAFSG,EAAAa,EAAA,UAIT,SAASC,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CALSd,EAAAc,EAAA,kBAMX,CAAC,CACH,EA5BsC,cA8BtCf,GAAe,UAAU,aAAeC,EAAA,SAAsBH,EAASmB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAML,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVqB,EAAe,aAAerB,EAAQ,cAEpCqB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAHSzB,EAAAqB,EAAA,cAKT,SAASC,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CALS1B,EAAAsB,EAAA,aAOT,SAASC,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CA3BSH,EAAAuB,EAAA,aA6BT,SAASC,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CAVSjB,EAAAwB,EAAA,UAWX,EAnFwC,gBAqFxCzB,GAAe,UAAU,aAAeC,EAAA,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAfwC,gBAiBxC,SAASF,GAAmBJ,EAASmB,EAAI,CACvC,IAAId,EAAO,KACXH,GAAe,UAAU,aAAa,KAAKG,EAAML,EAAS,SAASM,EAAQ,CACzE,IAAI2B,EAAajC,EAAQ,QAAQ,UAAU,MAAM,EAC7CkC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIjC,EAAQ,IACpE,CAAC,EAGGmC,EAAe7C,IAAI,QAAQ,EAAG4C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAdShC,EAAAC,GAAA,sBAiBT,SAASM,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CATSJ,EAAAO,GAAA,aAWT,SAASK,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAdSjC,EAAAY,GAAA,gBAiBT,IAAIO,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQnB,EAAA,UAAW,CACjB,IAAIuC,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WALine truncated
|
||||||
|
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "__name", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "__name", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "__name", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "__name", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "__name", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "resetLine truncated
|
||||||
|
}
|
||||||
-32
@@ -1,32 +0,0 @@
|
|||||||
require('./sourcemap-register.js');(()=>{var __webpack_modules__={7799:function(e,t,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){if(i===undefined)i=r;var s=Object.getOwnPropertyDescriptor(t,r);if(!s||("get"in s?!t.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,i,s)}:function(e,t,r,i){if(i===undefined)i=r;e[i]=t[r]});var s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))i(t,e,r);s(t,e);return t};var a=this&&this.__awaiter||function(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i["throw"](e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.saveCache=t.restoreCache=t.isFeatureAvailable=t.ReserveCacheError=t.ValidationError=void 0;const o=n(r(2186));const l=n(r(1017));const c=n(r(1518));const p=n(r(8245));const d=r(3434);class ValidationError extends Error{constructor(e){super(e);this.name="ValidationError";Object.setPrototypeOf(this,ValidationError.prototype)}}t.ValidationError=ValidationError;class ReserveCacheError extends Error{constructor(e){super(e);this.name="ReserveCacheError";Object.setPrototypeOf(this,ReserveCacheError.prototype)}}t.ReserveCacheError=ReserveCacheError;function checkPaths(e){if(!e||e.length===0){throw new ValidationError(`Path Validation Error: At least one directory or file path is required`)}}function checkKey(e){if(e.length>512){throw new ValidationError(`Key Validation Error: ${e} cannot be larger than 512 characters.`)}const t=/^[^,]*$/;if(!t.test(e)){throw new ValidationError(`Key Validation Error: ${e} cannot contain commas.`)}}function isFeatureAvailable(){return!!process.env["ACTIONS_CACHE_URL"]}t.isFeatureAvailable=isFeatureAvailable;function restoreCache(e,t,r,i,s=false){return a(this,void 0,void 0,(function*(){checkPaths(e);r=r||[];const n=[t,...r];o.debug("Resolved Keys:");o.debug(JSON.stringify(n));if(n.length>10){throw new ValidationError(`Key Validation Error: Keys are limited to a maximum of 10.`)}for(const e of n){checkKey(e)}const a=yield c.getCompressionMethod();let A="";try{const t=yield p.getCacheEntry(n,e,{compressionMethod:a,enableCrossOsArchive:s});if(!(t===null||t===void 0?void 0:t.archiveLocation)){return undefined}if(i===null||i===void 0?void 0:i.lookupOnly){o.info("Lookup only - skipping download");return t.cacheKey}A=l.join(yield c.createTempDirectory(),c.getCacheFileName(a));o.debug(`Archive Path: ${A}`);yield p.downloadCache(t.archiveLocation,A,i);if(o.isDebug()){yield(0,d.listTar)(A,a)}const r=c.getArchiveFileSizeInBytes(A);o.info(`Cache Size: ~${Math.round(r/(1024*1024))} MB (${r} B)`);yield(0,d.extractTar)(A,a);o.info("Cache restored successfully");return t.cacheKey}catch(e){const t=e;if(t.name===ValidationError.name){throw e}else{o.warning(`Failed to restore: ${e.message}`)}}finally{try{yield c.unlinkFile(A)}catch(e){o.debug(`Failed to delete archive: ${e}`)}}return undefined}))}t.restoreCache=restoreCache;function saveCache(e,t,r,i=false){var s,n,A,u,m;return a(this,void 0,void 0,(function*(){checkPaths(e);checkKey(t);const a=yield c.getCompressionMethod();let h=-1;const g=yield c.resolvePaths(e);o.debug("Cache Paths:");o.debug(`${JSON.stringify(g)}`);if(g.length===0){throw new Error(`Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.`)}const E=yield c.createTempDirectory();const y=l.join(E,c.getCacheFileName(a));o.debug(`Archive Path: ${y}`);try{yield(0,d.createTar)(E,g,a);if(o.isDebug()){yield(0,d.listTar)(y,a)}const l=10*1024*1024*1024;const C=c.getArchiveFileSizeInBytes(y);o.debug(`File Size: ${C}`);if(C>l&&!c.isGhes()){throw new Error(`Cache size of ~${Math.round(C/(1024*1024))} MB (${C} B) is over the 10GB limit, not saving cache.`)}o.debug("Reserving Cache");const b=yield p.reserveCache(t,e,{compressionMethod:a,enableCrossOsArchive:i,cacheSize:C});if((s=b===null||b===void 0?void 0:b.result)===null||s===void 0?void 0:s.cacheId){h=(n=b===null||b===void 0?void 0:b.result)===null||n===void 0?void 0:n.cacheId}else if((b===null||b===void 0?void 0:b.statusCode)===400){throw new Error((u=(A=b===null||b===void 0?void 0:b.error)===null||A===void 0?void 0:A.message)!==null&&u!==void 0?u:`Cache size of ~${Math.round(C/(1024*1024))} MB (${C} B) is over the data cap limit, not saving cache.`)}else{throw new ReserveCacheError(`Unable to reserve cache with key ${t}, another job may be creating this cache. More details: ${(m=b===null||b===Line truncated
|
|
||||||
/*!
|
|
||||||
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
||||||
*
|
|
||||||
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
||||||
* Released under the MIT License.
|
|
||||||
*/function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var t,r;if(isObject(e)===false)return false;t=e.constructor;if(t===undefined)return true;r=t.prototype;if(isObject(r)===false)return false;if(r.hasOwnProperty("isPrototypeOf")===false){return false}return true}t.isPlainObject=isPlainObject},7426:(e,t,r)=>{
|
|
||||||
/*!
|
|
||||||
* mime-db
|
|
||||||
* Copyright(c) 2014 Jonathan Ong
|
|
||||||
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
e.exports=r(3765)},3583:(e,t,r)=>{"use strict";
|
|
||||||
/*!
|
|
||||||
* mime-types
|
|
||||||
* Copyright(c) 2014 Jonathan Ong
|
|
||||||
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
||||||
* MIT Licensed
|
|
||||||
*/var i=r(7426);var s=r(1017).extname;var n=/^\s*([^;\s]*)(?:;|\s|$)/;var a=/^text\//i;t.charset=charset;t.charsets={lookup:charset};t.contentType=contentType;t.extension=extension;t.extensions=Object.create(null);t.lookup=lookup;t.types=Object.create(null);populateMaps(t.extensions,t.types);function charset(e){if(!e||typeof e!=="string"){return false}var t=n.exec(e);var r=t&&i[t[1].toLowerCase()];if(r&&r.charset){return r.charset}if(t&&a.test(t[1])){return"UTF-8"}return false}function contentType(e){if(!e||typeof e!=="string"){return false}var r=e.indexOf("/")===-1?t.lookup(e):e;if(!r){return false}if(r.indexOf("charset")===-1){var i=t.charset(r);if(i)r+="; charset="+i.toLowerCase()}return r}function extension(e){if(!e||typeof e!=="string"){return false}var r=n.exec(e);var i=r&&t.extensions[r[1].toLowerCase()];if(!i||!i.length){return false}return i[0]}function lookup(e){if(!e||typeof e!=="string"){return false}var r=s("x."+e).toLowerCase().substr(1);if(!r){return false}return t.types[r]||false}function populateMaps(e,t){var r=["nginx","apache",undefined,"iana"];Object.keys(i).forEach((function forEachMimeType(s){var n=i[s];var a=n.extensions;if(!a||!a.length){return}e[s]=a;for(var o=0;o<a.length;o++){var l=a[o];if(t[l]){var c=r.indexOf(i[t[l]].source);var p=r.indexOf(n.source);if(t[l]!=="application/octet-stream"&&(c>p||c===p&&t[l].substr(0,12)==="application/")){continue}}t[l]=s}}))}},3973:(e,t,r)=>{e.exports=minimatch;minimatch.Minimatch=Minimatch;var i=function(){try{return r(1017)}catch(e){}}()||{sep:"/"};minimatch.sep=i.sep;var s=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var n=r(3717);var a={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var o="[^/]";var l=o+"*?";var c="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var p="(?:(?!(?:\\/|^)\\.).)*?";var d=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce((function(e,t){e[t]=true;return e}),{})}var A=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(r,i,s){return minimatch(r,e,t)}}function ext(e,t){t=t||{};var r={};Object.keys(e).forEach((function(t){r[t]=e[t]}));Object.keys(t).forEach((function(e){r[e]=t[e]}));return r}minimatch.defaults=function(e){if(!e||typeof e!=="object"||!Object.keys(e).length){return minimatch}var t=minimatch;var r=function minimatch(r,i,s){return t(r,i,ext(e,s))};r.Minimatch=function Minimatch(r,i){return new t.Minimatch(r,ext(e,i))};r.Minimatch.defaults=function defaults(r){return t.defaults(ext(e,r)).Minimatch};r.filter=function filter(r,i){return t.filter(r,ext(e,i))};r.defaults=function defaults(r){return t.defaults(ext(e,r))};r.makeRe=function makeRe(r,i){return t.makeRe(r,ext(e,i))};r.braceExpand=function braceExpand(r,i){return t.braceExpand(r,ext(e,i))};r.match=function(r,i,s){return t.match(r,i,ext(e,s))};return r};Minimatch.defaults=function(e){return minimatch.defaults(e).Minimatch};function minimatch(e,t,r){assertValidPattern(t);if(!r)r={};if(!r.nocomment&&t.charAt(0)==="#"){return false}return new Minimatch(t,r).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}assertValidPattern(e);if(!t)t={};e=e.trim();if(!t.allowWindowsEscape&&i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.partial=!!t.partial;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(t.debug)this.debug=function debug(){console.error.apply(console,arguments)};this.debug(this.pattern,r);r=this.globParts=r.map((function(e){return e.split(A)}));this.debug(this.pattern,r);r=r.map((function(e,t,r){return e.map(this.parse,this)}),this);this.debug(this.pattern,r);r=r.filter((function(e){return e.indexOf(false)===-1}));this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var r=this.options;var i=0;if(r.nonegate)return;for(var s=0,n=e.length;s<n&&e.charAt(s)==="!";s++){t=!t;i++}if(i)this.pattern=e.substr(i);this.negate=t}minimatch.braceExpand=function(e,t){return braceExpand(e,t)};Minimatch.prototype.braceExpand=braceExpand;function braceExpand(e,t){if(!t){if(this instanceof Minimatch){t=this.options}else{t={}}}e=typeof e==="undefined"?this.pattern:e;assertValidPattern(e);if(t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)){return[e]}return n(e)}var u=1024*64;var assertValidPattern=function(e){if(typeof e!=="string"){throw new TypeError("invalid pattern")}if(e.length>u){throw new TypeError("pattern is too long")}};Minimatch.prototype.parse=parse;var m={};function parse(e,t){assertValidPattern(e);var r=this.options;if(e==="**"){if(!r.noglobstar)return s;else e="*"}iLine truncated
|
|
||||||
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint){(function(){var e=String.fromCharCode;var t=Math.floor;var fromCodePoint=function(){var r=16384;var i=[];var s;var n;var a=-1;var o=arguments.length;if(!o){return""}var l="";while(++a<o){var c=Number(arguments[a]);if(!isFinite(c)||c<0||c>1114111||t(c)!==c){throw RangeError("Invalid code point: "+c)}if(c<=65535){i.push(c)}else{c-=65536;s=(c>>10)+55296;n=c%1024+56320;i.push(s,n)}if(a+1===o||i.length>r){l+=e.apply(null,i);i.length=0}}return l};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(false?0:t)},5911:(e,t)=>{t=e.exports=SemVer;var r;if(typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)){r=function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER");console.log.apply(console,e)}}else{r=function(){}}t.SEMVER_SPEC_VERSION="2.0.0";var i=256;var s=Number.MAX_SAFE_INTEGER||9007199254740991;var n=16;var a=i-6;var o=t.re=[];var l=t.safeRe=[];var c=t.src=[];var p=t.tokens={};var d=0;function tok(e){p[e]=d++}var A="[a-zA-Z0-9-]";var u=[["\\s",1],["\\d",i],[A,a]];function makeSafeRe(e){for(var t=0;t<u.length;t++){var r=u[t][0];var i=u[t][1];e=e.split(r+"*").join(r+"{0,"+i+"}").split(r+"+").join(r+"{1,"+i+"}")}return e}tok("NUMERICIDENTIFIER");c[p.NUMERICIDENTIFIER]="0|[1-9]\\d*";tok("NUMERICIDENTIFIERLOOSE");c[p.NUMERICIDENTIFIERLOOSE]="\\d+";tok("NONNUMERICIDENTIFIER");c[p.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-]"+A+"*";tok("MAINVERSION");c[p.MAINVERSION]="("+c[p.NUMERICIDENTIFIER]+")\\."+"("+c[p.NUMERICIDENTIFIER]+")\\."+"("+c[p.NUMERICIDENTIFIER]+")";tok("MAINVERSIONLOOSE");c[p.MAINVERSIONLOOSE]="("+c[p.NUMERICIDENTIFIERLOOSE]+")\\."+"("+c[p.NUMERICIDENTIFIERLOOSE]+")\\."+"("+c[p.NUMERICIDENTIFIERLOOSE]+")";tok("PRERELEASEIDENTIFIER");c[p.PRERELEASEIDENTIFIER]="(?:"+c[p.NUMERICIDENTIFIER]+"|"+c[p.NONNUMERICIDENTIFIER]+")";tok("PRERELEASEIDENTIFIERLOOSE");c[p.PRERELEASEIDENTIFIERLOOSE]="(?:"+c[p.NUMERICIDENTIFIERLOOSE]+"|"+c[p.NONNUMERICIDENTIFIER]+")";tok("PRERELEASE");c[p.PRERELEASE]="(?:-("+c[p.PRERELEASEIDENTIFIER]+"(?:\\."+c[p.PRERELEASEIDENTIFIER]+")*))";tok("PRERELEASELOOSE");c[p.PRERELEASELOOSE]="(?:-?("+c[p.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+c[p.PRERELEASEIDENTIFIERLOOSE]+")*))";tok("BUILDIDENTIFIER");c[p.BUILDIDENTIFIER]=A+"+";tok("BUILD");c[p.BUILD]="(?:\\+("+c[p.BUILDIDENTIFIER]+"(?:\\."+c[p.BUILDIDENTIFIER]+")*))";tok("FULL");tok("FULLPLAIN");c[p.FULLPLAIN]="v?"+c[p.MAINVERSION]+c[p.PRERELEASE]+"?"+c[p.BUILD]+"?";c[p.FULL]="^"+c[p.FULLPLAIN]+"$";tok("LOOSEPLAIN");c[p.LOOSEPLAIN]="[v=\\s]*"+c[p.MAINVERSIONLOOSE]+c[p.PRERELEASELOOSE]+"?"+c[p.BUILD]+"?";tok("LOOSE");c[p.LOOSE]="^"+c[p.LOOSEPLAIN]+"$";tok("GTLT");c[p.GTLT]="((?:<|>)?=?)";tok("XRANGEIDENTIFIERLOOSE");c[p.XRANGEIDENTIFIERLOOSE]=c[p.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";tok("XRANGEIDENTIFIER");c[p.XRANGEIDENTIFIER]=c[p.NUMERICIDENTIFIER]+"|x|X|\\*";tok("XRANGEPLAIN");c[p.XRANGEPLAIN]="[v=\\s]*("+c[p.XRANGEIDENTIFIER]+")"+"(?:\\.("+c[p.XRANGEIDENTIFIER]+")"+"(?:\\.("+c[p.XRANGEIDENTIFIER]+")"+"(?:"+c[p.PRERELEASE]+")?"+c[p.BUILD]+"?"+")?)?";tok("XRANGEPLAINLOOSE");c[p.XRANGEPLAINLOOSE]="[v=\\s]*("+c[p.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+c[p.XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+c[p.XRANGEIDENTIFIERLOOSE]+")"+"(?:"+c[p.PRERELEASELOOSE]+")?"+c[p.BUILD]+"?"+")?)?";tok("XRANGE");c[p.XRANGE]="^"+c[p.GTLT]+"\\s*"+c[p.XRANGEPLAIN]+"$";tok("XRANGELOOSE");c[p.XRANGELOOSE]="^"+c[p.GTLT]+"\\s*"+c[p.XRANGEPLAINLOOSE]+"$";tok("COERCE");c[p.COERCE]="(^|[^\\d])"+"(\\d{1,"+n+"})"+"(?:\\.(\\d{1,"+n+"}))?"+"(?:\\.(\\d{1,"+n+"}))?"+"(?:$|[^\\d])";tok("COERCERTL");o[p.COERCERTL]=new RegExp(c[p.COERCE],"g");l[p.COERCERTL]=new RegExp(makeSafeRe(c[p.COERCE]),"g");tok("LONETILDE");c[p.LONETILDE]="(?:~>?)";tok("TILDETRIM");c[p.TILDETRIM]="(\\s*)"+c[p.LONETILDE]+"\\s+";o[p.TILDETRIM]=new RegExp(c[p.TILDETRIM],"g");l[p.TILDETRIM]=new RegExp(makeSafeRe(c[p.TILDETRIM]),"g");var m="$1~";tok("TILDE");c[p.TILDE]="^"+c[p.LONETILDE]+c[p.XRANGEPLAIN]+"$";tok("TILDELOOSE");c[p.TILDELOOSE]="^"+c[p.LONETILDE]+c[p.XRANGEPLAINLOOSE]+"$";tok("LONECARET");c[p.LONECARET]="(?:\\^)";tok("CARETTRIM");c[p.CARETTRIM]="(\\s*)"+c[p.LONECARET]+"\\s+";o[p.CARETTRIM]=new RegExp(c[p.CARETTRIM],"g");l[p.CARETTRIM]=new RegExp(makeSafeRe(c[p.CARETTRIM]),"g");var h="$1^";tok("CARET");c[p.CARET]="^"+c[p.LONECARET]+c[p.XRANGEPLAIN]+"$";tok("CARETLOOSE");c[p.CARETLOOSE]="^"+c[p.LONECARET]+c[p.XRANGEPLAINLOOSE]+"$";tok("COMPARATORLOOSE");c[p.COMPARATORLOOSE]="^"+c[p.GTLT]+"\\s*("+c[p.LOOSEPLAIN]+")$|^$";tok("COMPARATOR");c[p.COMPARATOR]="^"+c[p.GTLT]+"\\s*("+c[p.FULLPLAIN]+")$|^$";tok("COMPARATORTRIM");c[p.COMPARATORTRIM]="(\\s*)"+c[p.GTLT]+"\\s*("+c[p.LOOSEPLAIN]+"|"+c[p.XRANGEPLAIN]+")";o[p.COMPARATORTRIM]=new RegExp(c[p.COMPARATORTRIM],"g");l[p.COMPARATORTRIM]=new RegExp(makeSafeRe(c[p.COMPARATORTRIM]),"g");var g="$1$2$3";tok("HYPLine truncated
|
|
||||||
/*!
|
|
||||||
* Tmp
|
|
||||||
*
|
|
||||||
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
|
|
||||||
*
|
|
||||||
* MIT Licensed
|
|
||||||
*/
|
|
||||||
const i=r(7147);const s=r(2037);const n=r(1017);const a=r(6113);const o={fs:i.constants,os:s.constants};const l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",c=/XXXXXX/,p=3,d=(o.O_CREAT||o.fs.O_CREAT)|(o.O_EXCL||o.fs.O_EXCL)|(o.O_RDWR||o.fs.O_RDWR),A=s.platform()==="win32",u=o.EBADF||o.os.errno.EBADF,m=o.ENOENT||o.os.errno.ENOENT,h=448,g=384,E="exit",y=[],C=i.rmdirSync.bind(i);let b=false;function rimraf(e,t){return i.rm(e,{recursive:true},t)}function FN_RIMRAF_SYNC(e){return i.rmSync(e,{recursive:true})}function tmpName(e,t){const r=_parseArguments(e,t),s=r[0],n=r[1];try{_assertAndSanitizeOptions(s)}catch(e){return n(e)}let a=s.tries;(function _getUniqueName(){try{const e=_generateTmpName(s);i.stat(e,(function(t){if(!t){if(a-- >0)return _getUniqueName();return n(new Error("Could not get a unique tmp filename, max tries reached "+e))}n(null,e)}))}catch(e){n(e)}})()}function tmpNameSync(e){const t=_parseArguments(e),r=t[0];_assertAndSanitizeOptions(r);let s=r.tries;do{const e=_generateTmpName(r);try{i.statSync(e)}catch(t){return e}}while(s-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function file(e,t){const r=_parseArguments(e,t),s=r[0],n=r[1];tmpName(s,(function _tmpNameCreated(e,t){if(e)return n(e);i.open(t,d,s.mode||g,(function _fileCreated(e,r){if(e)return n(e);if(s.discardDescriptor){return i.close(r,(function _discardCallback(e){return n(e,t,undefined,_prepareTmpFileRemoveCallback(t,-1,s,false))}))}else{const e=s.discardDescriptor||s.detachDescriptor;n(null,t,r,_prepareTmpFileRemoveCallback(t,e?-1:r,s,false))}}))}))}function fileSync(e){const t=_parseArguments(e),r=t[0];const s=r.discardDescriptor||r.detachDescriptor;const n=tmpNameSync(r);var a=i.openSync(n,d,r.mode||g);if(r.discardDescriptor){i.closeSync(a);a=undefined}return{name:n,fd:a,removeCallback:_prepareTmpFileRemoveCallback(n,s?-1:a,r,true)}}function dir(e,t){const r=_parseArguments(e,t),s=r[0],n=r[1];tmpName(s,(function _tmpNameCreated(e,t){if(e)return n(e);i.mkdir(t,s.mode||h,(function _dirCreated(e){if(e)return n(e);n(null,t,_prepareTmpDirRemoveCallback(t,s,false))}))}))}function dirSync(e){const t=_parseArguments(e),r=t[0];const s=tmpNameSync(r);i.mkdirSync(s,r.mode||h);return{name:s,removeCallback:_prepareTmpDirRemoveCallback(s,r,true)}}function _removeFileAsync(e,t){const _handler=function(e){if(e&&!_isENOENT(e)){return t(e)}t()};if(0<=e[0])i.close(e[0],(function(){i.unlink(e[1],_handler)}));else i.unlink(e[1],_handler)}function _removeFileSync(e){let t=null;try{if(0<=e[0])i.closeSync(e[0])}catch(e){if(!_isEBADF(e)&&!_isENOENT(e))throw e}finally{try{i.unlinkSync(e[1])}catch(e){if(!_isENOENT(e))t=e}}if(t!==null){throw t}}function _prepareTmpFileRemoveCallback(e,t,r,i){const s=_prepareRemoveCallback(_removeFileSync,[t,e],i);const n=_prepareRemoveCallback(_removeFileAsync,[t,e],i,s);if(!r.keep)y.unshift(s);return i?s:n}function _prepareTmpDirRemoveCallback(e,t,r){const s=t.unsafeCleanup?rimraf:i.rmdir.bind(i);const n=t.unsafeCleanup?FN_RIMRAF_SYNC:C;const a=_prepareRemoveCallback(n,e,r);const o=_prepareRemoveCallback(s,e,r,a);if(!t.keep)y.unshift(a);return r?a:o}function _prepareRemoveCallback(e,t,r,i){let s=false;return function _cleanupCallback(n){if(!s){const a=i||_cleanupCallback;const o=y.indexOf(a);if(o>=0)y.splice(o,1);s=true;if(r||e===C||e===FN_RIMRAF_SYNC){return e(t)}else{return e(t,n||function(){})}}}}function _garbageCollector(){if(!b)return;while(y.length){try{y[0]()}catch(e){}}}function _randomChars(e){let t=[],r=null;try{r=a.randomBytes(e)}catch(t){r=a.pseudoRandomBytes(e)}for(var i=0;i<e;i++){t.push(l[r[i]%l.length])}return t.join("")}function _isBlank(e){return e===null||_isUndefined(e)||!e.trim()}function _isUndefined(e){return typeof e==="undefined"}function _parseArguments(e,t){if(typeof e==="function"){return[{},e]}if(_isUndefined(e)){return[{},t]}const r={};for(const t of Object.getOwnPropertyNames(e)){r[t]=e[t]}return[r,t]}function _generateTmpName(e){const t=e.tmpdir;if(!_isUndefined(e.name))return n.join(t,e.dir,e.name);if(!_isUndefined(e.template))return n.join(t,e.dir,e.template).replace(c,_randomChars(6));const r=[e.prefix?e.prefix:"tmp","-",process.pid,"-",_randomChars(12),e.postfix?"-"+e.postfix:""].join("");return n.join(t,e.dir,r)}function _assertAndSanitizeOptions(e){e.tmpdir=_getTmpDir(e);const t=e.tmpdir;if(!_isUndefined(e.name))_assertIsRelative(e.name,"name",t);if(!_isUndefined(e.dir))_assertIsRelative(e.dir,"dir",t);if(!_isUndefined(e.template)){_assertIsRelative(e.template,"template",t);if(!e.template.match(c))throw new Error(`Invalid template, found "${e.template}".`)}if(!_isUndefined(e.tries)&&isNaN(e.tries)||e.tries<0)throw new Error(`Invalid tries, found "${e.tries}".`);e.tries=_isUndefined(e.name)?e.tries||p:1;e.keep=!!e.keep;e.detachDescriptor=!!e.detachDescriptor;e.discardDescriptor=!!e.discardDescriptor;e.unsafeCleanup=!!e.unsafeCleanup;e.dir=_isUndefined(e.dir)?"":n.relative(t,_resolvePath(e.dir,t));e.template=_isUndefined(e.template)?unLine truncated
|
|
||||||
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const i=[];const s=new Uint8Array([13,10]);d=0;let n=false;for(const[t,a]of e){if(typeof a==="string"){const e=N.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(a)}\r\n`);i.push(e);d+=e.byteLength}else{const e=N.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(a.name?`; filename="${escape(a.name)}"`:"")+"\r\n"+`Content-Type: ${a.type||"application/octet-stream"}\r\n\r\n`);i.push(e,a,s);if(typeof a.size==="number"){d+=e.byteLength+a.size+s.byteLength}else{n=true}}}const a=N.encode(`--${t}--`);i.push(a);d+=a.byteLength;if(n){d=null}p=e;c=async function*(){for(const e of i){if(e.stream){yield*e.stream()}else{yield e}}};A="multipart/form-data; boundary="+t}else if(a(e)){p=e;d=e.size;if(e.type){A=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(s.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}i=e instanceof S?e:n(e)}if(typeof p==="string"||s.isBuffer(p)){d=Buffer.byteLength(p)}if(c!=null){let t;i=new S({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:s}=await t.next();if(s){queueMicrotask((()=>{e.close()}))}else{if(!b(i)){e.enqueue(new Uint8Array(r))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const u={stream:i,source:p,length:d};return[u,A]}function safelyExtractBody(e,t=false){if(!S){S=r(5356).ReadableStream}if(e instanceof S){C(!s.isDisturbed(e),"The body has already been consumed.");C(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,r]=e.stream.tee();const i=h(r,{transfer:[r]});const[,s]=i.tee();e.stream=t;return{stream:s,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(I(e)){yield e}else{const t=e.stream;if(s.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[y]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new m("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=w(t)}return new g([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){u.brandCheck(this,e);throwIfAborted(this[A]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,r]of this.headers)e[t.toLowerCase()]=r;const t=new d;let r;try{r=new i({headers:e,preservePath:true})}catch(e){throw new m(`${e}`,"AbortError")}r.on("field",((e,r)=>{t.append(e,r)}));r.on("file",((e,r,i,s,n)=>{const a=[];if(s==="base64"||s.toLowerCase()==="base64"){let s="";r.on("data",(e=>{s+=e.toString().replace(/[\r\n]/gm,"");const t=s.length-s.length%4;a.push(Buffer.from(s.slice(0,t),"base64"));s=s.slice(t)}));r.on("end",(()=>{a.push(Buffer.from(s,"base64"));t.append(e,new x(a,i,{type:n}))}))}else{r.on("data",(e=>{a.push(e)}));r.on("end",(()=>{t.append(e,new x(a,i,{type:n}))}))}}));const s=new Promise(((e,t)=>{r.on("finish",e);r.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[A].body))r.write(e);r.end();await s;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const r=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[A].body)){if(!I(e)){throw new TypeError("Expected Uint8Array chunk")}t+=r.decode(e,{stream:true})}t+=r.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new d;for(const[r,i]of e){t.append(r,i)}return t}else{await Promise.resolve();throwIfAborted(this[A]);throw u.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,r){u.brandCheck(e,r);throwIfAborted(e[A]);if(bodyUnusable(e[A].body)){throw new TypeError("Body is unusable")}const i=c();const errorSteps=e=>i.reject(e);const successSteps=e=>{try{i.resolve(t(e))}catch(e){errorSteps(e)}};if(e[A].body==null){successSteps(new Uint8Array);return i.promise}await p(e[A].body,successSteps,errorSteps);return i.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||s.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=R.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[A];const r=t.get("content-Line truncated
|
|
||||||
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */n[s-4]=this.maskKey[0];n[s-3]=this.maskKey[1];n[s-2]=this.maskKey[2];n[s-1]=this.maskKey[3];n[1]=r;if(r===126){n.writeUInt16BE(t,2)}else if(r===127){n[2]=n[3]=0;n.writeUIntBE(t,4,6)}n[1]|=128;for(let e=0;e<t;e++){n[s+e]=this.frameData[e]^this.maskKey[e%4]}return n}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},1688:(e,t,r)=>{"use strict";const{Writable:i}=r(2781);const s=r(7643);const{parserStates:n,opcodes:a,states:o,emptyBuffer:l}=r(9188);const{kReadyState:c,kSentClose:p,kResponse:d,kReceivedClose:A}=r(7578);const{isValidStatusCode:u,failWebsocketConnection:m,websocketMessageReceived:h}=r(5515);const{WebsocketFrameSend:g}=r(5444);const E={};E.ping=s.channel("undici:websocket:ping");E.pong=s.channel("undici:websocket:pong");class ByteParser extends i{#a=[];#o=0;#l=n.INFO;#c={};#p=[];constructor(e){super();this.ws=e}_write(e,t,r){this.#a.push(e);this.#o+=e.length;this.run(r)}run(e){while(true){if(this.#l===n.INFO){if(this.#o<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==a.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==a.BINARY&&this.#c.opcode!==a.TEXT){m(this.ws,"Invalid frame type was fragmented.");return}const r=t[1]&127;if(r<=125){this.#c.payloadLength=r;this.#l=n.READ_DATA}else if(r===126){this.#l=n.PAYLOADLENGTH_16}else if(r===127){this.#l=n.PAYLOADLENGTH_64}if(this.#c.fragmented&&r>125){m(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===a.PING||this.#c.opcode===a.PONG||this.#c.opcode===a.CLOSE)&&r>125){m(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===a.CLOSE){if(r===1){m(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(r);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[p]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new g(e);this.ws[d].socket.write(t.createFrame(a.CLOSE),(e=>{if(!e){this.ws[p]=true}}))}this.ws[c]=o.CLOSING;this.ws[A]=true;this.end();return}else if(this.#c.opcode===a.PING){const t=this.consume(r);if(!this.ws[A]){const e=new g(t);this.ws[d].socket.write(e.createFrame(a.PONG));if(E.ping.hasSubscribers){E.ping.publish({payload:t})}}this.#l=n.INFO;if(this.#o>0){continue}else{e();return}}else if(this.#c.opcode===a.PONG){const t=this.consume(r);if(E.pong.hasSubscribers){E.pong.publish({payload:t})}if(this.#o>0){continue}else{e();return}}}else if(this.#l===n.PAYLOADLENGTH_16){if(this.#o<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#l=n.READ_DATA}else if(this.#l===n.PAYLOADLENGTH_64){if(this.#o<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);if(r>2**31-1){m(this.ws,"Received payload length > 2^31 bytes.");return}const i=t.readUInt32BE(4);this.#c.payloadLength=(r<<8)+i;this.#l=n.READ_DATA}else if(this.#l===n.READ_DATA){if(this.#o<this.#c.payloadLength){return e()}else if(this.#o>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#p.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===a.CONTINUATION){const e=Buffer.concat(this.#p);h(this.ws,this.#c.originalOpcode,e);this.#c={};this.#p.length=0}this.#l=n.INFO}}if(this.#o>0){continue}else{e();break}}}consume(e){if(e>this.#o){return null}else if(e===0){return l}if(this.#a[0].length===e){this.#o-=this.#a[0].length;return this.#a.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const i=this.#a[0];const{length:s}=i;if(s+r===e){t.set(this.#a.shift(),r);break}else if(s+r>e){t.set(i.subarray(0,e-r),r);this.#a[0]=i.subarray(e-r);break}else{t.set(this.#a.shift(),r);r+=i.length}}this.#o-=e;return t}parseCloseBody(e,t){let r;if(t.length>=2){r=t.readUInt16BE(0)}if(e){if(!u(r)){return null}return{code:r}}let i=t.subarray(2);if(i[0]===239&&i[1]===187&&i[2]===191){i=i.subarray(3)}if(r!==undefined&&!u(r)){return null}try{i=new TextDecoder("utf-8",{fatal:true}).decode(i)}catch{return null}return{code:r,reason:i}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},7578:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},5515:(e,t,r)=>{"use strict";const{kReadyState:i,kController:s,kResponse:n,kBinaryType:a,kWebSocketURL:o}=r(7578);const{states:l,opcodes:c}=r(9188);const{MessageEvent:p,ErrorEvent:d}=r(2611);function isEstablished(e){return e[i]===l.OPEN}function isClosing(e){return e[i]===l.CLOSING}function isClosed(e){return e[i]===l.CLOSED}function fireEvent(e,t,r=Event,i){const s=new r(e,i);t.dispatchEvent(s)}function websocketMessageReceived(e,t,r){if(e[i]!==l.OPEN){return}let s;if(t===c.TEXT){try{s=new TextDecoder("utf-8",{fatal:true}).decode(r)Line truncated
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","exports","saveCache","restoreCache","isFeatureAvailable","ReserveCacheError","ValidationError","core","__webpack_require__","path","utils","cacheHttpClient","tar_1","Error","constructor","message","super","name","setPrototypeOf","checkPaths","paths","length","checkKey","key","regex","test","process","env","primaryKey","restoreKeys","options","enableCrossOsArchive","keys","debug","JSON","stringify","compressionMethod","getCompressionMethod","archivePath","cacheEntry","getCacheEntry","archiveLocation","lookupOnly","info","cacheKey","join","createTempDirectory","getCacheFileName","downloadCache","isDebug","listTar","archiveFileSize","getArchiveFileSizeInBytes","Math","round","extractTar","error","typedError","warning","unlinkFile","_a","_b","_c","_d","_e","cacheId","cachePaths","resolvePaths","archiveFolder","createTar","fileSizeLimit","isGhes","reserveCacheResponse","reserveCache","cacheSize","statusCode","getCacheVersion","http_client_1","auth_1","crypto","fs","url_1","downloadUtils_1","options_1","requestUtils_1","versionSalt","getCacheApiUrl","resource","baseUrl","url","createAcceptHeader","type","apiVersion","getRequestOptions","requestOptions","headers","Accept","createHttpClient","token","bearerCredentialHandler","BearerCredentialHandler","HttpClient","components","slice","push","platform","createHash","update","digest","httpClient","version","encodeURIComponent","response","retryTypedResponse","getJson","printCachesListForDiagnostics","isSuccessStatusCode","cacheResult","cacheDownloadUrl","setSecret","cacheListResult","totalCount","artifactCaches","cacheVersion","scope","creationTime","archiveUrl","URL","downloadOptions","getDownloadOptions","hostname","endsWith","useAzureSdk","downloadCacheStorageSDK","concurrentBlobDownloads","downloadCacheHttpClientConcurrent","downloadCacheHttpClient","reserveCacheRequest","postJson","getContentRange","start","end","uploadChunk","resourceUrl","openStream","additionalHeaders","uploadChunkResponse","retryHttpClientResponse","sendStream","uploadFile","fileSize","toString","fd","openSync","uploadOptions","getUploadOptions","concurrency","assertDefined","uploadConcurrency","maxChunkSize","uploadChunkSize","parallelUploads","Array","offset","all","map","chunkSize","min","createReadStream","autoClose","on","closeSync","commitCache","filesize","commitCacheRequest","size","commitCacheResponse","__asyncValues","Symbol","asyncIterator","TypeError","i","__values","iterator","verb","n","settle","d","getGnuTarPathOnWindows","exec","glob","io","semver","util","uuid_1","constants_1","IS_WINDOWS","tempDirectory","baseLocation","dest","v4","mkdirP","filePath","statSync","patterns","e_1","workspace","cwd","globber","implicitDescendants","_f","globGenerator","_g","file","relativeFile","relative","replace","RegExp","sep","e_1_1","return","promisify","unlink","getVersion","app","additionalArgs","versionOutput","ignoreReturnCode","silent","listeners","stdout","data","stderr","err","trim","clean","CompressionMethod","Gzip","ZstdWithoutLong","CacheFilename","Zstd","existsSync","GnuTarPathOnWindows","toLowerCase","includes","which","ghUrl","trimEnd","toUpperCase","isGitHubHost","isGheHost","ManifestFilename","TarFilename","SystemTarPathOnWindows","SocketTimeout","DefaultRetryDelay","DefaultRetryAttempts","ArchiveToolType","DownloadProgress","storage_blob_1","buffer","stream","abort_controller_1","pipeResponseToStream","output","pipeline","contentLength","segmentIndex","segmentSize","segmentOffset","receivedBytes","displayedComplete","startTime","Date","now","nextSegment","setReceivedBytes","getTransferredBytes","isDone","display","transferredBytes","percentage","toFixed","elapsedTime","downloadSpeed","onProgress","progress","loadedBytes","startDisplayTimer","delayInMs","displayCallback","timeoutHandle","setTimeout","stopDisplayTimer","clearTimeout","writeStream","createWriteStream","downloadResponse","socket","destroy","contentLengthHeader","expectedLength","parseInt","actualLength","archiveDescriptor","promises","open","socketTimeout","timeoutInMs","keepAlive","res","request","lengthHeader","Number","isNaN","downloads","blockSize","count","promiseGetter","downloadSegmentRetry","reverse","actives","bytesDownloaded","progressFn","activeDownloads","nextDownload","waitAndWrite","segment","race","values","write","pop","downloadConcurrency","dispose","close","retries","failures","timeout","promiseWithTimeout","downloadSegment","partRes","Range","readBodyBuffer","client","BlockBlobClient","retryOptions","tryTimeoutInMs","properties"Line truncated
|
|
||||||
+4230
-1053
File diff suppressed because it is too large.
Load diff
-1
@@ -1 +0,0 @@
|
|||||||
(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},274:(e,r,n)=>{var t=n(339);var o=Object.prototype.hasOwnProperty;var i=typeof Map!=="undefined";function ArraySet(){this._array=[];this._set=i?new Map:Object.create(null)}ArraySet.fromArray=function ArraySet_fromArray(e,r){var n=new ArraySet;for(var t=0,o=e.length;t<o;t++){n.add(e[t],r)}return n};ArraySet.prototype.size=function ArraySet_size(){return i?this._set.size:Object.getOwnPropertyNames(this._set).length};ArraySet.prototype.add=function ArraySet_add(e,r){var n=i?e:t.toSetString(e);var a=i?this.has(e):o.call(this._set,n);var u=this._array.length;if(!a||r){this._array.push(e)}if(!a){if(i){this._set.set(e,u)}else{this._set[n]=u}}};ArraySet.prototype.has=function ArraySet_has(e){if(i){return this._set.has(e)}else{var r=t.toSetString(e);return o.call(this._set,r)}};ArraySet.prototype.indexOf=function ArraySet_indexOf(e){if(i){var r=this._set.get(e);if(r>=0){return r}}else{var n=t.toSetString(e);if(o.call(this._set,n)){return this._set[n]}}throw new Error('"'+e+'" is not in the set.')};ArraySet.prototype.at=function ArraySet_at(e){if(e>=0&&e<this._array.length){return this._array[e]}throw new Error("No element indexed by "+e)};ArraySet.prototype.toArray=function ArraySet_toArray(){return this._array.slice()};r.I=ArraySet},449:(e,r,n)=>{var t=n(190);var o=5;var i=1<<o;var a=i-1;var u=i;function toVLQSigned(e){return e<0?(-e<<1)+1:(e<<1)+0}function fromVLQSigned(e){var r=(e&1)===1;var n=e>>1;return r?-n:n}r.encode=function base64VLQ_encode(e){var r="";var n;var i=toVLQSigned(e);do{n=i&a;i>>>=o;if(i>0){n|=u}r+=t.encode(n)}while(i>0);return r};r.decode=function base64VLQ_decode(e,r,n){var i=e.length;var s=0;var l=0;var c,p;do{if(r>=i){throw new Error("Expected more digits in base 64 VLQ value.")}p=t.decode(e.charCodeAt(r++));if(p===-1){throw new Error("Invalid base64 digit: "+e.charAt(r-1))}c=!!(p&u);p&=a;s=s+(p<<l);l+=o}while(c);n.value=fromVLQSigned(s);n.rest=r}},190:(e,r)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");r.encode=function(e){if(0<=e&&e<n.length){return n[e]}throw new TypeError("Must be between 0 and 63: "+e)};r.decode=function(e){var r=65;var n=90;var t=97;var o=122;var i=48;var a=57;var u=43;var s=47;var l=26;var c=52;if(r<=e&&e<=n){return e-r}if(t<=e&&e<=o){return e-t+l}if(i<=e&&e<=a){return e-i+c}if(e==u){return 62}if(e==s){return 63}return-1}},345:(e,r)=>{r.GREATEST_LOWER_BOUND=1;r.LEAST_UPPER_BOUND=2;function recursiveSearch(e,n,t,o,i,a){var u=Math.floor((n-e)/2)+e;var s=i(t,o[u],true);if(s===0){return u}else if(s>0){if(n-u>1){return recursiveSearch(u,n,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return n<o.length?n:-1}else{return u}}else{if(u-e>1){return recursiveSearch(e,u,t,o,i,a)}if(a==r.LEAST_UPPER_BOUND){return u}else{return e<0?-1:e}}}r.search=function search(e,n,t,o){if(n.length===0){return-1}var i=recursiveSearch(-1,n.length,e,n,t,o||r.GREATEST_LOWER_BOUND);if(i<0){return-1}while(i-1>=0){if(t(n[i],n[i-1],true)!==0){break}--i}return i}},680:(e,r,n)=>{var t=n(339);function generatedPositionAfter(e,r){var n=e.generatedLine;var o=r.generatedLine;var i=e.generatedColumn;var a=r.generatedColumn;return o>n||o==n&&a>=i||t.compareByGeneratedPositionsInflated(e,r)<=0}function MappingList(){this._array=[];this._sorted=true;this._last={generatedLine:-1,generatedColumn:0}}MappingList.prototype.unsortedForEach=function MappingList_forEach(e,r){this._array.forEach(e,r)};MappingList.prototype.add=function MappingList_add(e){if(generatedPositionAfter(this._last,e)){this._last=e;this._array.push(e)}else{this._sorted=false;this._array.push(e)}};MappingList.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(t.compareByGeneratedPositionsInflated);this._sorted=true}return this._array};r.H=MappingList},758:(e,r)=>{function swap(e,r,n){var t=e[r];e[r]=e[n];e[n]=t}function randomIntInRange(e,r){return Math.round(e+Math.random()*(r-e))}function doQuickSort(e,r,n,t){if(n<t){var o=randomIntInRange(n,t);var i=n-1;swap(e,o,t);var a=e[t];for(var u=n;u<t;u++){if(r(e[u],Line truncated
|
|
||||||
+15
-2
@@ -1,9 +1,15 @@
|
|||||||
|
target "_common" {
|
||||||
|
args = {
|
||||||
|
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
group "default" {
|
group "default" {
|
||||||
targets = ["build"]
|
targets = ["build"]
|
||||||
}
|
}
|
||||||
|
|
||||||
group "pre-checkin" {
|
group "pre-checkin" {
|
||||||
targets = ["vendor-update", "format", "build"]
|
targets = ["vendor", "format", "build"]
|
||||||
}
|
}
|
||||||
|
|
||||||
group "validate" {
|
group "validate" {
|
||||||
@@ -11,42 +17,49 @@ group "validate" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
target "build" {
|
target "build" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "build-update"
|
target = "build-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "build-validate" {
|
target "build-validate" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "build-validate"
|
target = "build-validate"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "format" {
|
target "format" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "format-update"
|
target = "format-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "lint" {
|
target "lint" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "lint"
|
target = "lint"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "vendor-update" {
|
target "vendor" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "vendor-update"
|
target = "vendor-update"
|
||||||
output = ["."]
|
output = ["."]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "vendor-validate" {
|
target "vendor-validate" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "vendor-validate"
|
target = "vendor-validate"
|
||||||
output = ["type=cacheonly"]
|
output = ["type=cacheonly"]
|
||||||
}
|
}
|
||||||
|
|
||||||
target "test" {
|
target "test" {
|
||||||
|
inherits = ["_common"]
|
||||||
dockerfile = "dev.Dockerfile"
|
dockerfile = "dev.Dockerfile"
|
||||||
target = "test-coverage"
|
target = "test-coverage"
|
||||||
output = ["./coverage"]
|
output = ["./coverage"]
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# Cache
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/cache/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Copy images between registries
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/copy-image-registries/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Update Docker Hub repo description
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/update-dockerhub-desc/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Export image to Docker
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/export-docker/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Isolated builders
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/configure-builder/#isolated-builders)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Local registry
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/local-registry/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Multi-platform image
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/multi-platform/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Named contexts
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/named-contexts/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Push to multi-registries
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/push-multi-registries/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Secrets
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/secrets/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Share built image between jobs
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/share-image-jobs/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Handle tags and labels
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/manage-tags-labels/)
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Test your image before pushing it
|
|
||||||
|
|
||||||
This page has moved to [Docker Docs website](https://docs.docker.com/build/ci/github-actions/test-before-push/)
|
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
import {defineConfig} from 'eslint/config';
|
||||||
|
import js from '@eslint/js';
|
||||||
|
import tseslint from '@typescript-eslint/eslint-plugin';
|
||||||
|
import vitest from '@vitest/eslint-plugin';
|
||||||
|
import globals from 'globals';
|
||||||
|
import eslintConfigPrettier from 'eslint-config-prettier/flat';
|
||||||
|
import eslintPluginPrettier from 'eslint-plugin-prettier';
|
||||||
|
|
||||||
|
export default defineConfig([
|
||||||
|
{
|
||||||
|
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
|
||||||
|
},
|
||||||
|
js.configs.recommended,
|
||||||
|
...tseslint.configs['flat/recommended'],
|
||||||
|
eslintConfigPrettier,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
globals: {
|
||||||
|
...globals.node
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ['__tests__/**'],
|
||||||
|
...vitest.configs.recommended,
|
||||||
|
languageOptions: {
|
||||||
|
globals: {
|
||||||
|
...globals.node,
|
||||||
|
...vitest.environments.env.globals
|
||||||
|
}
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
...vitest.configs.recommended.rules,
|
||||||
|
'vitest/no-conditional-expect': 'error',
|
||||||
|
'vitest/no-disabled-tests': 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
plugins: {
|
||||||
|
prettier: eslintPluginPrettier
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
'prettier/prettier': 'error',
|
||||||
|
'@typescript-eslint/no-require-imports': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
allowAsImport: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]);
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
import fs from 'fs';
|
|
||||||
import os from 'os';
|
|
||||||
import path from 'path';
|
|
||||||
|
|
||||||
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-action-'));
|
|
||||||
|
|
||||||
process.env = Object.assign({}, process.env, {
|
|
||||||
TEMP: tmpDir,
|
|
||||||
GITHUB_REPOSITORY: 'docker/build-push-action',
|
|
||||||
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
|
|
||||||
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
|
|
||||||
}) as {
|
|
||||||
[key: string]: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
clearMocks: false,
|
|
||||||
testEnvironment: 'node',
|
|
||||||
moduleFileExtensions: ['js', 'ts'],
|
|
||||||
testMatch: ['**/*.test.ts'],
|
|
||||||
transform: {
|
|
||||||
'^.+\\.ts$': 'ts-jest'
|
|
||||||
},
|
|
||||||
moduleNameMapper: {
|
|
||||||
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
|
|
||||||
},
|
|
||||||
collectCoverageFrom: ['src/**/{!(main.ts),}.ts'],
|
|
||||||
coveragePathIgnorePatterns: ['lib/', 'node_modules/', '__mocks__/', '__tests__/'],
|
|
||||||
verbose: true
|
|
||||||
};
|
|
||||||
+26
-27
@@ -1,17 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "docker-build-push",
|
"name": "docker-build-push",
|
||||||
"description": "Build and push Docker images",
|
"description": "Build and push Docker images",
|
||||||
"main": "lib/main.js",
|
"type": "module",
|
||||||
|
"main": "src/main.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
|
"build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify --keep-names && yarn run license",
|
||||||
"lint": "yarn run prettier && yarn run eslint",
|
"lint": "eslint --max-warnings=0 .",
|
||||||
"format": "yarn run prettier:fix && yarn run eslint:fix",
|
"format": "eslint --fix .",
|
||||||
"eslint": "eslint --max-warnings=0 .",
|
"test": "vitest run",
|
||||||
"eslint:fix": "eslint --fix .",
|
"license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
|
||||||
"prettier": "prettier --check \"./**/*.ts\"",
|
|
||||||
"prettier:fix": "prettier --write \"./**/*.ts\"",
|
|
||||||
"test": "jest",
|
|
||||||
"all": "yarn run build && yarn run format && yarn test"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -25,25 +22,27 @@
|
|||||||
],
|
],
|
||||||
"author": "Docker Inc.",
|
"author": "Docker Inc.",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
"packageManager": "yarn@4.15.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^3.0.1",
|
||||||
"@docker/actions-toolkit": "0.18.0",
|
"@docker/actions-toolkit": "0.100.0",
|
||||||
"handlebars": "^4.7.7"
|
"handlebars": "^4.7.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/csv-parse": "^1.2.2",
|
"@eslint/js": "^9.39.3",
|
||||||
"@types/node": "^20.5.9",
|
"@types/node": "^24.11.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.6.0",
|
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
||||||
"@typescript-eslint/parser": "^6.6.0",
|
"@typescript-eslint/parser": "^8.56.1",
|
||||||
"@vercel/ncc": "^0.38.0",
|
"@vitest/coverage-v8": "^4.0.18",
|
||||||
"eslint": "^8.48.0",
|
"@vitest/eslint-plugin": "^1.6.9",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"esbuild": "^0.28.0",
|
||||||
"eslint-plugin-jest": "^27.2.3",
|
"eslint": "^9.39.3",
|
||||||
"eslint-plugin-prettier": "^5.0.0",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"jest": "^29.6.4",
|
"eslint-plugin-prettier": "^5.5.5",
|
||||||
"prettier": "^3.0.3",
|
"generate-license-file": "^4.1.1",
|
||||||
"ts-jest": "^29.1.1",
|
"globals": "^17.3.0",
|
||||||
"ts-node": "^10.9.1",
|
"prettier": "^3.8.1",
|
||||||
"typescript": "^5.2.2"
|
"typescript": "^5.9.3",
|
||||||
|
"vitest": "^4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+142
-90
@@ -1,29 +1,37 @@
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as handlebars from 'handlebars';
|
import * as handlebars from 'handlebars';
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs';
|
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||||
|
|
||||||
|
let defaultContextPromise: Promise<string> | undefined;
|
||||||
|
|
||||||
|
async function getDefaultContext(): Promise<string> {
|
||||||
|
defaultContextPromise ??= new Build().gitContext();
|
||||||
|
return await defaultContextPromise;
|
||||||
|
}
|
||||||
|
|
||||||
export interface Inputs {
|
export interface Inputs {
|
||||||
addHosts: string[];
|
'add-hosts': string[];
|
||||||
allow: string[];
|
allow: string[];
|
||||||
annotations: string[];
|
annotations: string[];
|
||||||
attests: string[];
|
attests: string[];
|
||||||
buildArgs: string[];
|
'build-args': string[];
|
||||||
buildContexts: string[];
|
'build-contexts': string[];
|
||||||
builder: string;
|
builder: string;
|
||||||
cacheFrom: string[];
|
'cache-from': string[];
|
||||||
cacheTo: string[];
|
'cache-to': string[];
|
||||||
cgroupParent: string;
|
call: string;
|
||||||
|
'cgroup-parent': string;
|
||||||
context: string;
|
context: string;
|
||||||
file: string;
|
file: string;
|
||||||
labels: string[];
|
labels: string[];
|
||||||
load: boolean;
|
load: boolean;
|
||||||
network: string;
|
network: string;
|
||||||
noCache: boolean;
|
'no-cache': boolean;
|
||||||
noCacheFilters: string[];
|
'no-cache-filters': string[];
|
||||||
outputs: string[];
|
outputs: string[];
|
||||||
platforms: string[];
|
platforms: string[];
|
||||||
provenance: string;
|
provenance: string;
|
||||||
@@ -31,80 +39,74 @@ export interface Inputs {
|
|||||||
push: boolean;
|
push: boolean;
|
||||||
sbom: string;
|
sbom: string;
|
||||||
secrets: string[];
|
secrets: string[];
|
||||||
secretEnvs: string[];
|
'secret-envs': string[];
|
||||||
secretFiles: string[];
|
'secret-files': string[];
|
||||||
shmSize: string;
|
'shm-size': string;
|
||||||
ssh: string[];
|
ssh: string[];
|
||||||
tags: string[];
|
tags: string[];
|
||||||
target: string;
|
target: string;
|
||||||
ulimit: string[];
|
ulimit: string[];
|
||||||
githubToken: string;
|
'github-token': string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getInputs(): Promise<Inputs> {
|
export async function getInputs(): Promise<Inputs> {
|
||||||
|
const defaultContext = await getDefaultContext();
|
||||||
return {
|
return {
|
||||||
addHosts: Util.getInputList('add-hosts'),
|
'add-hosts': Util.getInputList('add-hosts'),
|
||||||
allow: Util.getInputList('allow'),
|
allow: Util.getInputList('allow'),
|
||||||
annotations: Util.getInputList('annotations', {ignoreComma: true}),
|
annotations: Util.getInputList('annotations', {ignoreComma: true}),
|
||||||
attests: Util.getInputList('attests', {ignoreComma: true}),
|
attests: Util.getInputList('attests', {ignoreComma: true}),
|
||||||
buildArgs: Util.getInputList('build-args', {ignoreComma: true}),
|
'build-args': Util.getInputList('build-args', {ignoreComma: true}),
|
||||||
buildContexts: Util.getInputList('build-contexts', {ignoreComma: true}),
|
'build-contexts': Util.getInputList('build-contexts', {ignoreComma: true}),
|
||||||
builder: core.getInput('builder'),
|
builder: core.getInput('builder'),
|
||||||
cacheFrom: Util.getInputList('cache-from', {ignoreComma: true}),
|
'cache-from': Util.getInputList('cache-from', {ignoreComma: true}),
|
||||||
cacheTo: Util.getInputList('cache-to', {ignoreComma: true}),
|
'cache-to': Util.getInputList('cache-to', {ignoreComma: true}),
|
||||||
cgroupParent: core.getInput('cgroup-parent'),
|
call: core.getInput('call'),
|
||||||
context: core.getInput('context') || Context.gitContext(),
|
'cgroup-parent': core.getInput('cgroup-parent'),
|
||||||
|
context: handlebars.compile(core.getInput('context'))({defaultContext}) || defaultContext,
|
||||||
file: core.getInput('file'),
|
file: core.getInput('file'),
|
||||||
labels: Util.getInputList('labels', {ignoreComma: true}),
|
labels: Util.getInputList('labels', {ignoreComma: true}),
|
||||||
load: core.getBooleanInput('load'),
|
load: core.getBooleanInput('load'),
|
||||||
network: core.getInput('network'),
|
network: core.getInput('network'),
|
||||||
noCache: core.getBooleanInput('no-cache'),
|
'no-cache': core.getBooleanInput('no-cache'),
|
||||||
noCacheFilters: Util.getInputList('no-cache-filters'),
|
'no-cache-filters': Util.getInputList('no-cache-filters'),
|
||||||
outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
|
outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
|
||||||
platforms: Util.getInputList('platforms'),
|
platforms: Util.getInputList('platforms'),
|
||||||
provenance: BuildxInputs.getProvenanceInput('provenance'),
|
provenance: Build.getProvenanceInput('provenance'),
|
||||||
pull: core.getBooleanInput('pull'),
|
pull: core.getBooleanInput('pull'),
|
||||||
push: core.getBooleanInput('push'),
|
push: core.getBooleanInput('push'),
|
||||||
sbom: core.getInput('sbom'),
|
sbom: core.getInput('sbom'),
|
||||||
secrets: Util.getInputList('secrets', {ignoreComma: true}),
|
secrets: Util.getInputList('secrets', {ignoreComma: true, trimWhitespace: false}),
|
||||||
secretEnvs: Util.getInputList('secret-envs'),
|
'secret-envs': Util.getInputList('secret-envs'),
|
||||||
secretFiles: Util.getInputList('secret-files', {ignoreComma: true}),
|
'secret-files': Util.getInputList('secret-files', {ignoreComma: true}),
|
||||||
shmSize: core.getInput('shm-size'),
|
'shm-size': core.getInput('shm-size'),
|
||||||
ssh: Util.getInputList('ssh'),
|
ssh: Util.getInputList('ssh'),
|
||||||
tags: Util.getInputList('tags'),
|
tags: Util.getInputList('tags'),
|
||||||
target: core.getInput('target'),
|
target: core.getInput('target'),
|
||||||
ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
|
ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
|
||||||
githubToken: core.getInput('github-token')
|
'github-token': core.getInput('github-token')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
const context = handlebars.compile(inputs.context)({
|
|
||||||
defaultContext: Context.gitContext()
|
|
||||||
});
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
return [
|
return [
|
||||||
...await getBuildArgs(inputs, context, toolkit),
|
...await getBuildArgs(inputs, inputs.context, toolkit),
|
||||||
...await getCommonArgs(inputs, toolkit),
|
...await getCommonArgs(inputs, toolkit),
|
||||||
context
|
inputs.context
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
|
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
|
const defaultContext = await getDefaultContext();
|
||||||
|
|
||||||
const args: Array<string> = ['build'];
|
const args: Array<string> = ['build'];
|
||||||
await Util.asyncForEach(inputs.addHosts, async addHost => {
|
await Util.asyncForEach(inputs['add-hosts'], async addHost => {
|
||||||
args.push('--add-host', addHost);
|
args.push('--add-host', addHost);
|
||||||
});
|
});
|
||||||
if (inputs.allow.length > 0) {
|
await Util.asyncForEach(inputs.allow, async allow => {
|
||||||
args.push('--allow', inputs.allow.join(','));
|
args.push('--allow', allow);
|
||||||
}
|
});
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
|
||||||
await Util.asyncForEach(inputs.attests, async attest => {
|
|
||||||
args.push('--attest', attest);
|
|
||||||
});
|
|
||||||
} else if (inputs.attests.length > 0) {
|
|
||||||
core.warning("Attestations are only supported by buildx >= 0.10.0; the input 'attests' is ignored.");
|
|
||||||
}
|
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.12.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.12.0')) {
|
||||||
await Util.asyncForEach(inputs.annotations, async annotation => {
|
await Util.asyncForEach(inputs.annotations, async annotation => {
|
||||||
args.push('--annotation', annotation);
|
args.push('--annotation', annotation);
|
||||||
@@ -112,28 +114,39 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
} else if (inputs.annotations.length > 0) {
|
} else if (inputs.annotations.length > 0) {
|
||||||
core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
|
core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.buildArgs, async buildArg => {
|
await Util.asyncForEach(inputs['build-args'], async buildArg => {
|
||||||
args.push('--build-arg', buildArg);
|
args.push('--build-arg', buildArg);
|
||||||
});
|
});
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
|
||||||
await Util.asyncForEach(inputs.buildContexts, async buildContext => {
|
await Util.asyncForEach(inputs['build-contexts'], async buildContext => {
|
||||||
args.push('--build-context', buildContext);
|
args.push(
|
||||||
|
'--build-context',
|
||||||
|
handlebars.compile(buildContext)({
|
||||||
|
defaultContext: defaultContext
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
} else if (inputs.buildContexts.length > 0) {
|
} else if (inputs['build-contexts'].length > 0) {
|
||||||
core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
|
core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.cacheFrom, async cacheFrom => {
|
await Util.asyncForEach(inputs['cache-from'], async cacheFrom => {
|
||||||
args.push('--cache-from', cacheFrom);
|
args.push('--cache-from', cacheFrom);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.cacheTo, async cacheTo => {
|
await Util.asyncForEach(inputs['cache-to'], async cacheTo => {
|
||||||
args.push('--cache-to', cacheTo);
|
args.push('--cache-to', cacheTo);
|
||||||
});
|
});
|
||||||
if (inputs.cgroupParent) {
|
if (inputs.call) {
|
||||||
args.push('--cgroup-parent', inputs.cgroupParent);
|
if (!(await toolkit.buildx.versionSatisfies('>=0.15.0'))) {
|
||||||
|
throw new Error(`Buildx >= 0.15.0 is required to use the call flag.`);
|
||||||
|
}
|
||||||
|
args.push('--call', inputs.call);
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.secretEnvs, async secretEnv => {
|
if (inputs['cgroup-parent']) {
|
||||||
|
args.push('--cgroup-parent', inputs['cgroup-parent']);
|
||||||
|
}
|
||||||
|
await Util.asyncForEach(inputs['secret-envs'], async secretEnv => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretEnv(secretEnv));
|
args.push('--secret', Build.resolveSecretEnv(secretEnv));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
@@ -141,13 +154,13 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
if (inputs.file) {
|
if (inputs.file) {
|
||||||
args.push('--file', inputs.file);
|
args.push('--file', inputs.file);
|
||||||
}
|
}
|
||||||
if (!BuildxInputs.hasLocalExporter(inputs.outputs) && !BuildxInputs.hasTarExporter(inputs.outputs) && (inputs.platforms.length == 0 || (await toolkit.buildx.versionSatisfies('>=0.4.2')))) {
|
if (!Build.hasLocalExporter(inputs.outputs) && !Build.hasTarExporter(inputs.outputs) && (inputs.platforms.length == 0 || (await toolkit.buildx.versionSatisfies('>=0.4.2')))) {
|
||||||
args.push('--iidfile', BuildxInputs.getBuildImageIDFilePath());
|
args.push('--iidfile', toolkit.buildxBuild.getImageIDFilePath());
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.labels, async label => {
|
await Util.asyncForEach(inputs.labels, async label => {
|
||||||
args.push('--label', label);
|
args.push('--label', label);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.noCacheFilters, async noCacheFilter => {
|
await Util.asyncForEach(inputs['no-cache-filters'], async noCacheFilter => {
|
||||||
args.push('--no-cache-filter', noCacheFilter);
|
args.push('--no-cache-filter', noCacheFilter);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.outputs, async output => {
|
await Util.asyncForEach(inputs.outputs, async output => {
|
||||||
@@ -157,46 +170,29 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
args.push('--platform', inputs.platforms.join(','));
|
args.push('--platform', inputs.platforms.join(','));
|
||||||
}
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
||||||
if (inputs.provenance) {
|
args.push(...(await getAttestArgs(inputs, toolkit)));
|
||||||
args.push('--provenance', inputs.provenance);
|
} else {
|
||||||
} else if ((await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !BuildxInputs.hasDockerExporter(inputs.outputs, inputs.load)) {
|
core.warning("Attestations are only supported by buildx >= 0.10.0; the inputs 'attests', 'provenance' and 'sbom' are ignored.");
|
||||||
// if provenance not specified and BuildKit version compatible for
|
|
||||||
// attestation, set default provenance. Also needs to make sure user
|
|
||||||
// doesn't want to explicitly load the image to docker.
|
|
||||||
if (GitHub.context.payload.repository?.private ?? false) {
|
|
||||||
// if this is a private repository, we set the default provenance
|
|
||||||
// attributes being set in buildx: https://github.com/docker/buildx/blob/fb27e3f919dcbf614d7126b10c2bc2d0b1927eb6/build/build.go#L603
|
|
||||||
args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=min,inline-only=true`));
|
|
||||||
} else {
|
|
||||||
// for a public repository, we set max provenance mode.
|
|
||||||
args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=max`));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (inputs.sbom) {
|
|
||||||
args.push('--sbom', inputs.sbom);
|
|
||||||
}
|
|
||||||
} else if (inputs.provenance || inputs.sbom) {
|
|
||||||
core.warning("Attestations are only supported by buildx >= 0.10.0; the inputs 'provenance' and 'sbom' are ignored.");
|
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.secrets, async secret => {
|
await Util.asyncForEach(inputs.secrets, async secret => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretString(secret));
|
args.push('--secret', Build.resolveSecretString(secret));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.secretFiles, async secretFile => {
|
await Util.asyncForEach(inputs['secret-files'], async secretFile => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretFile(secretFile));
|
args.push('--secret', Build.resolveSecretFile(secretFile));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (inputs.githubToken && !BuildxInputs.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(Context.gitContext())) {
|
if (inputs['github-token'] && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(defaultContext)) {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretString(`GIT_AUTH_TOKEN=${inputs.githubToken}`));
|
args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN.${new URL(GitHub.serverURL).host.trimEnd()}=${inputs['github-token']}`));
|
||||||
}
|
}
|
||||||
if (inputs.shmSize) {
|
if (inputs['shm-size']) {
|
||||||
args.push('--shm-size', inputs.shmSize);
|
args.push('--shm-size', inputs['shm-size']);
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.ssh, async ssh => {
|
await Util.asyncForEach(inputs.ssh, async ssh => {
|
||||||
args.push('--ssh', ssh);
|
args.push('--ssh', ssh);
|
||||||
@@ -222,12 +218,12 @@ async function getCommonArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
|||||||
args.push('--load');
|
args.push('--load');
|
||||||
}
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
||||||
args.push('--metadata-file', BuildxInputs.getBuildMetadataFilePath());
|
args.push('--metadata-file', toolkit.buildxBuild.getMetadataFilePath());
|
||||||
}
|
}
|
||||||
if (inputs.network) {
|
if (inputs.network) {
|
||||||
args.push('--network', inputs.network);
|
args.push('--network', inputs.network);
|
||||||
}
|
}
|
||||||
if (inputs.noCache) {
|
if (inputs['no-cache']) {
|
||||||
args.push('--no-cache');
|
args.push('--no-cache');
|
||||||
}
|
}
|
||||||
if (inputs.pull) {
|
if (inputs.pull) {
|
||||||
@@ -238,3 +234,59 @@ async function getCommonArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
|||||||
}
|
}
|
||||||
return args;
|
return args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getAttestArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
|
const args: Array<string> = [];
|
||||||
|
|
||||||
|
// check if provenance attestation is set in attests input
|
||||||
|
let hasAttestProvenance = false;
|
||||||
|
await Util.asyncForEach(inputs.attests, async (attest: string) => {
|
||||||
|
if (Build.hasAttestationType('provenance', attest)) {
|
||||||
|
hasAttestProvenance = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let provenanceSet = false;
|
||||||
|
let sbomSet = false;
|
||||||
|
if (inputs.provenance) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(`type=provenance,${inputs.provenance}`));
|
||||||
|
provenanceSet = true;
|
||||||
|
} else if (!hasAttestProvenance && !noDefaultAttestations() && (await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Build.hasDockerExporter(inputs.outputs, inputs.load)) {
|
||||||
|
// if provenance not specified in provenance or attests inputs and BuildKit
|
||||||
|
// version compatible for attestation, set default provenance. Also needs
|
||||||
|
// to make sure user doesn't want to explicitly load the image to docker.
|
||||||
|
if (GitHub.context.payload.repository?.private ?? false) {
|
||||||
|
// if this is a private repository, we set the default provenance
|
||||||
|
// attributes being set in buildx: https://github.com/docker/buildx/blob/fb27e3f919dcbf614d7126b10c2bc2d0b1927eb6/build/build.go#L603
|
||||||
|
args.push('--attest', `type=provenance,${Build.resolveProvenanceAttrs(`mode=min,inline-only=true`)}`);
|
||||||
|
} else {
|
||||||
|
// for a public repository, we set max provenance mode.
|
||||||
|
args.push('--attest', `type=provenance,${Build.resolveProvenanceAttrs(`mode=max`)}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (inputs.sbom) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(`type=sbom,${inputs.sbom}`));
|
||||||
|
sbomSet = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set attests but check if provenance or sbom types already set as
|
||||||
|
// provenance and sbom inputs take precedence over attests input.
|
||||||
|
await Util.asyncForEach(inputs.attests, async (attest: string) => {
|
||||||
|
if (!Build.hasAttestationType('provenance', attest) && !Build.hasAttestationType('sbom', attest)) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(attest));
|
||||||
|
} else if (!provenanceSet && Build.hasAttestationType('provenance', attest)) {
|
||||||
|
args.push('--attest', Build.resolveProvenanceAttrs(attest));
|
||||||
|
} else if (!sbomSet && Build.hasAttestationType('sbom', attest)) {
|
||||||
|
args.push('--attest', attest);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
function noDefaultAttestations(): boolean {
|
||||||
|
if (process.env.BUILDX_NO_DEFAULT_ATTESTATIONS) {
|
||||||
|
return Util.parseBool(process.env.BUILDX_NO_DEFAULT_ATTESTATIONS);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
+186
-19
@@ -1,22 +1,32 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as stateHelper from './state-helper';
|
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
|
||||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
|
||||||
import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs';
|
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
|
||||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker';
|
|
||||||
|
|
||||||
import * as context from './context';
|
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||||
|
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history.js';
|
||||||
|
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||||
|
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||||
|
import {Exec} from '@docker/actions-toolkit/lib/exec.js';
|
||||||
|
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||||
|
import {GitHubArtifact} from '@docker/actions-toolkit/lib/github/artifact.js';
|
||||||
|
import {GitHubSummary} from '@docker/actions-toolkit/lib/github/summary.js';
|
||||||
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
|
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||||
|
|
||||||
|
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||||
|
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker.js';
|
||||||
|
import {UploadResponse as UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github/artifact.js';
|
||||||
|
|
||||||
|
import * as context from './context.js';
|
||||||
|
import * as stateHelper from './state-helper.js';
|
||||||
|
|
||||||
actionsToolkit.run(
|
actionsToolkit.run(
|
||||||
// main
|
// main
|
||||||
async () => {
|
async () => {
|
||||||
|
const startedTime = new Date();
|
||||||
const inputs: context.Inputs = await context.getInputs();
|
const inputs: context.Inputs = await context.getInputs();
|
||||||
|
stateHelper.setSummaryInputs(inputs);
|
||||||
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
||||||
|
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
@@ -74,6 +84,14 @@ actionsToolkit.run(
|
|||||||
await toolkit.buildx.printVersion();
|
await toolkit.buildx.printVersion();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let builder: BuilderInfo;
|
||||||
|
await core.group(`Builder info`, async () => {
|
||||||
|
builder = await toolkit.builder.inspect(inputs.builder);
|
||||||
|
stateHelper.setBuilderDriver(builder.driver ?? '');
|
||||||
|
stateHelper.setBuilderEndpoint(builder.nodes?.[0]?.endpoint ?? '');
|
||||||
|
core.info(JSON.stringify(builder, null, 2));
|
||||||
|
});
|
||||||
|
|
||||||
const args: string[] = await context.getArgs(inputs, toolkit);
|
const args: string[] = await context.getArgs(inputs, toolkit);
|
||||||
core.debug(`context.getArgs: ${JSON.stringify(args)}`);
|
core.debug(`context.getArgs: ${JSON.stringify(args)}`);
|
||||||
|
|
||||||
@@ -81,18 +99,29 @@ actionsToolkit.run(
|
|||||||
core.debug(`buildCmd.command: ${buildCmd.command}`);
|
core.debug(`buildCmd.command: ${buildCmd.command}`);
|
||||||
core.debug(`buildCmd.args: ${JSON.stringify(buildCmd.args)}`);
|
core.debug(`buildCmd.args: ${JSON.stringify(buildCmd.args)}`);
|
||||||
|
|
||||||
|
let err: Error | undefined;
|
||||||
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
||||||
ignoreReturnCode: true
|
ignoreReturnCode: true,
|
||||||
|
env: Object.assign({}, process.env, {
|
||||||
|
BUILDX_METADATA_WARNINGS: 'true'
|
||||||
|
}) as {
|
||||||
|
[key: string]: string;
|
||||||
|
}
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
if (res.exitCode != 0) {
|
||||||
throw new Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
if (inputs.call && inputs.call === 'check' && res.stdout.length > 0) {
|
||||||
|
// Check warnings are printed to stdout: https://github.com/docker/buildx/pull/2647
|
||||||
|
// Use the first line as the warning summary.
|
||||||
|
err = new Error(res.stdout.split('\n')[0]?.trim());
|
||||||
|
} else {
|
||||||
|
err = new Error(`buildx failed with: ${Buildx.getErrorMessage(res.stderr)}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const imageID = BuildxInputs.resolveBuildImageID();
|
const imageID = toolkit.buildxBuild.resolveImageID();
|
||||||
const metadata = BuildxInputs.resolveBuildMetadata();
|
const metadata = toolkit.buildxBuild.resolveMetadata();
|
||||||
const digest = BuildxInputs.resolveDigest();
|
const digest = toolkit.buildxBuild.resolveDigest(metadata);
|
||||||
|
|
||||||
if (imageID) {
|
if (imageID) {
|
||||||
await core.group(`ImageID`, async () => {
|
await core.group(`ImageID`, async () => {
|
||||||
core.info(imageID);
|
core.info(imageID);
|
||||||
@@ -107,17 +136,155 @@ actionsToolkit.run(
|
|||||||
}
|
}
|
||||||
if (metadata) {
|
if (metadata) {
|
||||||
await core.group(`Metadata`, async () => {
|
await core.group(`Metadata`, async () => {
|
||||||
core.info(metadata);
|
const metadatadt = JSON.stringify(metadata, null, 2);
|
||||||
core.setOutput('metadata', metadata);
|
GitHub.printUntrusted(metadatadt);
|
||||||
|
core.setOutput('metadata', metadatadt);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let ref: string | undefined;
|
||||||
|
await core.group(`Reference`, async () => {
|
||||||
|
ref = await buildRef(toolkit, startedTime, inputs.builder);
|
||||||
|
if (ref) {
|
||||||
|
core.info(ref);
|
||||||
|
stateHelper.setBuildRef(ref);
|
||||||
|
} else {
|
||||||
|
core.info('No build reference found');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (buildChecksAnnotationsEnabled()) {
|
||||||
|
const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
|
||||||
|
if (ref && warnings && warnings.length > 0) {
|
||||||
|
const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
|
||||||
|
core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
|
||||||
|
if (annotations && annotations.length > 0) {
|
||||||
|
await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
|
||||||
|
for (const annotation of annotations) {
|
||||||
|
core.warning(annotation.message, annotation);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await core.group(`Check build summary support`, async () => {
|
||||||
|
if (!buildSummaryEnabled()) {
|
||||||
|
core.info('Build summary disabled');
|
||||||
|
} else if (inputs.call && inputs.call !== 'build') {
|
||||||
|
core.info(`Build summary skipped for ${inputs.call} subrequest`);
|
||||||
|
} else if (GitHub.isGHES) {
|
||||||
|
core.info('Build summary is not yet supported on GHES');
|
||||||
|
} else if (!(await toolkit.buildx.versionSatisfies('>=0.23.0'))) {
|
||||||
|
core.info('Build summary requires Buildx >= 0.23.0');
|
||||||
|
} else if (!ref) {
|
||||||
|
core.info('Build summary requires a build reference');
|
||||||
|
} else {
|
||||||
|
core.info('Build summary supported!');
|
||||||
|
stateHelper.setSummarySupported();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// post
|
// post
|
||||||
async () => {
|
async () => {
|
||||||
|
if (stateHelper.isSummarySupported) {
|
||||||
|
await core.group(`Generating build summary`, async () => {
|
||||||
|
try {
|
||||||
|
const recordUploadEnabled = buildRecordUploadEnabled();
|
||||||
|
let recordRetentionDays: number | undefined;
|
||||||
|
if (recordUploadEnabled) {
|
||||||
|
recordRetentionDays = buildRecordRetentionDays();
|
||||||
|
}
|
||||||
|
|
||||||
|
const buildxHistory = new BuildxHistory();
|
||||||
|
const exportRes = await buildxHistory.export({
|
||||||
|
refs: stateHelper.buildRef ? [stateHelper.buildRef] : []
|
||||||
|
});
|
||||||
|
core.info(`Build record written to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
|
||||||
|
|
||||||
|
let uploadRes: UploadArtifactResponse | undefined;
|
||||||
|
if (recordUploadEnabled) {
|
||||||
|
uploadRes = await GitHubArtifact.upload({
|
||||||
|
filename: exportRes.dockerbuildFilename,
|
||||||
|
retentionDays: recordRetentionDays
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await GitHubSummary.writeBuildSummary({
|
||||||
|
exportRes: exportRes,
|
||||||
|
uploadRes: uploadRes,
|
||||||
|
inputs: stateHelper.summaryInputs,
|
||||||
|
driver: stateHelper.builderDriver,
|
||||||
|
endpoint: stateHelper.builderEndpoint
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
core.warning(e.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
if (stateHelper.tmpDir.length > 0) {
|
if (stateHelper.tmpDir.length > 0) {
|
||||||
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
||||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
try {
|
||||||
|
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
||||||
|
} catch {
|
||||||
|
core.warning(`Failed to remove temp folder ${stateHelper.tmpDir}`);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promise<string> {
|
||||||
|
// get ref from metadata file
|
||||||
|
const ref = toolkit.buildxBuild.resolveRef();
|
||||||
|
if (ref) {
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
// otherwise, look for the very first build ref since the build has started
|
||||||
|
if (!builder) {
|
||||||
|
const currentBuilder = await toolkit.builder.inspect();
|
||||||
|
builder = currentBuilder.name;
|
||||||
|
}
|
||||||
|
const refs = Buildx.refs({
|
||||||
|
dir: Buildx.refsDir,
|
||||||
|
builderName: builder,
|
||||||
|
since: since
|
||||||
|
});
|
||||||
|
return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildChecksAnnotationsEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSummaryEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_SUMMARY) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_SUMMARY);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildRecordUploadEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_RECORD_UPLOAD) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildRecordRetentionDays(): number | undefined {
|
||||||
|
const val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
|
||||||
|
if (val) {
|
||||||
|
const res = parseInt(val);
|
||||||
|
if (isNaN(res)) {
|
||||||
|
throw new Error(`Invalid build record retention days: ${val}`);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,70 @@
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
|
|
||||||
|
import {Inputs} from './context.js';
|
||||||
|
|
||||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
||||||
|
|
||||||
|
export const builderDriver = process.env['STATE_builderDriver'] || '';
|
||||||
|
export const builderEndpoint = process.env['STATE_builderEndpoint'] || '';
|
||||||
|
export const summaryInputs = process.env['STATE_summaryInputs'] ? JSON.parse(process.env['STATE_summaryInputs']) : undefined;
|
||||||
|
|
||||||
|
export const buildRef = process.env['STATE_buildRef'] || '';
|
||||||
|
export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
|
||||||
|
|
||||||
export function setTmpDir(tmpDir: string) {
|
export function setTmpDir(tmpDir: string) {
|
||||||
core.saveState('tmpDir', tmpDir);
|
core.saveState('tmpDir', tmpDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setBuilderDriver(builderDriver: string) {
|
||||||
|
core.saveState('builderDriver', builderDriver);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setBuilderEndpoint(builderEndpoint: string) {
|
||||||
|
core.saveState('builderEndpoint', builderEndpoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setBuildRef(buildRef: string) {
|
||||||
|
core.saveState('buildRef', buildRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setSummarySupported() {
|
||||||
|
core.saveState('isSummarySupported', 'true');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setSummaryInputs(inputs: Inputs) {
|
||||||
|
const res = {};
|
||||||
|
for (const key of Object.keys(inputs)) {
|
||||||
|
if (key === 'github-token') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const value: string | string[] | boolean = inputs[key];
|
||||||
|
if (typeof value === 'boolean' && !value) {
|
||||||
|
continue;
|
||||||
|
} else if (Array.isArray(value)) {
|
||||||
|
if (value.length === 0) {
|
||||||
|
continue;
|
||||||
|
} else if (key === 'secrets' && value.length > 0) {
|
||||||
|
const secretKeys: string[] = [];
|
||||||
|
for (const secret of value) {
|
||||||
|
try {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
const [skey, _] = Build.parseSecretKvp(secret, true);
|
||||||
|
secretKeys.push(skey);
|
||||||
|
} catch {
|
||||||
|
// ignore invalid secret
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (secretKeys.length > 0) {
|
||||||
|
res[key] = secretKeys;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (!value) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
res[key] = value;
|
||||||
|
}
|
||||||
|
core.saveState('summaryInputs', JSON.stringify(res));
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
frOM busybox as base
|
||||||
|
cOpy lint.Dockerfile .
|
||||||
|
|
||||||
|
from scratch
|
||||||
|
MAINTAINER moby@example.com
|
||||||
|
COPy --from=base \
|
||||||
|
/lint.Dockerfile \
|
||||||
|
/
|
||||||
|
|
||||||
|
CMD [ "echo", "Hello, Norway!" ]
|
||||||
|
CMD [ "echo", "Hello, Sweden!" ]
|
||||||
|
ENTRYPOINT my-program start
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
FROM --platform=$BUILDPLATFORM golang:alpine AS build
|
|
||||||
|
FROM --platform=$BUILDPLATFORM alpine AS build
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
ARG BUILDPLATFORM
|
ARG BUILDPLATFORM
|
||||||
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
|
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
|
||||||
@@ -12,7 +13,7 @@ RUN apk --update --no-cache add \
|
|||||||
&& rm -rf /tmp/* /var/cache/apk/*
|
&& rm -rf /tmp/* /var/cache/apk/*
|
||||||
|
|
||||||
USER buildx
|
USER buildx
|
||||||
RUN sudo chown buildx. /log
|
RUN sudo chown buildx: /log
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
foo
|
||||||
+4
-9
@@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"module": "nodenext",
|
||||||
|
"moduleResolution": "nodenext",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "es6",
|
|
||||||
"module": "commonjs",
|
|
||||||
"strict": true,
|
|
||||||
"newLine": "lf",
|
"newLine": "lf",
|
||||||
"outDir": "./lib",
|
"outDir": "./lib",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
@@ -12,11 +11,7 @@
|
|||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"useUnknownInCatchVariables": false,
|
"useUnknownInCatchVariables": false,
|
||||||
},
|
},
|
||||||
"exclude": [
|
"include": [
|
||||||
"./__mocks__/**/*",
|
"src/**/*.ts"
|
||||||
"./__tests__/**/*",
|
|
||||||
"./lib/**/*",
|
|
||||||
"node_modules",
|
|
||||||
"jest.config.ts"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
import {defineConfig} from 'vitest/config';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
test: {
|
||||||
|
clearMocks: true,
|
||||||
|
environment: 'node',
|
||||||
|
setupFiles: ['./__tests__/setup.unit.ts'],
|
||||||
|
include: ['**/*.test.ts'],
|
||||||
|
coverage: {
|
||||||
|
provider: 'v8',
|
||||||
|
reporter: ['clover'],
|
||||||
|
include: ['src/**/*.ts'],
|
||||||
|
exclude: ['src/**/main.ts']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in new issue
Block a user