mirror of
https://gh-proxy.com/https://github.com/docker/build-push-action
synced 2026-11-12 15:35:38 +08:00
Compare commits
560
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75f7dabc19 | ||
|
|
f880985cfc | ||
|
|
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 |
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 .}}'
|
|
||||||
+378
-105
@@ -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: |
|
||||||
@@ -1259,25 +1336,24 @@ 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 }}
|
||||||
# TODO: use buildx-stable-1 image when v0.13 promoted
|
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
network=host
|
network=host
|
||||||
image=moby/buildkit:v0.13.0
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
@@ -1309,25 +1385,24 @@ 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 }}
|
||||||
# TODO: use buildx-stable-1 image when v0.13 promoted
|
|
||||||
driver-opts: |
|
driver-opts: |
|
||||||
network=host
|
network=host
|
||||||
image=moby/buildkit:v0.13.0
|
image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }}
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
@@ -1346,3 +1421,201 @@ jobs:
|
|||||||
name: Check docker
|
name: Check docker
|
||||||
run: |
|
run: |
|
||||||
docker image inspect localhost:5000/name/app:latest
|
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'
|
||||||
+41
-21
@@ -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
|
||||||
|
rm -rf dist
|
||||||
|
cp -rf /out/* .
|
||||||
|
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||||
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
||||||
git status --porcelain -- dist
|
git status --porcelain -- dist
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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 sqe=Object.create;var Cx=Object.defineProperty;var oqe=Object.getOwnPropertyDescriptor;var aqe=Object.getOwnPropertyNames;var cqe=Object.getPrototypeOf,lqe=Object.prototype.hasOwnProperty;var o=(t,e)=>Cx(t,"name",{value:e,configurable:!0});var A=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),uqe=(t,e)=>{for(var r in e)Cx(t,r,{get:e[r],enumerable:!0})},dqe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of aqe(e))!lqe.call(t,i)&&i!==r&&Cx(t,i,{get:()=>e[i],enumerable:!(n=oqe(e,i))||n.enumerable});return t};var N=(t,e,r)=>(r=t!=null?sqe(cqe(t)):{},dqe(e||!t||!t.__esModule?Cx(r,"default",{value:t,enumerable:!0}):r,t));var VZ=A(lm=>{"use strict";var v5t=require("net"),gqe=require("tls"),SL=require("http"),qZ=require("https"),yqe=require("events"),N5t=require("assert"),Eqe=require("util");lm.httpOverHttp=Cqe;lm.httpsOverHttp=bqe;lm.httpOverHttps=Iqe;lm.httpsOverHttps=wqe;function Cqe(t){var e=new mu(t);return e.request=SL.request,e}o(Cqe,"httpOverHttp");function bqe(t){var e=new mu(t);return e.request=SL.request,e.createSocket=GZ,e.defaultPort=443,e}o(bqe,"httpsOverHttp");function Iqe(t){var e=new mu(t);return e.request=qZ.request,e}o(Iqe,"httpOverHttps");function wqe(t){var e=new mu(t);return e.request=qZ.request,e.createSocket=GZ,e.defaultPort=443,e}o(wqe,"httpsOverHttps");function mu(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SL.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",o(function(n,i,s,a){for(var c=HZ(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");Eqe.inherits(mu,yqe.EventEmitter);mu.prototype.addRequest=o(function(e,r,n,i){var s=this,a=BL({request:e},s.options,HZ(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=BL({},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 GZ(t,e){var r=this;mu.prototype.createSocket.call(r,t,function(n){var i=t.request.getHeader("host"),s=BL({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):t.host}),a=gqe.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}o(GZ,"createSecureSocket");function HZ(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}o(HZ,"toOptions");function BL(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(BL,"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((R5t,zZ)=>{zZ.exports=VZ()});var mr=A((D5t,$Z)=>{$Z.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((Q5t,gee)=>{"use strict";var jZ=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[jZ]===!0}[jZ]=!0},WZ=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),xL=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[WZ]===!0}[WZ]=!0},JZ=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),vL=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},YZ=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),NL=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[YZ]===!0}[YZ]=!0},KZ=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),_L=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(Rte,"isValidHeaderValue");function UGe(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(SGe.has(a)){i=a;break}}i!==""&&(t.referrerPolicy=i)}o(UGe,"setRequestReferrerPolicyOnRedirect");function qGe(){return"allowed"}o(qGe,"crossOriginResourcePolicyCheck");function GGe(){return"success"}o(GGe,"corsCheck");function HGe(){return"success"}o(HGe,"TAOCheck");function VGe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(VGe,"appendFetchMetadata");function zGe(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&&bF(t.origin)&&!bF(ob(t))&&(e=null);break;case"same-origin":zx(t,ob(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(zGe,"appendRequestOriginHeader");function Cm(t,e){return t}o(Cm,"coarsenTime");function $Ge(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($Ge,"clampAndCoarsenConnectionTimingInfo");function jGe(t){return Cm(_Ge.now(),t)}o(jGe,"coarsenedSharedCurrentTime");function WGe(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(WGe,"createOpaqueTimingInfo");function Dte(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(Dte,"makePolicyContainer");function JGe(t){return{referrerPolicy:t.referrerPolicy}}o(JGe,"clonePolicyContainer");function YGe(t){let e=t.referrerPolicy;_h(e);let r=null;if(t.referrer==="client"){let c=xte();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=CF(r),i=CF(r,!0);n.toString().length>4096&&(n=i);let s=zx(t,n),a=sb(n)&&!sb(t.url);switch(e){case"origin":return i??CF(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 zx(n,c)?n:sb(n)&&!sb(c)?"no-referrer":i}default:return a?"no-referrer":i}}o(YGe,"determineRequestsReferrer");function CF(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(CF,"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 KGe(t,e){if(Vx===void 0)return!0;let r=Qte(e);if(r==="no metadata"||r.length===0)return!0;let n=ZGe(r),i=eHe(r,n);for(let s of i){let a=s.algo,c=s.hash,l=Vx.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)),tHe(l,c))return!0}return!1}o(KGe,"bytesMatch");var XGe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function Qte(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let i=XGe.exec(n);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let s=i.groups.algo.toLowerCase();Nte.includes(s)&&e.push(i.groups)}return r===!0?"no metadata":e}o(Qte,"parseMetadata");function ZGe(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(ZGe,"getStrongestMetadata");function eHe(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(eHe,"filterMetadataListByAlgorithm");function tHe(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(tHe,"compareBase64Mixed");function rHe(t){}o(rHe,"tryUpgr
Line truncated
|
||||||
|
`);function FHe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(FHe,"isAsciiString");function MHe(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(MHe,"validateBoundary");function UHe(t,e){jx(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&&Wx(t,OHe,s)||s.position===t.length-4&&Wx(t,LHe,s))return i;if(t[s.position]!==13||t[s.position+1]!==10)return"failure";s.position+=2;let c=qHe(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",FHe(d)||(d=""),p=new kHe([h],u,{type:d})):p=_He(Buffer.from(h)),jx($te(l)),jx(typeof p=="string"&&$te(p)||RHe(p)),i.push(DHe(l,p,u))}}o(UHe,"multipartFormDataParser");function qHe(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=NF(a,!0,!0,c=>c===9||c===32),!THe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,Im(c=>c===32||c===9,t,e),NHe(a)){case"content-disposition":{if(r=n=null,!Wx(t,PHe,e)||(e.position+=17,r=Jte(t,e),r===null))return"failure";if(Wx(t,Wte,e)){let c=e.position+Wte.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=Jte(t,e),n===null))return"failure"}break}case"content-type":{let c=Im(l=>l!==10&&l!==13,t,e);c=NF(c,!1,!0,l=>l===9||l===32),i=jte(c);break}case"content-transfer-encoding":{let c=Im(l=>l!==10&&l!==13,t,e);c=NF(c,!1,!0,l=>l===9||l===32),s=jte(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(qHe,"parseMultipartFormDataHeaders");function Jte(t,e){jx(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(Jte,"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 NF(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(NF,"removeChars");function Wx(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(Wx,"bufferStartsWith");Yte.exports={multipartFormDataParser:UHe,validateBoundary:MHe}});var Bm=A((Ezt,are)=>{"use strict";var lb=at(),{ReadableStreamFrom:GHe,isBlobLike:Xte,isReadableStreamLike:HHe,readableStreamClose:VHe,createDeferredPromise:zHe,fullyReadBody:$He,extractMimeType:jHe,utf8DecodeBytes:tre}=Ws(),{FormData:Zte}=cb(),{kState:Sm}=Qd(),{webidl:WHe}=ci(),{Blob:JHe}=require("node:buffer"),_F=require("node:assert"),{isErrored:rre,isDisturbed:YHe}=require("node:stream"),{isArrayBuffer:KHe}=require("node:util/types"),{serializeAMimeType:XHe}=gs(),{multipartFormDataParser:ZHe}=Kte(),TF;try{let t=require("node:crypto");TF=o(e=>t.randomInt(0,e),"random")}catch{TF=o(t=>Math.floor(Math.random(t)),"random")}var Jx=new TextEncoder;function e4e(){}o(e4e,"noop");var nre=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,ire;nre&&(ire=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!YHe(e)&&!rre(e)&&e.cancel("Response object has been garbage collected").catch(e4e)}));function sre(t,e=!1){let r=null;t instanceof ReadableStream?r=t:Xte(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(()=>VHe(l))},start(){},type:"bytes"}),_F(HHe(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(KHe(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${`${TF(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(Xte(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:GHe(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(!rre(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(sre,"extractBody");function t4e(t,e=!1){return t instanceof ReadableStream&&(_F(!lb.isDisturbed(t),"The body has already been consumed."),_F(!t.locked,"The stream is locked.")),sre(t,e)}o(t4e,"safelyExtractBody");function r4e(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}o(r4e,"cloneBody");function n4e(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(n4e,"throwIfAborted");function i4e(t){return{blob(){return wm(this,r=>{let n=ere(this);return n===null?n="":n&&(n=XHe(n)),new JHe([r],{type:n})},t)},arrayBuffer(){return wm(this,r=>new Uint8Array(r).buffer,t)},text(){return wm(this,tre,t)},json(){return wm(this,o4e,t)},formData(){return wm(this,r=>{let n=ere(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let i=ZHe(r,n);if(i==="failure")throw new TypeError("Failed to parse body as FormData.");let s=new Zte;return s[Sm]=i,s}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(r.toString()),s=new Zte;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(i4e,"bodyMixinMethods");function s4e(t){Object.assign(t.prototype,i4e(t))}o(s4e,"mixinBody");async function wm(t,e,r){if(WHe.brandCheck(t,r),ore(t))throw new TypeError("Body is unusable: Body has already been read");n4e(t[Sm]);let n=zHe(),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 $He(t[Sm].body,s,i),n.promise)}o(wm,"consumeBody");function ore(t){let e=t[Sm].body;return e!=null&&(e.stream.locked||lb.isDisturbed(e.stream))}o(ore,"bodyUnusable");function o4e(t){return JSON.parse(tre(t))}o(o4e,"parseJSONFromBytes");function ere(t){let e=t[Sm].headersList,r=jHe(e);return r==="failure"?null:r}o(ere,"bodyMimeType");are.exports={extractBody:sre,safelyExtractBody:t4e,cloneBody:r4e,mixinBody:s4e,streamRegistry:ire,hasFinalizationRegistry:nre,bodyUnusable:ore}});var wre=A((bzt,Ire)=>{"use strict";var ke=require("node:assert"),ve=at(),{channels:cre}=fm(),RF=fF(),{RequestContentLengthMismatchError:Th,ResponseContentLengthMismatchError:lre,RequestAbortedError:gre,InvalidArgumentError:a4e,HeadersTimeoutError:c4e,HeadersOverflowError:l4e,SocketError:xm,InformationalError:Rh,BodyTimeoutError:u4e,HTTPParserError:d4e,ResponseExceededMaxSizeError:f4e}=Rt(),{kUrl:yre,kReset:ys,kClient:Zx,kParser:rr,kBlocking:fb,kRunning:An,kPending:Ere,kSize:ure,kWriting:kd,kQueue:Fa,kNoRef:ub,kKeepAliveDefaultTimeout:h4e,kHostHeader:p4e,kPendingIdx:A4e,kRunningIdx:Lo,kError:Gi,kPipelining:ev,kSocket:Dh,kKeepAliveTimeoutValue:rv,kMaxHeadersSize:DF,kKeepAliveMaxTimeout:m4e,kKeepAliveTimeoutThreshold:g4e,kHeadersTimeout:y4e,kBodyTimeout:E4e,kStrictContentLength:PF,kMaxRequests:dre,kCounter:C4e,kMaxResponseSize:b4e,kOnError:fre,kResume:bu,kHTTPContext:Cre}=mr(),Js=ite(),hre=Buffer.alloc(0),Yx=Buffer[Symbol.species],Kx=ve.addListener,I4e=ve.removeAllListeners,Qh=Symbol("kIdleSocketValidation"),vm=Symbol("kIdleSocketValidationTimeout"),MF=Symbol("kSocketUsed"),QF;async function w4e(){let t=process.env.JEST_WORKER_ID?AF():void 0,e;try{e=await WebAssembly.compile(ate())}catch{e=await WebAssembly.compile(t||AF())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((r,n,i)=>0,"wasm_on_url"),wasm_on_status:o((r,n,i)=>{ke(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onStatus(new Yx(Nc.buffer,s,i))||0},"wasm_on_status"),wasm_on_message_begin:o(r=>(ke(Qr.ptr===r),Qr.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((r,n,i)=>{ke(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onHeaderField(new Yx(Nc.buffer,s,i))||0},"wasm_on_header_field"),wasm_on_header_value:o((r,n,i)=>{ke(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onHeaderValue(new Yx(Nc.buffer,s,i))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((r,n,i,s)=>(ke(Qr.ptr===r),Qr.onHeadersComplete(n,!!i,!!s)||0),"wasm_on_headers_complete"),wasm_on_body:o((r,n,i)=>{ke(Qr.ptr=
Line truncated
|
||||||
|
`;if(typeof i=="string"?m+=`host: ${i}\r
|
||||||
|
`:m+=t[p4e],s?m+=`connection: upgrade\r
|
||||||
|
upgrade: ${s}\r
|
||||||
|
`:t[ev]&&!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 cre.sendHeaders.hasSubscribers&&cre.sendHeaders.publish({request:e,headers:m,socket:p}),!l||h===0?Are(g,null,t,e,p,d,m,f):ve.isBuffer(l)?Are(g,l,t,e,p,d,m,f):ve.isBlobLike(l)?typeof l.stream=="function"?mre(g,l.stream(),t,e,p,d,m,f):R4e(g,l,t,e,p,d,m,f):ve.isStream(l)?T4e(g,l,t,e,p,d,m,f):ve.isIterable(l)?mre(g,l,t,e,p,d,m,f):ke(!1),!0}o(_4e,"writeH1");function T4e(t,e,r,n,i,s,a,c){ke(s!==0||r[An]===0,"stream body cannot be pipelined");let l=!1,u=new nv({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 gre;queueMicrotask(()=>p(g))}},"onClose"),p=o(function(g){if(!l){if(l=!0,ke(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(T4e,"writeStream");function Are(t,e,r,n,i,s,a,c){try{e?ve.isBuffer(e)&&(ke(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"):(ke(s===null,"no body must not have content length"),i.write(`${a}\r
|
||||||
|
`,"latin1")),n.onRequestSent(),r[bu]()}catch(l){t(l)}}o(Are,"writeBuffer");async function R4e(t,e,r,n,i,s,a,c){ke(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(R4e,"writeBlob");async function mre(t,e,r,n,i,s,a,c){ke(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)=>{ke(l===null),i[Gi]?p(i[Gi]):l=h}),"waitForDrain");i.on("close",u).on("drain",u);let f=new nv({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(mre,"writeIterable");var nv=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[PF])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[PF])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&&(ke(n[An]<=1,"pipeline should only contain this request"),i(e))}};Ire.exports=B4e});var Rre=A((wzt,Tre)=>{"use strict";var Rc=require("node:assert"),{errorMonitor:UF}=require("node:events"),{pipeline:D4e}=require("node:stream"),ut=at(),{RequestContentLengthMismatchError:GF,RequestAbortedError:qF,SocketError:hb,InformationalError:iv}=Rt(),{kUrl:sv,kReset:av,kClient:_m,kRunning:cv,kPending:Q4e,kQueue:kh,kPendingIdx:VF,kRunningIdx:Tc,kError:Ua,kSocket:Gn,kStrictContentLength:k4e,kOnError:zF,kMaxConcurrentStreams:Nre,kHTTP2Session:Ma,kResume:Od,kSize:P4e,kHTTPContext:O4e}=mr(),Pd=Symbol("open streams"),Sre,Bre=!1,ov;try{ov=require("node:http2")}catch{ov={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:L4e,HTTP2_HEADER_METHOD:F4e,HTTP2_HEADER_PATH:M4e,HTTP2_HEADER_SCHEME:U4e,HTTP2_HEADER_CONTENT_LENGTH:q4e,HTTP2_HEADER_EXPECT:G4e,HTTP2_HEADER_STATUS:HF}}=ov;function _re(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(_re,"parseH2Headers");function H4e(t){let{[HF]:e,...r}=t;return _re(r)}o(H4e,"parseH2ResponseHeaders");async function V4e(t,e){t[Gn]=e,Bre||(Bre=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=ov.connect(t[sv],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[Nre]});r[Pd]=0,r[_m]=t,r[Gn]=e,ut.addListener(r,"error",$4e),ut.addListener(r,"frameError",j4e),ut.addListener(r,"end",W4e),ut.addListener(r,"goaway",J4e),ut.addListener(r,"close",function(){let{[_m]:i}=this,{[Gn]:s}=i,a=this[Gn][Ua]||this[Ua]||new hb("closed",ut.getSocketInfo(s));if(i[Ma]=null,i.destroyed){Rc(i[Q4e]===0);let c=i[kh].splice(i[Tc]);for(let l=0;l<c.length;l++){let u=c[l];ut.errorRequest(i,u,a)}}}),r.unref(),t[Ma]=r,e[Ma]=r,ut.addListener(e,"error",function(i){this[Ua]=i,this[_m][zF](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[Ua]||new hb("closed",ut.getSocketInfo(this));t[Gn]=null,this[Ma]!=null&&this[Ma].destroy(i),t[VF]=t[Tc],Rc(t[cv]===0),t.emit("disconnect",t[sv],[t],i),t[Od]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return K4e(t,...i)},resume(){z4e(t)},destroy(i,s){n?queueMicrotask(s):e.destroy(i).on("close",s)},get destroyed(){return e.destroyed},busy(){return!1}}}o(V4e,"connectH2");function z4e(t){let e=t[Gn];e?.destroyed===!1&&(t[P4e]===0&&t[Nre]===0?(e.unref(),t[Ma].unref()):(e.ref(),t[Ma].ref()))}o(z4e,"resumeH2");function $4e(t){this[Gn][Ua]=t,this[_m][zF](t)}o($4e,"onHttp2SessionError");function j4e(t,e,r){if(r===0){let n=new iv(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Gn][Ua]=n,this[_m][zF](n)}}o(j4e,"onHttp2FrameError");function W4e(){let t=new hb("other side closed",ut.getSocketInfo(this[Gn]));this.destroy(t),ut.destroy(this[Gn],t)}o(W4e,"onHttp2SessionEnd");function J4e(t){let e=this[Ua]||new hb(`HTTP/2: "GOAWAY" frame received with code ${t}`,ut.getSocketInfo(this)),r=this[_m];if(r[Gn]=null,r[O4e]=null,this[Ma]!=null&&(this[Ma].destroy(e),this[Ma]=null),ut.destroy(this[Gn],e),r[Tc]<r[kh].length){let n=r[kh][r[Tc]];r[kh][r[Tc]++]=null,ut.errorRequest(r,n,e),r[VF]=r[Tc]}Rc(r[cv]===0),r.emit("disconnect",r[sv],[r],e),r[Od]()}o(J4e,"onHTTP2GoAway");function Y4e(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(Y4e,"shouldSendContentLength");function K4e(t,e){let r=t[Ma],{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[sv];f[L4e]=s||`${p}${g?`:${g}`:""}`,f[F4e]=n;let m=o(B=>{if(!e.aborted){if(e.completed){n==="CONNECT"&&h!=null&&ut.destroy(h,B||new qF);return}B=B||new qF,ut.errorRequest(t,e,B),h!=null&&ut.destroy(h,B),ut.destroy(d,B),t[kh][t[Tc]++]=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(UF,M),e.onUpgradeResponse(Number(G[HF]),G,H4e)},"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(UF,M),t[kh][t[Tc]++]=null)},"onReady");return h.once("response",Q),h.once("error",m),++r[Pd],v(),h.once("close",()=>{!B&&e.completed&&(h.off("response",Q),h.off(UF,M),e.onUpgradeError(new iv(`HTTP/2: "streamLine truncated
|
||||||
|
`,this[wVe]=l??3e5,this[IVe]=i??3e5,this[SVe]=C??!0,this[BVe]=B,this[JF]=M,this[Fd]=null,this[TVe]=G>-1?G:-1,this[DVe]=z??100,this[Kr]=null,this[qa]=[],this[wu]=0,this[Ga]=0,this[gb]=ce=>KF(this,ce),this[RVe]=ce=>Hre(this,ce)}get pipelining(){return this[fv]}set pipelining(e){this[fv]=e,this[gb](!0)}get[Cb](){return this[qa].length-this[Ga]}get[Eb](){return this[Ga]-this[wu]}get[yb](){return this[qa].length-this[wu]}get[AVe](){return!!this[Kr]&&!this[Rm]&&!this[Kr].destroyed}get[WF](){return!!(this[Kr]?.busy(null)||this[yb]>=(Gre(this)||1)||this[Cb]>0)}[pVe](e){Vre(this),this.once("connect",e)}[_Ve](e,r){let n=e.origin||this[Qc].origin,i=new cVe(n,e,r);return this[qa].push(i),this[Oh]||(Ph.bodyLength(i.body)==null&&Ph.isIterable(i.body)?(this[Oh]=1,queueMicrotask(()=>KF(this))):this[gb](!0)),this[Oh]&&this[Md]!==2&&this[WF]&&(this[Md]=2),this[Md]<2}async[vVe](){return new Promise(e=>{this[yb]?this[Fd]=e:e(null)})}async[NVe](e){return new Promise(r=>{let n=this[qa].splice(this[Ga]);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]()})}},PVe=dv();function Hre(t,e){if(t[Eb]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Iu(t[Ga]===t[wu]);let r=t[qa].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(Hre,"onError");async function Vre(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(qre.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",Mre),new dVe);return}Iu(s);try{t[Kr]=s.alpnProtocol==="h2"?await kVe(t,s):await QVe(t,s)}catch(a){throw s.destroy().on("error",Mre),a}t[Rm]=!1,s[xVe]=0,s[JF]=t[JF],s[hVe]=t,s[gVe]=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[qa][t[Ga]].servername===t[Ld];){let a=t[qa][t[Ga]++];Ph.errorRequest(t,a,s)}else Hre(t,s);t.emit("connectionError",t[Qc],[t],s)}t[gb]()}o(Vre,"connect");function Ure(t){t[Md]=0,t.emit("drain",t[Qc],[t])}o(Ure,"emitDrain");function KF(t,e){t[Oh]!==2&&(t[Oh]=2,OVe(t,e),t[Oh]=0,t[wu]>256&&(t[qa].splice(0,t[wu]),t[Ga]-=t[wu],t[wu]=0))}o(KF,"resume");function OVe(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[WF])t[Md]=2;else if(t[Md]===2){e?(t[Md]=1,queueMicrotask(()=>Ure(t))):Ure(t);continue}if(t[Cb]===0||t[Eb]>=(Gre(t)||1))return;let r=t[qa][t[Ga]];if(t[Qc].protocol==="https:"&&t[Ld]!==r.servername){if(t[Eb]>0)return;t[Ld]=r.servername,t[Kr]?.destroy(new uVe("servername changed"),()=>{t[Kr]=null,KF(t)})}if(t[Rm])return;if(!t[Kr]){Vre(t);return}if(t[Kr].destroyed||t[Kr].busy(r))return;!r.aborted&&t[Kr].write(r)?t[Ga]++:t[qa].splice(t[Ga],1)}}o(OVe,"_resume");zre.exports=YF});var XF=A((Dzt,$re)=>{"use strict";var hv=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)}};$re.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new hv}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new hv),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var Wre=A((kzt,jre)=>{var{kFree:LVe,kConnected:FVe,kPending:MVe,kQueued:UVe,kRunning:qVe,kSize:GVe}=mr(),Lh=Symbol("pool"),ZF=class{static{o(this,"PoolStats")}constructor(e){this[Lh]=e}get connected(){return this[Lh][FVe]}get free(){return this[Lh][LVe]}get pending(){return this[Lh][MVe]}get queued(){return this[Lh][UVe]}get running(){return this[Lh][qVe]}get size(){return this[Lh][GVe]}};jre.exports=ZF});var sM=A((Ozt,ine)=>{"use strict";var HVe=mm(),VVe=XF(),{kConnected:eM,kSize:Jre,kRunning:Yre,kPending:Kre,kQueued:bb,kBusy:zVe,kFree:$Ve,kUrl:jVe,kClose:WVe,kDestroy:JVe,kDispatch:YVe}=mr(
Line truncated
|
||||||
|
${n.count} ${n.noun} ${n.is} pending:
|
||||||
|
|
||||||
|
${e.format(r)}
|
||||||
|
`.trim())}};dse.exports=sU});var Rb=A((k$t,mse)=>{"use strict";var hse=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:w$e}=Rt(),S$e=km();Ase()===void 0&&pse(new S$e);function pse(t){if(!t||typeof t.dispatch!="function")throw new w$e("Argument agent must implement Agent");Object.defineProperty(globalThis,hse,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(pse,"setGlobalDispatcher");function Ase(){return globalThis[hse]}o(Ase,"getGlobalDispatcher");mse.exports={setGlobalDispatcher:pse,getGlobalDispatcher:Ase}});var Rv=A((L$t,gse)=>{"use strict";gse.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 Ese=A((M$t,yse)=>{"use strict";var B$e=uv();yse.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 B$e(r,a,i,s);return r(c,l)},"redirectInterceptor")}});var bse=A((q$t,Cse)=>{"use strict";var x$e=bv();Cse.exports=t=>e=>o(function(n,i){return e(n,new x$e({...n,retryOptions:{...t,...n.retryOptions}},{handler:i,dispatch:e}))},"retryInterceptor")});var wse=A((H$t,Ise)=>{"use strict";var v$e=at(),{InvalidArgumentError:N$e,RequestAbortedError:_$e}=Rt(),T$e=Rv(),oU=class extends T$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 N$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=v$e.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new _$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 R$e({maxSize:t}={maxSize:1024*1024}){return e=>o(function(n,i){let{dumpMaxSize:s=t}=n,a=new oU({maxSize:s},i);return e(n,a)},"Intercept")}o(R$e,"createDumpInterceptor");Ise.exports=R$e});var xse=A((z$t,Bse)=>{"use strict";var{isIP:D$e}=require("node:net"),{lookup:Q$e}=require("node:dns"),k$e=Rv(),{InvalidArgumentError:Hm,InformationalError:P$e}=Rt(),Sse=Math.pow(2,31)-1,aU=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 P$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){Q$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===Sse?(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===Sse?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 cU(this,e,r)}},cU=class extends k$e{static{o(this,"DNSDispatchHan
Line truncated
|
||||||
|
${l}`,this.dataLineCount++;return}if(gN(e,i,YWe)){eJe(e,s)&&(this.setEventFieldSize("retry",e.length-s),r.retry=e.toString("utf8",s));return}if(gN(e,i,JWe)){tJe(e,s)&&(this.setEventFieldSize("id",e.length-s),r.id=e.toString("utf8",s));return}gN(e,i,WWe)&&s<e.length&&(this.setEventFieldSize("event",e.length-s),r.event=e.toString("utf8",s))}setEventFieldSize(e,r){let n=this.eventSize-this.eventFieldSizes[e]+r;if(this.maxEventSize>0&&n>this.maxEventSize)throw yN();this.eventSize=n,this.eventFieldSizes[e]=r}processEvent(e){e.retry&&GWe(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&HWe(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,this.eventSize=0,this.dataLineCount=0,this.eventFieldSizes.data=0,this.eventFieldSizes.event=0,this.eventFieldSizes.id=0,this.eventFieldSizes.retry=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.lineLength=0,this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){let e=this.lineChunkIndex;this.chunks.splice(0,e),this.lineChunkIndex=0,this.chunkIndex-=e}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())}};nce.exports={EventSourceStream:KU}});var fce=A((Wjt,dce)=>{"use strict";var{pipeline:rJe}=require("node:stream"),{fetching:nJe}=Ob(),{makeRequest:iJe}=$m(),{webidl:vu}=ci(),{EventSourceStream:sJe}=ice(),{parseMIMEType:oJe}=gs(),{createFastMessageEvent:aJe}=Xm(),{isNetworkError:sce}=kb(),{delay:cJe}=YU(),{kEnumerableProperty:Zh}=at(),{environmentSettingsObject:oce}=Ws(),{getGlobalDispatcher:lJe}=Rb(),ace=!1,cce=3e3,Kb=0,lce=1,Xb=2,uJe="anonymous",dJe="use-credentials",ig=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=Kb;#i=null;#s=null;#l;#a;constructor(e,r={}){super(),vu.util.markAsUncloneable(this);let n="EventSource constructor";vu.argumentLengthCheck(arguments,1,n),ace||(ace=!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:cce};let i=oce,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=uJe;r.withCredentials&&(a=dJe,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=oce.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=iJe(c),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===Xb)return;this.#r=Kb;let e={request:this.#i,dispatcher:this.#l},r=o(n=>{sce(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#o()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(sce(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));retu
Line truncated
|
||||||
|
%s`,Q,Q,C,n);var M=C.type==="*"?n3:C.type==="?"?r3:"\\"+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,ce=ee;for(m=0;m<ae;m++)ce=ce.replace(/\)[+*?]?/,"");ee=ce;var Y="";ee===""&&e!==zN&&(Y="$");var $=V+z+ee+Y+J;n=$}if(n!==""&&i&&(n="(?=.)"+n),v&&(n=h+n),e===zN)return[n,i];if(!i)return J7e(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(j7e,"parse");oo.makeRe=function(t,e){return new yn(t,e||{}).makeRe()};yn.prototype.makeRe=W7e;function W7e(){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?n3:e.dot?U7e:q7e,n=e.nocase?"i":"",i=t.map(function(s){return s.map(function(a){return a===sp?r:typeof a=="string"?Y7e(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(W7e,"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;E0.sep!=="/"&&(e=e.split(E0.sep).join("/")),e=e.split(gde),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 J7e(t){return t.replace(/\\(.)/g,"$1")}o(J7e,"globUnescape");function Y7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}o(Y7e,"regExpEscape")});var gg=A((B9t,Sde)=>{"use strict";var iXe="2.0.0",sXe=Number.MAX_SAFE_INTEGER||9007199254740991,oXe=16,aXe=250,cXe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Sde.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:oXe,MAX_SAFE_BUILD_LENGTH:aXe,MAX_SAFE_INTEGER:sXe,RELEASE_TYPES:cXe,SEMVER_SPEC_VERSION:iXe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var I0=A((x9t,Bde)=>{"use strict";var lXe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Bde.exports=lXe});var yg=A((Gc,xde)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:s3,MAX_SAFE_BUILD_LENGTH:uXe,MAX_LENGTH:dXe}=gg(),fXe=I0();Gc=xde.exports={};var hXe=Gc.re=[],pXe=Gc.safeRe=[],de=Gc.src=[],AXe=Gc.safeSrc=[],fe=Gc.t={},mXe=0,o3="[a-zA-Z0-9-]",gXe=[["\\s",1],["\\d",dXe],[o3,uXe]],yX
Line truncated
|
||||||
|
`).join(`
|
||||||
|
`+s),t.push(i+"m+"+P_.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=lrt()+e+" "+t[0]}o(crt,"formatArgs");function lrt(){return hi.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(lrt,"getDate");function urt(...t){return process.stderr.write(k_.format(...t)+`
|
||||||
|
`)}o(urt,"log");function drt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(drt,"save");function frt(){return process.env.DEBUG}o(frt,"load");function hrt(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(hrt,"init");P_.exports=J3()(hi);var{formatters:lpe}=P_.exports;lpe.o=function(t){return this.inspectOpts.colors=this.useColors,k_.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};lpe.O=function(t){return this.inspectOpts.colors=this.useColors,k_.inspect(t,this.inspectOpts)}});var O_=A((gXt,Z3)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Z3.exports=ipe():Z3.exports=upe()});var hpe=A(Ss=>{"use strict";var prt=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]})),Art=Ss&&Ss.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),dpe=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)&&prt(e,t,r);return Art(e,t),e};Object.defineProperty(Ss,"__esModule",{value:!0});Ss.req=Ss.json=Ss.toBuffer=void 0;var mrt=dpe(require("http")),grt=dpe(require("https"));async function fpe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(fpe,"toBuffer");Ss.toBuffer=fpe;async function yrt(t){let r=(await fpe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let i=n;throw i.message+=` (input: ${r})`,i}}o(yrt,"json");Ss.json=yrt;function Ert(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?grt:mrt).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(Ert,"req");Ss.req=Ert});var gpe=A(uo=>{"use strict";var Ape=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]})),Crt=uo&&uo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),mpe=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)&&Ape(e,t,r);return Crt(e,t),e},brt=uo&&uo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ape(e,t,r)};Object.defineProperty(uo,"__esModule",{value:!0});uo.Agent=void 0;var Irt=mpe(require("net")),ppe=mpe(require("http")),wrt=require("https");brt(hpe(),uo);var $c=Symbol("AgentBaseInternalState"),eG=class extends ppe.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 Irt.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)?wrt.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 ppe.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=eG});var ype=A(Ng=>{"use strict";var Srt=Ng&&Ng.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ng,"__esModule",{value:!0});Ng.parseProxyResponse=void 0;var Brt=Srt(O_()),L_=(0,Brt.default)("https-proxy-agent:parse-proxy-response");function xrt(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(),L_("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}o(c,"onend");function l(d){a(),L_("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){L_("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}L_("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(xrt,"parseProxyResponse");Ng.parseProxyResponse=xrt});var Spe=A(Ko=>{"use strict";var vrt=Ko&&Ko.__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]})),Nrt=Ko&&Ko.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ipe=Ko&&Ko.__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)&&vrt(e,t,r);return Nrt(e,t),e},wpe=Ko&&Ko.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ko,"__esModule",{value:!0});Ko.HttpsProxyAgent=void 0;var F_=Ipe(require("net")),Epe=Ipe(require("tls")),_rt=wpe(require("assert")),Trt=wpe(O_()),Rrt=gpe(),Drt=require("url"),Qrt=ype(),L0=(0,Trt.default)("https-proxy-agent"),Cpe=o(t=>t.servername===void 0&&t.host&&!F_.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),M_=class extends Rrt.Agent{static{o(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Drt.URL(e):e,this.proxyHeaders=r?.headers??{},L0("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?bpe(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:"?(L0("Creating `tls.Socket`: %o",this.connectOpts),i=Epe.connect(Cpe(this.connectOpts))):(L0("Creating `net.Socket`: %o",this.connectOpts),i=F_.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=F_.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,Qrt.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",krt),r.secureEndpoint?(L0("Upgrading socket connection to TLS"),Epe.connect({...bpe(Cpe(r),"host","path","port"),socket:i})):i;i.destroy();let f=new F_.Socket({writable:!1});return f.readable=!0,e.once("socket",h=>{L0("Replaying proxy buffer for failed request"),(0,_rt.default)(h.listenerCount("data")>0),h.push(d),h.push(null)}),f}};M_.protocols=["http","https"];Ko.HttpsProxyAgent=M_;function krt(t){t.resume()}o(krt,"resume");function bpe(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(bpe,"omit")});var vpe=A(Bs=>{"use strict";var Prt=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]})),Ort=Bs&&Bs.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Bpe=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)&&Prt(e,t,r);return Ort(e,t),e};Object.defineProperty(Bs,"__esModule",{value:!0});Bs.req=Bs.json=Bs.toBuffer=void 0;var Lrt=Bpe(require("http")),Frt=Bpe(require("https"));async function xpe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(xpe,"toBuffer");Bs.toBuffer=xpe;async function Mrt(t){let r=(await xpe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let i=n;throw i.message+=` (input: ${r})`,i}}o(Mrt,"json");Bs.json=Mrt;function Urt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Frt:Lrt).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");Bs.req=Urt});var Rpe=A(fo=>{"use strict";var _pe=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]})),qrt=fo&&fo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Tpe=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)&&_pe(e,t,r);return qrt(e,t),e},Grt=fo&&fo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_pe(e,t,r)};Object.defineProperty(fo,"__esModule",{value:!0});fo.Agent=void 0;var Hrt=Tpe(require("net")),Npe=Tpe(require("http")),Vrt=require("https");Grt(vpe(),fo);var jc=Symbol("AgentBaseInternalState"),tG=class extends Npe.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 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(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?Vrt.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 Npe.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=tG});var kpe=A(Xo=>{"use strict";var zrt=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]})),$rt=Xo&&Xo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Qpe=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)&&zrt(e,t,r);return $rt(e,t),e},jrt=Xo&&Xo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xo,"__esModule",{value:!0});Xo.HttpProxyAgent=void 0;var Wrt=Qpe(require("net")),Jrt=Qpe(require("tls")),Yrt=jrt(O_()),Krt=require("events"),Xrt=Rpe(),Dpe=require("url"),_g=(0,Yrt.default)("http-proxy-agent"),U_=class extends Xrt.Agent{static{o(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Dpe.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?Zrt(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 Dpe.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=Jrt.connect(this.connectOpts)):(_g("Creating `net.Socket`: %o",this.connectOpts),s=Wrt.connect(this.connectOpts)),await(0,Krt.once)(s,"connect"),s}};U_.protocols=["http","https"];Xo.HttpProxyAgent=U_;function Zrt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(Zrt,"omit")});var rAe=A(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});eT.state=void 0;eT.state={instrumenterImplementation:void 0}});var EAe=A(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});sT.state=void 0;sT.state={operationRequestMap:new WeakMap}});var Kge=A(jg=>{"use strict";Object.defineProperty(jg,"__esModule",{value:!0});var Ect=require("os"),Cct=require("util");function bct(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}o(bct,"_interopDefaultLegacy");var Ict=bct(Cct);function wct(t,...e){process.stderr.write(`${Ict.default.format(t,...e)}${Ect.EOL}`)}o(wct,"log");var qge=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,Hge,Q5=[],k5=[],SR=[];qge&&P5(qge);var Vge=Object.assign(t=>zge(t),{enable:P5,enabled:O5,disable:Sct,log:wct});function P5(t){Hge=t,Q5=[],k5=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?k5.push(new RegExp(`^${n.substr(1)}$`)):Q5.push(new RegExp(`^${n}$`));for(let n of SR)n.enabled=O5(n.namespace)}o(P5,"enable");function O5(t){if(t.endsWith("*"))return!0;for(let e of k5)if(e.test(t))return!1;for(let e of Q5)if(e.test(t))return!0;return!1}o(O5,"enabled");function Sct(){let t=Hge||"";return P5(""),t}o(Sct,"disable");function zge(t){let e=Object.assign(r,{enabled:O5(t),destroy:Bct,log:Vge.log,namespace:t,extend:xct});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return o(r,"debug"),SR.push(e),e}o(zge,"createDebugger");function Bct(){let t=SR.indexOf(this);return t>=0?(SR.splice(t,1),!0):!1}o(Bct,"destroy");function xct(t){let e=zge(`${this.namespace}:${t}`);return e.log=this.log,e}o(xct,"extend");var SI=Vge,$ge=new Set,IR=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,BR,xR=SI("azure");xR.log=(...t)=>{SI.log(...t)};var L5=["verbose","info","warning","error"];IR&&(Yge(IR)?jge(IR):console.error(`AZURE_LOG_LEVEL set to unknown log level '${IR}'; logging is not enabled. Acceptable values: ${L5.join(", ")}.`));function jge(t){if(t&&!Yge(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${L5.join(",")}`);BR=t;let e=[];for(let r of $ge)Jge(r)&&e.push(r.namespace);SI.enable(e.join(","))}o(jge,"setLogLevel");function vct(){return BR}o(vct,"getLogLevel");var Gge={verbose:400,info:300,warning:200,error:100};function Nct(t){let e=xR.extend(t);return Wge(xR,e),{error:wR(e,"error"),warning:wR(e,"warning"),info:wR(e,"info"),verbose:wR(e,"verbose")}}o(Nct,"createClientLogger");function Wge(t,e){e.log=(...r)=>{t.log(...r)}}o(Wge,"patchLogMethod");function wR(t,e){let r=Object.assign(t.extend(e),{level:e});if(Wge(t,r),Jge(r)){let n=SI.disable();SI.enable(n+","+r.namespace)}return $ge.add(r),r}o(wR,"createLogger");function Jge(t){return!!(BR&&Gge[t.level]<=Gge[BR])}o(Jge,"shouldEnable");function Yge(t){return L5.includes(t)}o(Yge,"isAzureLogLevel");jg.AzureLogger=xR;jg.createClientLogger=Nct;jg.getLogLevel=vct;jg.setLogLevel=jge});var U5=A(xI=>{"use strict";Object.defineProperty(xI,"__esModule",{value:!0});var Wg=new WeakMap,vR=new WeakMap,BI=class t{static{o(this,"AbortSignal")}constructor(){this.onabort=null,Wg.set(this,[]),vR.set(this,!1)}get aborted(){if(!vR.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return vR.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 Xge(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"})}),vR.set(t,!0)}o(Xge,"abortSignal");var F5=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},M5=class{static{o(this,"AbortController")}constructor(e){if(this._signal=new BI,!!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(){Xge(this._signal)}static timeout(e){let r=new BI,n=setTimeout(Xge,e,r);return typeof n.unref=="function"&&n.unref(),r}};xI.AbortController=M5;xI.AbortError=F5;xI.AbortSignal=BI});var nye=A(Ur=>{"use strict";Object.defineP
Line truncated
|
||||||
|
Polling from: ${r.config.operationLocation}
|
||||||
|
Operation status: ${d}
|
||||||
|
Polling status: ${aye.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let f=a(u,r);if(f!==void 0)return{response:await e(f).catch(sye({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}o(ilt,"pollOperationHelper");async function dye(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 ilt({poll:e,getOperationStatus:s,state:r,stateProxy:n,operationLocation:y,getResourceLocation:a,isOperationError:l,options:i});if(lye({status:I,response:C,state:r,stateProxy:n,isDone:m,processResult:f,getError:h,setErrorAsResult:E}),!aye.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(dye,"pollOperation");function fye(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}o(fye,"getOperationLocationPollingUrl");function hye(t){return t.headers.location}o(hye,"getLocationHeader");function pye(t){return t.headers["operation-location"]}o(pye,"getOperationLocationHeader");function Aye(t){return t.headers["azure-asyncoperation"]}o(Aye,"getAzureAsyncOperationHeader");function slt(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(slt,"findResourceLocation");function mye(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:i}=t,s=pye(e),a=Aye(e),c=fye({operationLocation:s,azureAsyncOperation:a}),l=hye(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:slt({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(mye,"inferLroMode");function gye(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 K5(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(gye,"transformStatus");function olt(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return gye({status:r,statusCode:t.statusCode})}o(olt,"getStatus");function alt(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 gye({status:s,statusCode:t.statusCode})}o(alt,"getProvisioningState");function K5(t){return t===202?"running":t<300?"succeeded":"failed"}o(K5,"toOperationStatus");function yye({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?clt(new Date(e)):r*1e3}}o(yye,"parseRetryAfter");function Eye(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(Eye,"getErrorFromResponse");function clt(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}o(clt,"calculatePollingIntervalFromDate");function Cye(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 K5(e.rawResponse.statusCode);case"Body":return X5(e,r);default:return"running"}}o(i,"helper");let s=i();return s==="running"&&n===void 0?"succeeded":s}o(Cye,"getStatusFromInitialResponse");async function llt(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:i,setErrorAsResult:s}=t;return uye({init:o(async()=>{let a=await i.sendInitialRequest(),c=mye({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:Cye,setErrorAsResult:s})}o(llt,"initHttpOperation");function bye({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($lt,"base64decode");ey.base64decode=$lt;function jlt(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(jlt,"base64encode");ey.base64encode=jlt});var eEe=A($R=>{"use strict";Object.defineProperty($R,"__esModule",{value:!0});$R.utf8read=void 0;var lz=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function Wlt(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(lz(n)),i=0);return r.length?(i&&r.push(lz(n.slice(0,i))),r.join("")):lz(n.slice(0,i))}o(Wlt,"utf8read");$R.utf8read=Wlt});var kI=A(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});El.WireType=El.mergeBinaryOptions=El.UnknownFieldHandler=void 0;var Jlt;(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")})(Jlt=El.UnknownFieldHandler||(El.UnknownFieldHandler={}));function Ylt(t,e){return Object.assign(Object.assign({},t),e)}o(Ylt,"mergeBinaryOptions");El.mergeBinaryOptions=Ylt;var Klt;(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"})(Klt=El.WireType||(El.WireType={}))});var WR=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 Xlt(){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(Xlt,"varint64read");Ds.varint64read=Xlt;function Zlt(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(Zlt,"varint64write");Ds.varint64write=Zlt;var jR=65536*65536;function eut(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>=jR&&(i=i+(n/jR|0),n=n%jR)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(eut,"int64fromString");Ds.int64fromString=eut;function tut(t,e){if(e>>>0<=2097151)return""+(jR*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(tut,"int64toString");Ds.int64toString=tut;function rut(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(rut,"varint32write");Ds.varint32write=rut;function nut(){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(nut,"varint32read");Ds.varint32read=nut});var If=A(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.PbLong=bf.PbULong=bf.detectBi=void 0;var PI=WR(),Wt;function tEe(){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
|
||||||
|
`)}};b2.RpcError=Oz});var Fz=A(w2=>{"use strict";Object.defineProperty(w2,"__esModule",{value:!0});w2.mergeRpcOptions=void 0;var QEe=nn();function Bdt(t,e){if(!e)return t;let r={};I2(t,r),I2(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=QEe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=QEe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},I2(t.meta,r.meta),I2(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(Bdt,"mergeRpcOptions");w2.mergeRpcOptions=Bdt;function I2(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(I2,"copy")});var Uz=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 Mz=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=Mz});var Gz=A(S2=>{"use strict";Object.defineProperty(S2,"__esModule",{value:!0});S2.RpcOutputStreamController=void 0;var kEe=Uz(),Fp=nn(),qz=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 kEe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Fp.assert(n.state==kEe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};S2.RpcOutputStreamController=qz});var Vz=A(ay=>{"use strict";var xdt=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 Hz=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 xdt(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=Hz});var $z=A(cy=>{"use strict";var vdt=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(Dmt,"logUnexpecedPropertyAccessOnce");function Qmt(){Object.keys(oD).forEach(function(t){delete oD[t]})}o(Qmt,"resetLoggedProperties")});var cD=A(xl=>{"use strict";xl.__esModule=!0;xl.HandlebarsEnvironment=fj;function $0e(t){return t&&t.__esModule?t:{default:t}}o($0e,"_interopRequireDefault");var zp=rs(),kmt=Io(),uj=$0e(kmt),Pmt=oj(),Omt=G0e(),Lmt=cj(),aD=$0e(Lmt),Fmt=lj(),Mmt="4.7.9";xl.VERSION=Mmt;var Umt=8;xl.COMPILER_REVISION=Umt;var qmt=7;xl.LAST_COMPATIBLE_COMPILER_REVISION=qmt;var Gmt={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=Gmt;var dj="[object Object]";function fj(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},Pmt.registerDefaultHelpers(this),Omt.registerDefaultDecorators(this)}o(fj,"HandlebarsEnvironment");fj.prototype={constructor:fj,logger:aD.default,log:aD.default.log,registerHelper:o(function(e,r){if(zp.toString.call(e)===dj){if(r)throw new uj.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)===dj)zp.extend(this.partials,e);else{if(typeof r>"u")throw new uj.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)===dj){if(r)throw new uj.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(){Fmt.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var Hmt=aD.default.log;xl.log=Hmt;xl.createFrame=zp.createFrame;xl.logger=aD.default});var W0e=A((lD,j0e)=>{"use strict";lD.__esModule=!0;function hj(t){this.string=t}o(hj,"SafeString");hj.prototype.toString=hj.prototype.toHTML=function(){return""+this.string};lD.default=hj;j0e.exports=lD.default});var J0e=A(pj=>{"use strict";pj.__esModule=!0;pj.wrapHelper=Vmt;function Vmt(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(Vmt,"wrapHelper")});var tIe=A(xf=>{"use strict";xf.__esModule=!0;xf.checkRevision=Ymt;xf.template=Kmt;xf.wrapProgram=uD;xf.resolvePartial=Xmt;xf.invokePartial=Zmt;xf.noop=Z0e;function zmt(t){return t&&t.__esModule?t:{default:t}}o(zmt,"_interopRequireDefault");function $mt(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($mt,"_interopRequireWildcard");var jmt=rs(),Cy=$mt(jmt),Wmt=Io(),Yu=zmt(Wmt),Ku=cD(),Y0e=oj(),Jmt=J0e(),K0e=lj();function Ymt(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(Ymt,"checkRevision");function Kmt(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)||K0e.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=uD(this,c,p,l,u,d,f):h||(h=this.programs[c]=uD(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=egt(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=eIe(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={};X0e(c,e.helpers,i),X0e(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=K0e.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;Y0e.moveHelperToHooks(i,"helperMissing",l),Y0e.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 uD(i,a,t[a],c,0,l,u)},s}o(Kmt,"template");function uD(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=eIe(r,c,t,a,n,s),c.program=e,c.depth=a?a.length:0,c.blockParams=i||0,c}o(uD,"wrapProgram");function Xmt(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=dD(r.partials,t)):r.name==="@partial-block"?t=dD(r.data,"partial-block"):t=dD(r.partials,r.name),t}o(Xmt,"resolvePartial");function Zmt(t,e,r){var n=dD(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!==Z0e&&(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(Zmt,"invokePartial");function Z0e(){return""}o(Z0e,"noop");function dD(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}o(dD,"lookupOwnProperty");function egt(t,e){return(!e||!("root"in e))&&(e=e?Ku.createFrame(e):{},e.root=t),e}o(egt,"initData");function eIe(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(eIe,"executeDecorators");function X0e(t,e,r){e&&Object.keys(e).forEach(function(n){var i=e[n];t[n]=tgt(i,r)})}o(X0e,"addHelpers");function tgt(t,e){var r=e.lookupProperty;return Jmt.wrapHelper(t,function(n){return n.lookupProperty=r,n})}o(tgt,"passLookupPropertyOption")});var Aj=A((fD,rIe)=>{"use strict";fD.__esModule=!0;fD.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}};rIe.exports=fD.default});var aIe=A((hD,oIe)=>{"use strict";hD.__esModule=!0;function gj(t){return t&&t.__esModule?t:{default:t}}o(gj,"_interopRequireDefault");function yj(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(yj,"_interopRequireWildcard");var rgt=cD(),nIe=yj(rgt),ngt=W0e(),igt=gj(ngt),sgt=Io(),ogt=gj(sgt),agt=rs(),mj=yj(agt),cgt=tIe
Line truncated
|
||||||
|
`+this.lexer.showPosition()+`
|
||||||
|
Expecting `+ae.join(", ")+", got '"+(this.terminals_[B]||B)+"'":ce="Parse error on line "+(f+1)+": Unexpected "+(B==1?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(ce,{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})();AD.default=dgt;uIe.exports=AD.default});var ED=A((yD,pIe)=>{"use strict";yD.__esModule=!0;function fgt(t){return t&&t.__esModule?t:{default:t}}o(fgt,"_interopRequireDefault");var hgt=Io(),Cj=fgt(hgt);function mD(){this.parents=[]}o(mD,"Visitor");mD.prototype={constructor:mD,mutating:!1,acceptKey:o(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!mD.prototype[n.type])throw new Cj.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 Cj.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 Cj.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:gD,Decorator:gD,BlockStatement:fIe,DecoratorBlock:fIe,PartialStatement:hIe,PartialBlockStatement:o(function(e){hIe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:o(function(){},"ContentStatement"),CommentStatement:o(function(){},"CommentStatement"),SubExpression:gD,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=Gj(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=Gj(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(Gj(e[n],this));return r},"generateList"),generateArray:o(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};vD.default=JIe;YIe.exports=vD.default});var rwe=A((ND,twe)=>{"use strict";ND.__esModule=!0;function ewe(t){return t&&t.__esModule?t:{default:t}}o(ewe,"_interopRequireDefault");var XIe=cD(),uyt=Io(),Vj=ewe(uyt),dyt=rs(),fyt=KIe(),ZIe=ewe(fyt);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=XIe.COMPILER_REVISION,r=XIe.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:o(function(e,r,n){return dyt.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 Vj.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 ZIe.default(this.options.srcName),this.decorators=new ZIe.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(hyt(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 jj=A((eIr,lwe)=>{var RD=swe().default,cwe=owe();RD.PrintVisitor=cwe.PrintVisitor;RD.print=cwe.print;lwe.exports=RD;function awe(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=RD.compile(n)}o(awe,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=awe,require.extensions[".hbs"]=awe)});var Iwe=A(OD=>{"use strict";Object.defineProperty(OD,"__esModule",{value:!0});OD.getProxyUrl=Dyt;OD.checkBypass=bwe;function Dyt(t){let e=t.protocol==="https:";if(bwe(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 PD(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new PD(`http://${r}`)}else return}o(Dyt,"getProxyUrl");function bwe(t){if(!t.hostname)return!1;let e=t.hostname;if(Qyt(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(bwe,"checkBypass");function Qyt(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(Qyt,"isLoopbackAddress");var PD=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 Swe=A(Ir=>{"use strict";var kyt=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]})),Pyt=Ir&&Ir.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),UD=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"&&kyt(r,e,n[i]);return Pyt(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(aCt,"base64decode");Ly.base64decode=aCt;function cCt(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(cCt,"base64encode");Ly.base64encode=cCt});var DSe=A(rQ=>{"use strict";Object.defineProperty(rQ,"__esModule",{value:!0});rQ.utf8read=void 0;var v8=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function lCt(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(v8(n)),i=0);return r.length?(i&&r.push(v8(n.slice(0,i))),r.join("")):v8(n.slice(0,i))}o(lCt,"utf8read");rQ.utf8read=lCt});var Rw=A(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});Nl.WireType=Nl.mergeBinaryOptions=Nl.UnknownFieldHandler=void 0;var uCt;(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")})(uCt=Nl.UnknownFieldHandler||(Nl.UnknownFieldHandler={}));function dCt(t,e){return Object.assign(Object.assign({},t),e)}o(dCt,"mergeBinaryOptions");Nl.mergeBinaryOptions=dCt;var fCt;(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"})(fCt=Nl.WireType||(Nl.WireType={}))});var iQ=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 hCt(){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(hCt,"varint64read");Ls.varint64read=hCt;function pCt(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(pCt,"varint64write");Ls.varint64write=pCt;var nQ=65536*65536;function ACt(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>=nQ&&(i=i+(n/nQ|0),n=n%nQ)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(ACt,"int64fromString");Ls.int64fromString=ACt;function mCt(t,e){if(e>>>0<=2097151)return""+(nQ*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(mCt,"int64toString");Ls.int64toString=mCt;function gCt(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(gCt,"varint32write");Ls.varint32write=gCt;function yCt(){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(yCt,"varint32read");Ls.varint32read=yCt});var Rf=A(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.PbLong=Tf.PbULong=Tf.detectBi=void 0;var Dw=iQ(),Jt;function QSe(){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
|
||||||
|
`)}};RQ.RpcError=h6});var A6=A(QQ=>{"use strict";Object.defineProperty(QQ,"__esModule",{value:!0});QQ.mergeRpcOptions=void 0;var pBe=cr();function Ubt(t,e){if(!e)return t;let r={};DQ(t,r),DQ(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=pBe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=pBe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},DQ(t.meta,r.meta),DQ(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(Ubt,"mergeRpcOptions");QQ.mergeRpcOptions=Ubt;function DQ(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(DQ,"copy")});var g6=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 m6=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=m6});var E6=A(kQ=>{"use strict";Object.defineProperty(kQ,"__esModule",{value:!0});kQ.RpcOutputStreamController=void 0;var ABe=g6(),nA=cr(),y6=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 ABe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r)if(r.p){let n=r.p;nA.assert(n.state==ABe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};kQ.RpcOutputStreamController=y6});var b6=A($y=>{"use strict";var qbt=$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 C6=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 qbt(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=C6});var w6=A(jy=>{"use strict";var Gbt=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 KBe(this.pattern,this.options)}parse(e,r){UQ(e);let n=this.options;if(e==="**")if(n.noglobstar)e="*";else return hc;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+=iW,s=!0;break;case"?":i+=aW,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;WBe[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:jBe[u].open,close:jBe[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("["+R0t(_0t(p))+"]"),i+=G}catch{i=i.substring(0,f)+"(?:$.)"}s=!0,d=!1;continue;default:B(),WBe[G]&&!(G==="^"&&d)&&(i+="\\"),i+=G;break}}for(d&&(p=e.slice(h+1),m=this.parse(p,sW),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==="*"?iW:g.type==="?"?aW:"\\"+g.type;s=!0,i=i.slice(0,g.reStart)+G+"\\("+v}B(),a&&(i+="\\\\");let Q=x0t[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,ce=z;for(let $=0;$<ae;$++)ce=ce.replace(/\)[+*?]?/,"");z=ce;let Y=z===""&&r!==sW?"(?:$|\\/)":"";i=D+V+z+Y+J}if(i!==""&&s&&(i="(?=.)"+i),Q&&(i=C()+i),r===sW)return[i,s];if(n.nocase&&!s&&(s=e.toUpperCase()!==e.toLowerCase()),!s)return N0t(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?iW:r.dot?S0t:B0t,i=r.nocase?"i":"",s=e.map(a=>(a=a.map(c=>typeof c=="string"?T0t(c):c===hc?hc:c._src).reduce((c,l)=>(c[c.length-1]===hc&&l===hc||c.push(l),c),[]),a.forEach((c,l)=>{c!==hc||a[l-1]===hc||(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]=hc))}),a.filter(c=>c!==hc).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;oW.sep!=="/"&&(e=e.split(oW.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 nxe=A((lNr,rxe)=>{rxe.exports=txe;var uW=require("fs"),{EventEmitter:D0t}=require("events"),{Minimatch:lW}=XBe(),{resolve:Q0t}=require("path");function k0t(t,e){return new Promise((r,n)=>{uW.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(k0t,"readdir");function ZBe(t,e){return new Promise((r,n)=>{(e?uW.stat:uW.lstat)(t,(s,a)=>{s?s.code==="ENOENT"?r(e?ZBe(t,!1):null):r(null):r(a)})})}o(ZBe,"stat");async function*exe(t,e,r,n,i,s){let a=await k0t(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 ZBe(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*exe(u,e,r,n,i,!1)):yield{relative:d,absolute:f,stats:h}}}o(exe,"exploreWalkAsync");async function*P0t(t,e,r,n){yield*exe("",t,e,r,n,!0)}o(P0t,"explore");function O0t(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(O0t,"readOptions");var qQ=class extends D0t{static{o(this,"ReaddirGlob")}constructor(e,r,n){if(super(),typeof r=="function"&&(n=r,r=null),this.options=O0t(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 lW(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 lW(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 lW(s,{dot:!0}))}this.iterator=P0t(Q0t(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 YB(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(YB,"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=YB(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 KB{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 KB,_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 XB(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(XB,"reduce");var La=y(XB,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=Oa(),La(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]||(hxe=global[yi]||[],Axe(_r,hxe),_r.close=(function(t){function e(r,n){return t.call(_r,r,function(i){i||pxe(),typeof n=="function"&&n.apply(this,arguments)})}return o(e,"close"),Object.defineProperty(e,$Q,{value:t}),e})(_r.close),_r.closeSync=(function(t){function e(r){t.apply(_r,arguments),pxe()}return o(e,"closeSync"),Object.defineProperty(e,$Q,{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 hxe;global[yi]||Axe(global,_r[yi]);pW.exports=fW(z0t(_r));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!_r.__patched&&(pW.exports=fW(_r),_r.__patched=!0);function fW(t){H0t(t),t.gracefulify=fW,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,ce,Y){return e(ee,ae,function($){$&&($.code==="EMFILE"||$.code==="ENFILE")?nE([J,[ee,ae,ce],$,Y||Date.now(),Date.now()]):typeof ce=="function"&&ce.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,ce,Y,$,we){return n(ae,ce,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,ce,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,ce,Y,$,we){return s(ae,ce,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,ce,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,ce,Y,$,we){return c(ae,ce,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,ce,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(ce,Y,$,we){return u(ce,ee(ce,Y,$,we))},"go$readdir"):o(function(ce,Y,$,we){return u(ce,Y,ee(ce,Y,$,we))},"go$readdir");return J(D,V,z);function ee(ae,ce,Y,$){return function(we,Be){we&&(we.code==="EMFILE"||we.code==="ENFILE")?nE([J,[ae,ce,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=V0t(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,ce,Y,$,we){return v(ae,ce,Y,function(Be,st){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?nE([ee,[ae,ce,Y,$],Be,we||Date.now(),Date.now()]):typeof $=="function"&&$.apply(this,arguments)})}o(ee,"go$open")}return o(G,"open"),t}o(fW,"patch");function nE(t){sA("ENQUEUE",t[0].name,t[1]),_r[yi].push(t),hW()}o(nE,"enqueue");var zQ;function pxe(){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);hW()}o(pxe,"resetQueue");function hW(){if(clearTimeout(zQ),zQ=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}};eJ.exports={AggregateError:ZW,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 Nxt},isArrayBufferView(t){return ArrayBuffer.isView(t)}},isBlob:_xt,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);c_e(e,"signal"),Txt(r,"listener");let n;return e.aborted?queueMicrotask(()=>r()):(e.addEventListener("abort",r,{__proto__:null,once:!0,[Sxt]:!0}),n=o(()=>{e.removeEventListener("abort",r)},"removeEventListener")),{__proto__:null,[Bxt](){var i;(i=n)===null||i===void 0||i()}}},"addAbortListener"),AbortSignalAny:xxt.any||o(function(e){if(e.length===1)return e[0];let r=new vxt,n=o(()=>r.abort(),"abort");return e.forEach(i=>{c_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")};eJ.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")});var as=A((xTr,d_e)=>{"use strict";var{format:Rxt,inspect:A1,AggregateError:Dxt}=Di(),Qxt=globalThis.AggregateError||Dxt,kxt=Symbol("kIsNodeError"),Pxt=["string","function","number","object","Function","Object","boolean","bigint","symbol"],Oxt=/^([A-Z][a-z0-9]*)+$/,Lxt="__node_internal_",m1={};function cA(t,e){if(!t)throw new m1.ERR_INTERNAL_ASSERTION(e)}o(cA,"assert");function l_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(l_e,"addNumericalSeparator");function Fxt(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:Rxt(e,...r)}o(Fxt,"getMessage");function Ci(t,e,r){r||(r=Error);class n extends r{static{o(this,"NodeError")}constructor(...s){super(Fxt(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[kxt]=!0,m1[t]=n}o(Ci,"E");function u_e(t){let e=Lxt+t.name;return Object.defineProperty(t,"name",{value:e}),t}o(u_e,"hideStackFrames");function Mxt(t,e){if(t&&e&&t!==e){if(Array.isArray(e.errors))return e.errors.push(t),e;let r=new Qxt([e,t],e.message);return r.code=e.code,r}return t||e}o(Mxt,"aggregateTwoErrors");var tJ=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 m1.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"),Pxt.includes(l)?i.push(l.toLowerCase()):Oxt.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+=RY(" linkpath="+e.linkname+`
|
||||||
|
`));let n=e.pax;if(n)for(let i in n)r+=RY(" "+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&tOt,6),100),Tt.write(r,Kf(e.uid,6),108),Tt.write(r,Kf(e.gid,6),116),cOt(e.size,r,124),Tt.write(r,Kf(e.mtime.getTime()/1e3|0,11),136),r[156]=$k+oOt(e.type),e.linkname&&Tt.write(r,e.linkname,157),Tt.copy(uke,r,aB),Tt.copy(XPt,r,DY),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(fke(r),6),148),r)},"encode");$E.decode=o(function(e,r,n){let i=e[156]===0?0:e[156]-$k,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=sOt(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=fke(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(rOt(e))e[345]&&(s=zE(e,345,155,r)+"/"+s);else if(!nOt(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 rOt(t){return Tt.equals(uke,t.subarray(aB,aB+6))}o(rOt,"isUSTAR");function nOt(t){return Tt.equals(ZPt,t.subarray(aB,aB+6))&&Tt.equals(eOt,t.subarray(DY,DY+2))}o(nOt,"isGNU");function iOt(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)}o(iOt,"clamp");function sOt(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(sOt,"toType");function oOt(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(oOt,"toTypeflag");function dke(t,e,r,n){for(;r<n;r++)if(t[r]===e)return r;return n}o(dke,"indexOf");function fke(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(fke,"cksum");function Kf(t,e){return t=t.toString(8),t.length>e?KPt.slice(0,e)+" ":YPt.slice(0,e-t.length)+t+" "}o(Kf,"encodeOct");function aOt(t,e,r){e[r]=128;for(let n=11;n>0;n--)e[r+n]=t&255,t=Math.floor(t/256)}o(aOt,"encodeSizeBin");function cOt(t,e,r){t.toString(8).length>11?aOt(t,e,r):Tt.write(e,Kf(t,11),r)}o(cOt,"encodeSize");function lOt(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(lOt,"parse256");function Yf(t,e,r){if(t=t.subarray(e,e+r),e=0,t[e]&128)return lOt(t);{for(;e<t.length&&t[e]===32;)e++;let n=iOt(dke(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,dke(t,0,e,e+r)),n)}o(zE,"decodeStr");function RY(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(RY,"addLength")});var gke=A((QQr,mke)=>{var{Writable:uOt,Readable:dOt,getStreamError:hke}=TY(),fOt=pY(),pke=zk(),jE=QY(),hOt=pke.alloc(0),PY=class{static{o(this,"BufferList")}constructor(){this.buffered=0,this.shifted=0,this.queue=new fOt,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 hOt;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 pke.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)}},OY=class extends dOt{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+"+sO.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=vGt()+e+" "+t[0]}o(xGt,"formatArgs");function vGt(){return si.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(vGt,"getDate");function NGt(...t){return process.stderr.write(iO.formatWithOptions(si.inspectOpts,...t)+`
|
||||||
|
`)}o(NGt,"log");function _Gt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(_Gt,"save");function TGt(){return process.env.DEBUG}o(TGt,"load");function RGt(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(RGt,"init");sO.exports=b7()(si);var{formatters:CFe}=sO.exports;CFe.o=function(t){return this.inspectOpts.colors=this.useColors,iO.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};CFe.O=function(t){return this.inspectOpts.colors=this.useColors,iO.inspect(t,this.inspectOpts)}});var w7=A((lFr,I7)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?I7.exports=EFe():I7.exports=bFe()});var aO=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 S7=class extends Error{static{o(this,"ValueError")}};Wr.ValueError=S7;var B7=class extends Error{static{o(this,"RuntimeError")}};Wr.RuntimeError=B7;var x7=class extends Error{static{o(this,"PersistError")}};Wr.PersistError=x7;var RB=class extends Error{static{o(this,"RepositoryError")}};Wr.RepositoryError=RB;var oO=class extends RB{static{o(this,"BadVersionError")}};Wr.BadVersionError=oO;var v7=class extends oO{static{o(this,"EqualVersionError")}};Wr.EqualVersionError=v7;var N7=class extends RB{static{o(this,"ExpiredMetadataError")}};Wr.ExpiredMetadataError=N7;var DB=class extends Error{static{o(this,"DownloadError")}};Wr.DownloadError=DB;var _7=class extends DB{static{o(this,"DownloadLengthMismatchError")}};Wr.DownloadLengthMismatchError=_7;var T7=class extends DB{static{o(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};Wr.DownloadHTTPError=T7});var wFe=A(EC=>{"use strict";var D7=EC&&EC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EC,"__esModule",{value:!0});EC.withTempFile=void 0;var R7=D7(require("fs/promises")),DGt=D7(require("os")),IFe=D7(require("path")),QGt=o(async t=>kGt(async e=>t(IFe.default.join(e,"tempfile"))),"withTempFile");EC.withTempFile=QGt;var kGt=o(async t=>{let e=await R7.default.realpath(DGt.default.tmpdir()),r=await R7.default.mkdtemp(e+IFe.default.sep);try{return await t(r)}finally{await R7.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var BFe=A((pFr,SFe)=>{var Q7=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)}};SFe.exports={RetryOperation:Q7}});var NFe=A((mFr,vFe)=>{var{RetryOperation:PGt}=BFe(),xFe=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"),OGt=o(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),LGt=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(xFe(s,i));r.sort((s,a)=>s-a)}else e.forever&&r.push(xFe(0,i))}let n=new PGt(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(!OGt(c))return s(c);if(!n.retry(c.retried||new Error))return s(c.retried)}})})},"promiseRetry");vFe.exports={promiseRetry:LGt}});var O7=A(fh=>{"use strict";var P7=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 FGt=P7(w7()),_Fe=P7(require("fs")),MGt=P7(require("util")),TFe=aO(),UGt=wFe(),qGt=NFe(),GGt=(0,FGt.default)("tuf:fetch"),HGt="User-Agent",cO=class{static{o(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,UGt.withTempFile)(async i=>{let s=await this.fetch(e),a=0,c=_Fe.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 TFe.DownloadLengthMismatchError("Max length reached");await VGt(c,Buffer.from(d))}}finally{l.releaseLock(),await MGt.default.promisify(c.close).bind(c)()}return n(i)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let i=_Fe.defau
Line truncated
|
||||||
|
`).forEach(r=>{r.match(JHt)||r.match(YHt)||(e+=r)}),Buffer.from(e,"base64")}o(KHt,"toDER");function XHt(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
|
||||||
|
`).concat(`
|
||||||
|
`)}o(XHt,"fromDER")});var SO=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 oX=A(BO=>{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});BO.RFC3161TimestampVerificationError=void 0;var sX=class extends Error{static{o(this,"RFC3161TimestampVerificationError")}};BO.RFC3161TimestampVerificationError=sX});var oMe=A(nu=>{"use strict";var ZHt=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]})),e4t=nu&&nu.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),t4t=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"&&ZHt(r,e,n[i]);return e4t(r,e),r}})();Object.defineProperty(nu,"__esModule",{value:!0});nu.TSTInfo=void 0;var sMe=t4t(BC()),r4t=SO(),n4t=oX(),aX=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 r4t.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=sMe.digest(this.messageImprintHashAlgorithm,e);if(!sMe.bufferEqual(r,this.messageImprintHashedMessage))throw new n4t.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};nu.TSTInfo=aX});var cMe=A(iu=>{"use strict";var i4t=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]})),s4t=iu&&iu.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),o4t=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"&&i4t(r,e,n[i]);return s4t(r,e),r}})();Object.defineProperty(iu,"__esModule",{value:!0});iu.RFC3161Timestamp=void 0;var a4t=bO(),cX=o4t(BC()),aMe=SO(),FB=oX(),c4t=oMe(),l4t="1.2.840.113549.1.7.2",u4t="1.2.840.113549.1.9.16.1.4",d4t="1.2.840.113549.1.9.4",lX=class t{static{o(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=a4t.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 aMe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return aMe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new c4t.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new FB.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==l4t)throw new FB.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==u4t)throw new FB.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=cX.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu
Line truncated
|
||||||
|
|
||||||
|
`,RVt=/\u2014 (\S+) (\S+)\n/g;function DVt(t,e){let r=t.inclusionProof,n=MX.fromString(r.checkpoint.envelope),i=zO.fromString(n.note);if(!QVt(n,e))throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return i}o(DVt,"verifyCheckpoint");function QVt(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let i=e.find(s=>GMe.crypto.bufferEqual(s.logID.subarray(0,4),n.keyHint)&&s.baseURL.includes(n.name));return i?GMe.crypto.verify(r,i.publicKey,n.signature):!1})}o(QVt,"verifySignedNote");var MX=class t{static{o(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(FX))throw new DC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(FX),n=e.slice(0,r+1),s=e.slice(r+FX.length).matchAll(RVt),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)}},zO=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)}};HB.LogCheckpoint=zO});var VMe=A(GX=>{"use strict";Object.defineProperty(GX,"__esModule",{value:!0});GX.verifyMerkleInclusion=OVt;var qX=Ic(),$O=Ui(),kVt=Buffer.from([0]),PVt=Buffer.from([1]);function OVt(t,e){let r=t.inclusionProof,n;try{n=BigInt(r.logIndex)}catch{throw new $O.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid inclusion proof log index"})}let i=BigInt(e.logSize);if(n<0n||n>=i)throw new $O.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:s,border:a}=LVt(n,i);if(r.hashes.length!==s+a)throw new $O.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,s),l=r.hashes.slice(s),u=HVt(t.canonicalizedBody),d=MVt(FVt(u,c,n),l);if(!qX.crypto.bufferEqual(d,e.logHash))throw new $O.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}o(OVt,"verifyMerkleInclusion");function LVt(t,e){let r=UVt(t,e),n=qVt(t>>BigInt(r));return{inner:r,border:n}}o(LVt,"decompInclProof");function FVt(t,e,r){return e.reduce((n,i,s)=>r>>BigInt(s)&BigInt(1)?UX(i,n):UX(n,i),t)}o(FVt,"chainInner");function MVt(t,e){return e.reduce((r,n)=>UX(n,r),t)}o(MVt,"chainBorderRight");function UVt(t,e){return GVt(t^e-BigInt(1))}o(UVt,"innerProofSize");function qVt(t){return t.toString(2).split("1").length-1}o(qVt,"onesCount");function GVt(t){return t===0n?0:t.toString(2).length}o(GVt,"bitLength");function UX(t,e){return qX.crypto.digest("sha256",PVt,t,e)}o(UX,"hashChildren");function HVt(t){return qX.crypto.digest("sha256",kVt,t)}o(HVt,"hashLeaf")});var $Me=A(HX=>{"use strict";Object.defineProperty(HX,"__esModule",{value:!0});HX.verifyTLogSET=$Vt;var zMe=Ic(),VVt=Ui(),zVt=NC();function $Vt(t,e){if(!(0,zVt.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(i=>{let s=jVt(t),a=Buffer.from(zMe.json.canonicalize(s),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return zMe.crypto.verify(a,i.publicKey,c)}))throw new VVt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}o($Vt,"verifyTLogSET");function jVt(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(jVt,"toVerificationPayload")});var WMe=A(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});WO.verifyTLogBody=XVt;WO.verifyTLogInclusion=ZVt;var jMe=FMe(),jO=Ui(),VX=MMe(),zX=UMe(),WVt=qMe(),JVt=HMe(),YVt=VMe(),KVt=$Me();function XVt(t,e){let{kind:r,version:n}=t.kindVersion,i;try{i=JSON.parse(t.canonicalizedBody.toString("utf8"))}catch{throw new jO.VerificationError({code:"TLOG_BODY_ERROR",message:"invalid canonicalized body"})}if(r!==i.kind||n!==i.apiVersion)throw new jO.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${i.kind}/${i.apiVersion}`});switch(r){case"dsse":if(n==VX.DSSE_API_VERSION_V1)return(0,VX.verifyDSSETLogBody)(i,e);{let s=jMe.Entry.fromJSON(i);return(0,VX.verifyDSSETLogBodyV2)(s,e)}case"intoto":return(0,WVt.verifyIntotoTLogBody)(i,e);case"hashedrekord":if(n==zX.HASHEDREKORD_API_VERSION_V1)return(0,zX.verifyHashedRekordTLogBody)(i,e);{let s=jMe.Entry.fromJSON(i);return(0,zX.verifyHashedRekordTLogBodyV2)(s,e)}default:throw new jO.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}o(XVt,"verifyTLogBody");function ZVt(t,e){let r=!1;if(e5t(t)&&((0,KVt.verifyTLogSET)(t,e),r=!0),t5t(t)){let n=(0,JVt.verifyCheckpoint)(t,e);(0,YVt.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new jO.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}o(ZVt,"verifyTLogInclusion");function e5t(t){return t.inclusionPromise!==void 0}o(e5t,"isTLogEntryWithInclusionPromise");function t5t(t){return t.inclusionProof!==void 0}o(t5t,"isTLogEntryWithInclusionProof")});var XMe=A(JO=>{"use strict";Object.defineProperty(JO,"__esModule",{value:!0});JO.Verifier=void 0;var r5t=require("util"),rm=Ui(),JMe=xMe(),$X=vMe(),YMe=TMe(),KMe=WMe(),WX=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 xN(t,e){if(process.env.GITHUB_OUTPUT||"")return wx("OUTPUT",IL(t,e));process.stdout.write(pq.EOL),Au("set-output",{name:t},pu(e))}o(xN,"setOutput");function vN(t){process.exitCode=hq.Failure,ug(t)}o(vN,"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",EL(e),t instanceof Error?t.toString():t)}o(ug,"error");function dt(t,e={}){Au("warning",EL(e),t instanceof Error?t.toString():t)}o(dt,"warning");function O(t){process.stdout.write(t+pq.EOL)}o(O,"info");function a9e(t){bL("group",t)}o(a9e,"startGroup");function c9e(){bL("endgroup")}o(c9e,"endGroup");function kr(t,e){return o9e(this,void 0,void 0,function*(){a9e(t);let r;try{r=yield e()}finally{c9e()}return r})}o(kr,"group");function ja(t,e){if(process.env.GITHUB_STATE||"")return wx("STATE",IL(t,e));Au("save-state",{name:t},pu(e))}o(ja,"saveState");function Fce(t){return process.env[`STATE_${t}`]||""}o(Fce,"getState");var YI=N(require("fs"),1),v$=N(require("os"),1),N$=N(require("path"),1);var Uce=N(require("os"),1);function s0(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(s0,"toCommandValue");function qce(t,e,r){let n=new Aq(t,e,r);process.stdout.write(n.toString()+Uce.EOL)}o(qce,"issueCommand");var Mce="::",Aq=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=Mce+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}=${u9e(i)}`)}}return e+=`${Mce}${l9e(this.message)}`,e}};function l9e(t){return s0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(l9e,"escapeData");function u9e(t){return s0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(u9e,"escapeProperty");var zce=N(require("os"),1);var Hce=require("os"),o0=require("fs");var mq=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:d9e,appendFile:f9e,writeFile:h9e}=o0.promises,Gce="GITHUB_STEP_SUMMARY";var gq=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return mq(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Gce];if(!e)throw new Error(`Unable to find environment variable for $${Gce}. Check if your runtime environment supports job summaries.`);try{yield d9e(e,o0.constants.R_OK|o0.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 mq(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?h9e:f9e)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return mq(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(Hce.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 C0(s));return n.searchPaths.push(...Kq(n.patterns)),n})}static stat(e,r,n){return i3(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){$o(`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)){$o(`Symlink cycle detected for path '${e.path}' and realpath '${s}'`);return}n.push(s)}return i})}};var rXe=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 wde(t,e){return rXe(this,void 0,void 0,function*(){return yield jN.create(t,e)})}o(wde,"create");var u_=N(require("crypto"),1),Cg=N(require("fs"),1),cp=N(require("path"),1),mhe=N(phe(),1),ghe=N(require("util"),1);var v0;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(v0||(v0={}));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 a_=2,c_=5e3,B3=5e3,x3=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,Ahe=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,N0="cache.tar",v3="manifest.txt",iKt=10*Math.pow(1024,3),l_="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())})},dtt=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)}},ftt="1.0";function _0(){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,u_.randomUUID());return yield _u(r),r})}o(_0,"createTempDirectory");function Hc(t){return Cg.statSync(t).size}o(Hc,"getArchiveFileSizeInBytes");function N3(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 wde(t.join(`
|
||||||
|
`),{implicitDescendants:!1});try{for(var u=!0,d=dtt(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(N3,"resolvePaths");function T0(t){return Eg(this,void 0,void 0,function*(){return ghe.promisify(Cg.unlink)(t)})}o(T0,"unlinkFile");function yhe(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(yhe,"getVersion");function R0(){return Eg(this,void 0,void 0,function*(){let t=yield yhe("zstd",["--quiet"]),e=mhe.clean(t);return R(`zstd version: ${e}`),t===""?Ji.Gzip:Ji.ZstdWithoutLong})}o(R0,"getCompressionMethod");function af(t){return t===Ji.Gzip?v0.Gzip:v0.Zstd}o(af,"getCacheFileName");function Ehe(){return Eg(this,void 0,void 0,function*(){return Cg.existsSync(x3)?x3:(yield yhe("tar")).toLowerCase().includes("gnu tar")?li("tar"):""})}o(Ehe,"getGnuTarPathOnWindows");function _3(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}o(_3,"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(ftt),u_.createHash("sha256").update(n.join("|")).digest("hex")}o(bg,"getCacheVersion");function Che(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}o(Che,"getRuntimeToken");var Q0=N(require("http"),1),D3=N(require("https"),1);function T3(t){let e=t.protocol==="https:";if(htt(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 f_(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new f_(`http://${r}`)}else return}o(T3,"getProxyUrl");function htt(t){if(!t.hostname)return!1;let e=t.hostname;if(ptt(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(htt,"checkBypass");function ptt(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(ptt,"isLoopbackAddress");var f_=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),bhe=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 mtt=[Pr.MovedPermanently,Pr.ResourceMoved,Pr.SeeOther,Pr.TemporaryRedirect,Pr.PermanentRedirect],gtt=[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout],ytt=["OPTIONS","GET","DELETE","HEAD"],Ett=10,Ctt=5,Vc=class t extends Error{static{o(this,"HttpClientError")}const
Line truncated
|
||||||
|
${_tt.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function y_(t){return t instanceof Ki?!0:up(t)&&t.name==="RestError"}o(y_,"isRestError");function ws(t,e){return Buffer.from(t,e)}o(ws,"stringToUint8Array");var E_=N(require("node:http"),1),C_=N(require("node:https"),1),G3=N(require("node:zlib"),1),Mhe=require("node:stream");var Jo=k0("ts-http-runtime");var Ttt={};function P0(t){return t&&typeof t.pipe=="function"}o(P0,"isReadableStream");function Fhe(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(Fhe,"isStreamComplete");function Uhe(t){return t&&typeof t.byteLength=="number"}o(Uhe,"isArrayBuffer");var b_=class extends Mhe.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}},H3=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 Ka;Jo.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=ktt(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let g=e.onUploadProgress,m=new b_(g);m.on("error",E=>{Jo.error("Error in upload progress",E)}),P0(c)?c.pipe(m):m.end(c),c=m}let u=await this.makeRequest(e,r,c);i!==void 0&&clearTimeout(i);let d=Rtt(u),h={status:u.statusCode??0,headers:d,request:e};if(e.method==="HEAD")return u.resume(),h;l=a?Dtt(u,d):u;let p=e.onDownloadProgress;if(p){let g=new b_(p);g.on("error",m=>{Jo.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 Qtt(l),h}finally{if(e.abortSignal&&n){let u=Promise.resolve();P0(c)&&(u=Fhe(c));let d=Promise.resolve();P0(l)&&(d=Fhe(l)),Promise.all([u,d]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(f=>{Jo.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?E_.default.request(c,l):C_.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&&P0(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):Uhe(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(Jo.error("Unrecognized body type",n),u(new Ki("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?E_.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new E_.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return C_.default.globalAgent;let i=e.tlsSettings??Ttt,s=this.cachedHttpsAgents.get(i);return s&&s.options.keepAlive===!n||(Jo.info("No cached TLS Agent exist, creating a new Agent"),s=new C_.default.Agent({keepAlive:!n,...i}),this.cachedHttpsAgents.set(i,s)),s}}};function Rtt(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(Rtt,"getResponseHeaders");function Dtt(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=G3.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=G3.default.createInflate();return t.pipe(n),n}return t}o(Dtt,"getDecodedResponseStream");function Qtt(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(Qtt,"streamToText");function ktt(t){return t?Buffer.isBuffer(t)?t.length:
Line truncated
|
||||||
|
`;return e}o(dnt,"encodeHeaders");function fnt(t){return t instanceof Uint8Array?t.byteLength:z_(t)?t.size===-1?void 0:t.size:void 0}o(fnt,"getLength");function hnt(t){let e=0;for(let r of t){let n=fnt(r);if(n===void 0)return;e+=n}return e}o(hnt,"getTotalLength");async function pnt(t,e,r){let n=[ws(`--${r}`,"utf-8"),...e.flatMap(s=>[ws(`\r
|
||||||
|
`,"utf-8"),ws(dnt(s.headers),"utf-8"),ws(`\r
|
||||||
|
`,"utf-8"),s.body,ws(`\r
|
||||||
|
--${r}`,"utf-8")]),ws(`--\r
|
||||||
|
\r
|
||||||
|
`,"utf-8")],i=hnt(n);i&&t.headers.set("Content-Length",i),t.body=await Vpe(n)}o(pnt,"buildRequestBody");var F0="multipartPolicy",Ant=70,mnt=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function gnt(t){if(t.length>Ant)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!mnt.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}o(gnt,"assertValidBoundary");function j_(){return{name:F0,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?gnt(r):r=unt(),t.headers.set("Content-Type",`${s}; boundary=${r}`),await pnt(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}o(j_,"multipartPolicy");function W_(){return g_()}o(W_,"createEmptyPipeline");var zpe=p_({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),rtr=zpe.logger;function Wc(t){return zpe.createClientLogger(t)}o(Wc,"createClientLogger");var Jc=Wc("core-rest-pipeline");function cG(t={}){return w_({logger:Jc.info,...t})}o(cG,"logPolicy");var lG=S_;function uG(t={}){return B_(t)}o(uG,"redirectPolicy");var J_=N(require("node:os"),1),Y_=N(require("node:process"),1);function $pe(){return"User-Agent"}o($pe,"getHeaderName");async function jpe(t){if(Y_.default&&Y_.default.versions){let e=`${J_.default.type()} ${J_.default.release()}; ${J_.default.arch()}`,r=Y_.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(jpe,"setPlatformSpecificData");var K_="1.22.2";function Bnt(t){let e=[];for(let[r,n]of t){let i=n?`${r}/${n}`:r;e.push(i)}return e.join(" ")}o(Bnt,"getUserAgentString");function Wpe(){return $pe()}o(Wpe,"getUserAgentHeaderName");async function X_(t){let e=new Map;e.set("core-rest-pipeline",K_),await jpe(e);let r=Bnt(e);return t?`${t} ${r}`:r}o(X_,"getUserAgentValue");var Jpe=Wpe(),Ype="userAgentPolicy";function dG(t={}){let e=X_(t.userAgentPrefix);return{name:Ype,async sendRequest(r,n){return r.headers.has(Jpe)||r.headers.set(Jpe,await e),n(r)}}}o(dG,"userAgentPolicy");var ho=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function fG(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(fG,"createAbortablePromise");var Tnt="The delay was aborted.";function M0(t,e){let r,{abortSignal:n,abortErrorMsg:i}=e??{};return fG(s=>{r=setTimeout(s,t)},{cleanupBeforeAbort:o(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:i??Tnt})}o(M0,"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 Kpe(t){return up(t)}o(Kpe,"isError");function Tg(){return lp()}o(Tg,"randomUUID");var Lt=hp;var Xpe=Symbol("rawContent");function pG(t){return typeof t[Xpe]=="function"}o(pG,"hasRawContent");function Zpe(t){return pG(t)?t[Xpe]():t}o(Zpe,"getRawContent");var Z_=F0;function AG(){let t=j_();return{name:Z_,sendRequest:o(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)pG(n.body)&&(n.body=Zpe(n.body));return t.sendRequest(e,r)},"sendRequest")}}o(AG,"multipartPolicy");var mG=x_;function gG(){return v_()}o(gG,"decompressResponsePolicy");function yG(t={}){return T_(t)}o(yG,"defaultRetryPolicy");function EG(){return R_()}o(EG,"formDataPolicy");function df(t){return nG(t)}o(df,"getDefaultProxySettings");function CG(t,e){return G_(t,e)}o(CG,"proxyPolicy");var eAe="setClientRequestIdPolicy";function bG(t="x-ms-client-request-id"){return{name:eAe,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}o(bG,"setClientRequestIdPolicy");function IG(t){return H_(t)}o(IG,"agentPolicy");function wG(t){return V_(t)}o(wG,"tlsPolicy");var Rg={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function tAe(t={}){let e=new SG(t.parentContext);return t.span&&(e=e.setValue(Rg.span,t.span)),t.namespace&&(e=e.setValue(Rg.namespace,t.namespace)),e}o(tAe,"createTracingContext");var SG=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--),!est(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=Jit(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=FAe(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=FAe(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=LAe(t,s);continue}else if(t[s+1]==="?"){if(s=OAe(t,++s),s.err)return s}else break;else if(t[s]==="&"){let f=Xit(t,s);if(f==-1)return en("InvalidChar","char '&' is not expected.",Xi(t,s));s=f}else if(i===!0&&!PAe(t[s]))return en("InvalidXml","Extra text at the end",Xi(t,s));t[s]==="<"&&s--}}else{if(PAe(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(fT,"validate");function PAe(t){return t===" "||t===" "||t===`
|
||||||
|
`||t==="\r"}o(PAe,"isWhiteSpace");function OAe(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(OAe,"readPI");function LAe(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(LAe,"readCommentAndCDATA");var jit='"',Wit="'";function Jit(t,e){let r="",n="",i=!1;for(;e<t.length;e++){if(t[e]===jit||t[e]===Wit)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(Jit,"readAttributeStr");var Yit=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function FAe(t,e){let r=uT(t,Yit),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.",K0(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return en("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",K0(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return en("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",K0(r[i]));let s=r[i][2];if(!Zit(s))return en("InvalidAttr","Attribute '"+s+"' is an invalid name.",K0(r[i]));if(!Object.prototype.hasOwnProperty.call(n,s))n[s]=1;else return en("InvalidAttr","Attribute '"+s+"' is repeated.",K0(r[i]))}return!0}o(FAe,"validateAttributeString");function Kit(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(Kit,"validateNumberAmpersand");function Xit(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Kit(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(Xit,"validateAmpersand");function en(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}o(en,"getErrorObject");function Zit(t){return GG(t)}o(Zit,"validateAttrName");function est(t){return GG(t)}o(est,"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 K0(t){return t.startIndex+t[1].length}o(K0,"getPositionFromMatch");var MAe={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"},UAe={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"},qAe={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 eI(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=YG(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=KG(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=KG(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}=YG(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=wst(h),f!==e.tagname&&this.matcher.push(f,{},B),f!==p&&g&&(C=this.buildAttributesMap(p,this.matcher,f),C&&(I=Ist(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}=YG(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 _st(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(_st,"addChild");function Tst(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(Tst,"replaceEntitiesValue");function Rst(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(Rst,"saveTextToParentTag");function Dst(){return this.stopNodeExpressionsSet.Line truncated
|
||||||
|
`;function qst(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(nH(r)==="?xml"){let i=r[":@"];if(i){let s=e.attributeNamePrefix+"version";if(i[s])return i[s]}}return"1.0"}o(qst,"detectXmlVersionFromArray");function ame(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(ame,"resolveTagName");function rH(t,e){let r="";e.format&&(r=Ust);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=qst(t,e),s=new Xc;return cme(t,e,r,s,n,i)}o(rH,"toXml");function cme(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=tH(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=nH(u);if(d===void 0)continue;let h=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:ame(d,!1,e,n,s),p=Gst(u[":@"],e);n.push(h,p);let g=Vst(n,i);if(h===e.textNodeName){let I=u[d];g||(I=e.tagValueProcessor(h,I),I=tH(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=gT(I);a+=`<![CDATA[${B}]]>`,c=!1,n.pop();continue}else if(h===e.commentPropName){let I=u[d][0][e.textNodeName],B=mT(I);a+=r+`<!--${B}-->`,c=!0,n.pop();continue}else if(h[0]==="?"){let I=ome(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=ome(u[":@"],e,g,n,s),y=r+`<${h}${E}`,C;g?C=lme(u[d],e):C=cme(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(cme,"arrToStr");function Gst(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(Gst,"extractAttributeValues");function lme(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=nH(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=Hst(i[":@"],e),c=lme(i[s],e);!c||c.length===0?r+=`<${s}${a}/>`:r+=`<${s}${a}>${c}</${s}>`}}}return r}o(lme,"getRawContent");function Hst(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(Hst,"attr_to_str_raw");function nH(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(nH,"propName");function ome(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:ame(c,!0,e,n,i),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=tH(u,e)),u===!0&&e.suppressBooleanAttributes?s+=` ${l}`:s+=` ${l}="${pf(u)}"`}return s}o(ome,"attr_to_str");function Vst(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(Vst,"checkStopNode");function tH(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(tH,"replaceEntitiesValue");function iH(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(iH,"getIgnoreAttributesFn");var zst={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({},zst,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 $st(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($st,"detectXmlVersionFromObj");function sH(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(sH,"resolveTagName");_s.prototype.build=function(t){if(this.options.preserveOrder)return rH(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Xc,r=$st(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:sH(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=sH(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=sH(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 jst(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(jst,"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)=>NT(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=BT(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let i=xT(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 sI(e,r,this)}computeHMACSHA256(e){return(0,gme.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var Nn=Wc("storage-common");var Zo;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(Zo||(Zo={}));var mf={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Zo.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},rot=new ho("The operation was aborted."),oI=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=ST(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 Zo.EXPONENTIAL:i=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case Zo.FIXED:i=this.retryOptions.retryDelayInMs;break}else i=Math.random()*1e3;return Nn.info(`RetryPolicy: Delay for ${i}ms`),vT(i,n,rot)}};var aI=class{static{o(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new oI(e,r,this.retryOptions)}};var not="storageBrowserPolicy";function yme(){return{name:not,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(yme,"storageBrowserPolicy");var iot="StorageCorrectContentLengthPolicy";function Eme(){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:iot,async sendRequest(e,r){return t(e),r(e)}}}o(Eme,"storageCorrectContentLengthPolicy");var sot="storageRetryPolicy",Fg={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Zo.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},oot=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],aot=new ho("The operation was aborted.");function Cme(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,bme.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)=>NT(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=BT(s.url)||"/",c="";c+=`/${t.accountName}${a}`;let l=xT(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:cot,async sendRequest(s,a){return e(s),a(s)}}}o(uH,"storageSharedKeyCredentialPolicy");var lot="storageRequestFailureDetailsParserPolicy";function Ime(){return{name:lot,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(Ime,"storageRequestFailureDetailsParserPolicy");var wme=require("node:crypto");var _T=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,wme.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var TT="12.31.0",RT="2026-02-06";var DT="https://storage.azure.com/.default",Mu={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Xa="",dH="*",uot=1*1024*1024;var dot=4*uot;var Sme="AES256",Bme="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",xme=["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"],vme=["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"],Nme="BlobUsesCustomerSpecifiedEncryption",_me="BlobDoesNotUseCustomerSpecifiedEncryption",Tme=["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 cI=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 cI([],e);return r._credential=t,r}o(tn,"newPipeline");function fot(t){let e=[hot,Rme,pot,Aot,mot,got,Eot];if(t.factories.length){let r=t.factories.filter(n=>!e.some(i=>i(n)));if(r.length){let n=r.some(i=>yot(i));return{wrappedPolicies:UG(r),afterRetry:n}}}}o(fot,"processDownlevelPipeline");function fH(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?qG(e):lH(),t._coreHttpClient=n);let i=t._corePipeline;if(!i){let s=`azsdk-js-azure-storage-blob/${TT}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${s}`:`${s}`;i=V0({...r,loggingOptions:{additionalAllowedHeaderNames:xme,additionalAllowedQueryParameters:vme,logger:ET.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:yT,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:aH,serializerOptions:{xml:{xmlCharKey:"#"}}}}),i.removePolicy({phase:"Retry"}),i.removePolicy({name:mG}),i.addPolicy(Eme()),i.addPolicy(Cme(r.retryOptions),{phase:"R
Line truncated
|
||||||
|
`),s=e.computeHMACSHA256(i);return{sasQueryParameters:new nc(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(fct,"generateBlobSASQueryParameters20150405");function hct(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?rc(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 nc(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(hct,"generateBlobSASQueryParameters20181109");function pct(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?rc(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 nc(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(pct,"generateBlobSASQueryParameters20201206");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.ipRange?rc(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 nc(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(Act,"generateBlobSASQueryParametersUDK20181109");function mct(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?rc(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 nc(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(mct,"generateBlobSASQueryParametersUDK20200210");function gct(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?rc(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 nc(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(gct,"generateBlobSASQueryParametersUDK20201206");function yct(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?rc(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 nc(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(yct,"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:RT;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 CI=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!==Xa||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Xa||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!==Xa||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Xa||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!==Xa||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Xa||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!==Xa||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Xa||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 TI=class extends Error{static{o(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var Nlt=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())})},rz=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 kye(t,e,r){return Nlt(this,void 0,void 0,function*(){var n;let i=new ic(t),s=i.getBlockBlobClient(),a=new rz((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 OR(`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(kye,"uploadCacheArchiveSDK");var Oye=N(require("buffer"),1),yl=N(require("fs"),1),Lye=N(require("stream"),1),Fye=N(require("util"),1);var LR=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 FR(t){return t?t>=200&&t<300:!1}o(FR,"isSuccessStatusCode");function _lt(t){return t?t>=500:!0}o(_lt,"isServerErrorStatusCode");function Tlt(t){return t?[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout].includes(t):!1}o(Tlt,"isRetryableStatusCode");function Rlt(t){return LR(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}o(Rlt,"sleep");function Pye(t,e,r){return LR(this,arguments,void 0,function*(n,i,s,a=a_,c=c_,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),!_lt(h)))return f;if(h&&(p=Tlt(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 Rlt(c),d++}throw Error(`${n} failed: ${u}`)})}o(Pye,"retry");function RI(t,e){return LR(this,arguments,void 0,function*(r,n,i=a_,s=c_){return yield Pye(r,n,a=>a.statusCode,i,s,a=>{if(a instanceof Vc)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}o(RI,"retryTypedResponse");function Kg(t,e){return LR(this,arguments,void 0,function*(r,n,i=a_,s=c_){return yield Pye(r,n,a=>a.message.statusCode,i,s)})}o(Kg,"retryHttpClientResponse");var ia=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 Dlt(t,e){return ia(this,void 0,void 0,function*(){yield Fye.promisify(Lye.pipeline)(t.message,e)})}o(Dlt,"pipeResponseToStream");var MR=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(Mlt,"printCachesListForDiagnostics");function az(t,e,r){return Rs(this,void 0,void 0,function*(){let n=new Kye.URL(t),i=Gye(r);n.hostname.endsWith(".blob.core.windows.net")?i.useAzureSdk?yield Uye(t,e,i):i.concurrentBlobDownloads?yield Mye(t,e,i):yield UR(t,e):yield UR(t,e)})}o(az,"downloadCache");function Zye(t,e,r){return Rs(this,void 0,void 0,function*(){let n=oz(),i=bg(e,r?.compressionMethod,r?.enableCrossOsArchive),s={key:t,version:i,cacheSize:r?.cacheSize};return yield RI("reserveCache",()=>Rs(this,void 0,void 0,function*(){return n.postJson(QI("caches"),s)}))})}o(Zye,"reserveCache");function Yye(t,e){return`bytes ${t}-${e}/*`}o(Yye,"getContentRange");function Ult(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: ${Yye(n,i)}`);let s={"Content-Type":"application/octet-stream","Content-Range":Yye(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(!FR(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}o(Ult,"uploadChunk");function qlt(t,e,r,n){return Rs(this,void 0,void 0,function*(){let i=Hc(r),s=QI(`caches/${e.toString()}`),a=Xg.openSync(r,"r"),c=nz(n),l=_3("uploadConcurrency",c.uploadConcurrency),u=_3("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 Ult(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(qlt,"uploadFile");function Glt(t,e,r){return Rs(this,void 0,void 0,function*(){let n={size:r};return yield RI("commitCache",()=>Rs(this,void 0,void 0,function*(){return t.postJson(QI(`caches/${e.toString()}`),n)}))})}o(Glt,"commitCache");function cz(t,e,r,n){return Rs(this,void 0,void 0,function*(){if(nz(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield kye(r,e,n)}else{let s=oz();R("Upload cache"),yield qlt(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 Glt(s,t,a);if(!FR(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);O("Cache saved successfully")}})}o(cz,"saveCache");var jEe=N(UEe(),1),sn=N(nn(),1),Eo=N(nn(),1),Mp=N(nn(),1),Up=N(nn(),1),qp=N(nn(),1);var r$=N(nn(),1),n$=N(nn(),1),VEe=N(nn(),1),zEe=N(nn(),1),$Ee=N(nn(),1);var Zz=N(nn(),1),e$=N(nn(),1),qEe=N(nn(),1),GEe=N(nn(),1),HEe=N(nn(),1);var t$=class extends HEe.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,GEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,qEe.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?e$.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,Zz.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,Zz.WireType.Varint).int64(e.permission);let i=n.writeUnknownFields;return i!==!1&&(i==!0?e$.UnknownFieldHandler.onWrite:i)(this.typeName,e,r),r}},v2=new t$;var i$=class extends $Ee.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(()=>v2,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,zEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,VEe.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(v2.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?n$.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.repositoryId!==
Line truncated
|
||||||
|
`));let n=yield E$(r,"create");yield C$(n,t)})}o(I$,"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())})},ac=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)}},w$="cache write denied:",R2=class t extends Gp{static{o(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},KEe=l_,D2=class t extends Error{static{o(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},Q2=class t extends Error{static{o(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function XEe(t){if(!t||t.length===0)throw new ac("Path Validation Error: At least one directory or file path is required")}o(XEe,"checkPaths");function S$(t){if(t.length>512)throw new ac(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new ac(`Key Validation Error: ${t} cannot contain commas.`)}o(S$,"checkKey");function B$(){return DI()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}o(B$,"isFeatureAvailable");function ZEe(t,e,r,n){return py(this,arguments,void 0,function*(i,s,a,c,l=!1){let u=DI();R(`Cache service version: ${u}`),XEe(i);let d=sz();if(!Vye(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 nft(i,s,a,c,l):yield rft(i,s,a,c,l)})}o(ZEe,"restoreCache");function rft(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 ac("Key Validation Error: Keys are limited to a maximum of 10.");for(let p of d)S$(p);let f=yield R0(),h="";try{let p;try{p=yield Xye(d,i,{compressionMethod:f,enableCrossOsArchive:l})}catch(m){let E=(u=m?.message)!==null&&u!==void 0?u:"";throw E.includes(KEe)?new D2(E):m}if(!p?.archiveLocation)return;if(c?.lookupOnly)return O("Lookup only - skipping download"),p.cacheKey;h=JI.join(yield _0(),af(f)),R(`Archive Path: ${h}`),yield az(p.archiveLocation,h,c),np()&&(yield WI(h,f));let g=Hc(h);return O(`Cache Size: ~${Math.round(g/(1024*1024))} MB (${g} B)`),yield b$(h,f),O("Cache restored successfully"),p.cacheKey}catch(p){let g=p;if(g.name===ac.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 T0(h)}catch(p){R(`Failed to delete archive: ${p}`)}}})}o(rft,"restoreCacheV1");function nft(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 ac("Key Validation Error: Keys are limited to a maximum of 10.");for(let h of d)S$(h);let f="";try{let h=y$(),p=yield R0(),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(KEe)?new D2(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 _0(),af(p)),R(`Archive path: ${f}`),R(`Starting download of archive to: ${f}`),yield az(m.signedDownloadUrl,f,c);let y=Hc(f);return O(`Cache Size: ~${Math.round(y/(1024*1024))} MB (${y} B)`),np()&&(yield WI(f,p)),yield b$(f,p),O("Cache restored successfully"),m.matchedKey}catch(h){let p=h;if(p.name===ac.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 T0(f))}catch(h){R(`Failed to delete archive: ${h}`)}}})}o(nft,"restoreCacheV2");function x$(t,e,r){return py(this,arguments,void 0,function*(n,i,s,a=!1){let c=DI();R(`Cache service version: ${c}`),XEe(n),S$(i);let l=sz();return zye(l)?c==="v2"?yield sft(n,i,s,a):yield ift(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(x$,"saveCache");function ift(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(fwe($,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 ce=ae.length,Y;for(Y=0;Y<ce&&!this.__needMoreData(Y,ce,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($),($===Tyt||$===Ryt)&&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<ce)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=QD(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 pwe.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 Yj.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 Yj.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return Awe.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=gw.default.resolve(e);return gw.default.resolve(r).startsWith(n.endsWith(gw.default.sep)?n:`${n}${gw.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||yw.default.join(mwe.default.homedir(),".docker")}static configFile(){let e=yw.default.join(t.configDir,"config.json");if(Kj.default.existsSync(e))return JSON.parse(Kj.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 mSe=N(require("crypto"),1);var kD=require("fs"),Ewe=require("os");var Ry=class{static{o(this,"Context")}constructor(){var e,r,n;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,kD.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,kD.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${Ewe.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 t8=N(Swe(),1),Bwe=N(Yd(),1);var Vyt=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 xwe(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(xwe,"getAuthString");function vwe(t){return new t8.HttpClient().getAgent(t)}o(vwe,"getProxyAgent");function zyt(t){return new t8.HttpClient().getAgentDispatcher(t)}o(zyt,"getProxyAgentDispatcher");function Nwe(t){let e=zyt(t);return o((n,i)=>Vyt(this,void 0,void 0,function*(){return(0,Bwe.fetch)(n,Object.assign(Object.assign({},i),{dispatcher:e}))}),"proxyFetch")}o(Nwe,"getProxyFetch");function _we(){return process.env.GITHUB_API_URL||"https://api.github.com"}o(_we,"getApiBaseUrl");function r8(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(r8,"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 qD(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)=>qD.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(qD,"register");function Twe(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(Twe,"addHook");function Rwe(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(Rwe,"removeHook");var Dwe=Function.bind,Qwe=Dwe.bind(Dwe);function kwe(t,e,r){let n=Qwe(Rwe,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]=Qwe(Twe,null).apply(null,s)})}o(kwe,"bindApi");function jyt(){let t=Symbol("Singular"),e={registry:{}},r=qD.bind(null,e,t);return kwe(r,e,t),r}o(jyt,"Singular");function Wyt(){let t={registry:{}},e=qD.bind(null,
Line truncated
|
||||||
|
`+t.errors.map(e=>` - ${e.message}`).join(`
|
||||||
|
`)}o(wEt,"_buildMessageForResponseErrors");var SEt=class extends Error{static{o(this,"GraphqlResponseError")}constructor(t,e,r){super(wEt(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},BEt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],xEt=["query","method","url"],rSe=/\/api\/v3\/?$/;function vEt(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(xEt.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)=>BEt.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 rSe.test(s)&&(i.url=s.replace(rSe,"/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 SEt(i,c,a.data)}return a.data.data})}o(vEt,"graphql");function c8(t,e){let r=t.defaults(e);return Object.assign(o((i,s)=>vEt(r,i,s),"newApi"),{defaults:c8.bind(null,r),endpoint:r.endpoint})}o(c8,"withDefaults");var _wr=c8(Iw,{headers:{"user-agent":`octokit-graphql.js/${IEt} ${Nf()}`},method:"POST",url:"/graphql"});function nSe(t){return c8(t,{method:"POST",url:"/graphql"})}o(nSe,"withCustomRequest");var l8="(?:[a-zA-Z0-9_-]+)",iSe="\\.",sSe=new RegExp(`^${l8}${iSe}${l8}${iSe}${l8}$`),NEt=sSe.test.bind(sSe);async function _Et(t){let e=NEt(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(_Et,"auth");function TEt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}o(TEt,"withAuthorizationPrefix");async function REt(t,e,r,n){let i=e.endpoint.merge(r,n);return i.headers.authorization=TEt(t),e(i)}o(REt,"hook");var oSe=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(_Et.bind(null,e),{hook:REt.bind(null,e)})},"createTokenAuth2");var u8="7.0.6";var aSe=o(()=>{},"noop"),DEt=console.warn.bind(console),QEt=console.error.bind(console);function kEt(t={}){return typeof t.debug!="function"&&(t.debug=aSe),typeof t.info!="function"&&(t.info=aSe),typeof t.warn!="function"&&(t.warn=DEt),typeof t.error!="function"&&(t.error=QEt),t}o(kEt,"createLogger");var cSe=`octokit-core.js/${u8} ${Nf()}`,ky=class{static{o(this,"Octokit")}static VERSION=u8;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 Pwe.Collection,n={baseUrl:Iw.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} ${cSe}`:cSe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=Iw.defaults(n),this.graphql=nSe(this.request).defaults(n),this.log=kEt(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=oSe(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 d8="17.0.0";var PEt={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 C8=N(require("fs"),1),b8=N(require("path"),1);var YD=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=b8.default.join(gt.tmpDir(),"export");O(`exporting build record to ${s}`),C8.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=b8.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=C8.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 uOe=N(require("fs"),1),nK=N(require("path"),1);var bSe=N(require("os"),1);function vw(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(vw,"toCommandValue");function I8(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(I8,"toCommandProperties");function Nw(t,e,r){let n=new w8(t,e,r);process.stdout.write(n.toString()+bSe.EOL)}o(Nw,"issueCommand");var CSe="::",w8=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=CSe+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}=${eCt(i)}`)}}return e+=`${CSe}${ZEt(this.message)}`,e}};function ZEt(t){return vw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(ZEt,"escapeData");function eCt(t){return vw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(eCt,"escapeProperty");var BSe=N(require("os"),1);var wSe=require("os"),_w=require("fs");var S8=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:tCt,appendFile:rCt,writeFile:nCt}=_w.promises,ISe="GITHUB_STEP_SUMMARY";var B8=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return S8(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[ISe];if(!e)throw new Error(`Unable to find environment variable for $${ISe}. Check if your runtime environment supports job summaries.`);try{yield tCt(e,_w.constants.R_OK|_w.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 S8(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?nCt:rCt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return S8(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(wSe.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()}},jSr=new B8;var x8=N(require("os"),1);var XSr=x8.default.platform(),ZSr=x8.Line truncated
|
||||||
|
`," Line feed \\n"]]),SBe=new Map([...X6,["\\"," Backslash \\"],["/"," Forward slash /"]]);function BBe(t){if(!t)throw new Error("Provided artifact name input during validation is empty");for(let[e,r]of SBe)if(t.includes(e))throw new Error(`The artifact name is not valid: ${t}. Contains the following character: ${r}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(SBe.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(BBe,"validateArtifactName");function Z6(t){if(!t)throw new Error("Provided file path input during validation is empty");for(let[e,r]of X6)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(X6.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(Z6,"validateFilePath");var _Be=N(NBe(),1);function Ol(){return`@actions/artifact-${_Be.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"}},fc=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 FQ=new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");function Ll(){let t=XD(),e=WD(t);if(!e.scp)throw FQ;let r=e.scp.split(" ");if(r.length===0)throw FQ;for(let n of r){let i=n.split(":");if(i?.[0]!=="Actions.Results")continue;if(i.length!==3)throw FQ;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 FQ}o(Ll,"getBackendIdsFromToken");function TBe(t){if(t)try{let r=new URL(t).searchParams.get("sig");r&&(KD(r),KD(encodeURIComponent(r)))}catch(e){Ze(`Failed to parse URL: ${t} ${e instanceof Error?e.message:String(e)}`)}}o(TBe,"maskSigUrl");function RBe(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"&&TBe(t.signed_upload_url),"signed_url"in t&&typeof t.signed_url=="string"&&TBe(t.signed_url)}o(RBe,"maskSecretUrls");var MQ=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())})},eW=class{static{o(this,"ArtifactHttpClient")}constructor(e,r,n,i){this.maxAttempts=5,this.baseRetryIntervalMilliseconds=3e3,this.retryMultiplier=1.5;let s=XD();this.baseUrl=vSe(),r&&(this.maxAttempts=r),n&&(this.baseRetryIntervalMilliseconds=n),i&&(this.retryMultiplier=i),this.httpClient=new qo(e,[new Xd(s)])}request(e,r,n,i){return MQ(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(()=>MQ(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 MQ(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(RBe(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 MQ(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 eW(Ol(),t?.maxAttempts,t?.retryIntervalMs,t?.retryMultiplier);return new LQ(e)}o(Fl,"internalArtifactTwirpClient");var tE=N(require("fs"),1);var eE=require("path");function DBe(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(DBe,"validateRootDirectory");function QBe(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,"");Z6(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,"");Z6(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: ${$Pe(d)}`);try{ct(`Starting download of artifact to: ${r}`);let f=yield jPe(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 YPe(){return XE(this,arguments,void 0,function*(t=NSe()){return(yield vLt(t))?Ze(`Artifact destination folder already exists: ${t}`):(Ze(`Artifact destination folder does not exist, creating: ${t}`),yield eK.default.mkdir(t,{recursive:!0})),t})}o(YPe,"resolveOrCreateDirectory");var _Lt=5,TLt=[400,401,403,404,422];function ZE(t,e=_Lt,r=TLt){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 KPe="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=KPe;var eOe=N(XPe(),1);var RLt="0.0.0-development";function DLt(t){return t.request!==void 0}o(DLt,"isRequestError");async function ZPe(t,e,r,n){if(!DLt(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(ZPe,"errorRequest");async function QLt(t,e,r,n){let i=new eOe.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(kLt.bind(null,t,e,r),n)}o(QLt,"wrapRequest");async function kLt(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 ZPe(t,e,s,n)}return i}o(kLt,"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",ZPe.bind(null,r,n)),t.hook.wrap("request",QLt.bind(null,r,n))),n}o(OA,"retry");OA.VERSION=RLt;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 iP(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},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 fc(`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(iP,"getArtifactPublic");function rOe(t){return tOe(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(rOe,"getArtifactInternal");var nOe=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 iOe(t,e,r,n,i){return nOe(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 iP(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 fc(`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(iOe,"deleteArtifactPublic");function sOe(t){return nOe(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(sOe,"deleteArtifactInternal");var oOe=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())})},sP=RSe(),oP=100,PLt=Math.ceil(sP/oP);function aOe(t,e,r,n){return oOe(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:oP,page:g}),E=Math.ceil(m.total_count/oP),y=m.total_count;y>sP&&(gi(`Workflow run ${i} has ${y} artifacts, exceeding the limit of ${sP}. Results will be incomplete as only the first ${sP} artifacts will be returned`),E=PLt);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:oP,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=lOe(u)),ct(`Found ${u.length} artifact(s)`),{artifacts:u}})}o(aOe,"listArtifactsPublic");function cOe(){return oOe(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=lOe(a)),ct(`Found ${a.length} artifact(s)`),{artifacts:a}})}o(cOe,"listArtifactsInternal");function lOe(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(lOe,"filterLatest");var AB=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())})},OLt=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 AB(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=OLt(r,["findBy"]);return WPe(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 AB(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 aOe(r,n,i,s,e?.latest)}return cOe(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 AB(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 iP(e,n,i,s,a)}return rOe(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 AB(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 iOe(e,s,n,i,a)}return sOe(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 CPr=new eC;var aP=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=nK.default.basename(e.filename),n=new eC;O(`Uploading ${r} as an artifact`);let i=nK.default.dirname(e.filename),s=await n.uploadArtifact(r,[e.filename],i,{retentionDays:e.retentionDays,skipArchive:!0});if(!s.id)throw new fc("Cannot upload artifact");let a=s.size??uOe.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 bK=N(dOe(),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 AK(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(AK,"defineSequenceTag");function dP(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(dP,"defineMappingTag");var LLt=Li("tag:yaml.org,2002:str",{resolve:o(t=>t,"resolve"),identify:o(t=>typeof t=="string","identify")}),FLt=["","~","null","Null","NULL"],MLt=Li("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>FLt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),ULt=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")}),qLt=["","~","null","Null","NULL"],GLt=Li("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>qLt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),HLt=["true","True","TRUE"],VLt=["false","False","FALSE"],zLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","T","f","F"],resolve:o(t=>HLt.indexOf(t)!==-1?!0:VLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),$Lt=["true"],jLt=["false"],WLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","f"],resolve:o(t=>$Lt.indexOf(t)!==-1?!0:jLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),JLt=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"],YLt=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"],KLt=Li("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:o(t=>JLt.indexOf(t)!==-1?!0:YLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),XLt=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"),ZLt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function eFt(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(eFt,"parseYamlInteger$2");function tFt(t,e){if(e){if(!ZLt.test(t))return Pt}else if(!XLt.test(t))return Pt;let r=eFt(t);return Number.isFinite(r)?r:Pt}o(tFt,"resolveYamlInteger$2");var COe=Li("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:tFt,identify:o(t=>Number.isInteger(t)&&!Object.is(t,-0)&&t.toString(10).indexOf("e")<0,"identify"),represent:o(t=>t.toString(10),"represent")}),rFt=new RegExp("^-?(?:0|[1-9][0-9]*)$"),nFt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function iFt(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(iFt,"parseYamlInteger$1");function sFt(t,e){if(e){if(!nFt.test(t))return Pt}else if(!rFt.tes
Line truncated
|
||||||
|
${l}`}let f=iK(t.buffer,i[c],s[c],t.position,d);l+=`${" ".repeat(r.indent)}${sK((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=iK(t.buffer,i[c+h],s[c+h],t.position-(i[c]-i[c+h]),d);l+=`${" ".repeat(r.indent)}${sK((t.line+h+1).toString(),u)} | ${p.str}
|
||||||
|
`}return l.replace(/\n$/,"")}o(zFt,"makeSnippet");function pOe(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(pOe,"formatError");var $Ft=class wOe extends Error{static{o(this,"YAMLException")}reason;mark;constructor(e,r){super(),this.name="YAMLException",this.reason=e,this.mark=r,this.message=pOe(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${pOe(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=zFt(c),new wOe(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},gK={CLIP:1,STRIP:2,KEEP:3};function AOe(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(AOe,"simpleEscapeSequence");var jFt=new Array(256),WFt=new Array(256);for(let t=0;t<256;t++)jFt[t]=AOe(t)?1:0,WFt[t]=AOe(t);var QPr=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"});function oK(t){return encodeURI(t).replace(/!/g,"%21")}o(oK,"tagPercentEncode");function SOe(t){let e=t;return e.charCodeAt(0)===33?(e=e.slice(1),`!${oK(e)}`):e.slice(0,18)==="tag:yaml.org,2002:"?`!!${oK(e.slice(18))}`:`!<${oK(e)}>`}o(SOe,"tagNameShort");var JFt={filename:"",schema:qFt,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};var lK=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`,BOe=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`,kPr=new RegExp(`^(?:${lK})*$`),PPr=new RegExp(`^(?:${BOe})+$`),OPr=new RegExp(`^(?:!(?:${lK})*|${BOe}(?:${lK})*)$`),YFt={filename:"",maxDepth:100};var LPr={...YFt,...JFt};var LA=Symbol("INVALID");function KFt(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(KFt,"buildRepresentTypes");function XFt(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(XFt,"matchTag");function yB(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=XFt(t,e);if(!r){if(e===void 0||t.skipInvalid)return LA;throw new $Ft(`unacceptable kind of an object to dump ${Object.prototype.toString.call(e)}`)}let{tag:n,tagName:i,implicitTag:s}=r,a=s?i:SOe(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=yB(t,u[f]);p===LA&&u[f]===void 0&&(p=yB(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=yB(t,u);if(f===LA)continue;let h=yB(t,d);h!==LA&&l.items.push({key:f,value:h})}return l}o(yB,"build");function ZFt(t,e,r={}){let n=yB({representTypes:KFt(e),noRefs:r.noRefs??!1,skipInvalid:r.skipInvalid??!1,refs:new Map,refCounter:0},t);return[{contents:n===LA?null:n,directives:[]}]}o(ZFt,"jsToAst");var eMt=Symbol("visit:break"),xOe=Symbol("visit:skip");function lP(t,e,r){let n=e(t,r);if(n===eMt)return!0;if(n===xOe)return!1;let i=r.depth+1;switch(t.kind){case"sequence":for(let s of t.items)if(lP(s,e,{depth:i,parent:t,isKey:!1}))return!0;break;case"mapping":for(let{key:s,value:a}of t.items)if(lP(s,e,{depth:i,parent:t,isKey:!0})||lP(a,e,{depth:i,parent:t,isKey:!1}))return!0;break}return!1}o(lP,"visitNode");function mOe(t,e){for(let r of t)if(r.contents&&lP(r.contents,e,{depth:0,parent:null,isKey:!1}))return}o(mOe,"visit");function pP(t,e){return(t&1<<e)!==0}o(pP,"hasBit");var gOe={applyQuoteFlowKeysOption:tMt,doubleQuoteForInvisibles:rMt,doubleQuoteWhitespaceOnly:nMt,applyForceQuotesOption:iMt,tryLongOrMultilineAsBlock:sMt,quoteInvalidPlain:oMt,fallbackToDoubleQuoted:aMt};function vOe(t){return t.presenterOptions.quoteStyle==="single"&&pP(t.allowedStylesMask,it.SINGLE_QUOTED)?it.SINGLE_QUOTED:it.DOUBLE_QUOTED}o(vOe,"_preferredQuotedStyle");function tMt(t){t.presenterOptions.quoteFlowKeys&&(!t.isKey||!t.flowOnly||t.style!==it.PLAIN||(t.style=it.DOUBLE_QUOTED))}o(tMt,"applyQuoteFlowKeysOption");function rMt(t){t.style===it.PLAIN&&/[\t\x7F-\xA0\u2028\u2029\uFEFF\uFFFE\uFFFF]/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(rMt,"doubleQuoteForInvisibles");function nMt(t){t.style===it.PLAIN&&/^\s+$/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(nMt,"doubleQuoteWhitespaceOnly");function iMt(t){t.presenterOptions.forceQuotes&&(t.isKey||t.style!==it.PLAIN||(t.style=t.node.value.includes(`
|
||||||
|
`)?it.DOUBLE_QUOTED:vOe(t)))}o(iMt,"applyForceQuotesOption");function sMt(t){if(t.style!==it.PLAIN||t.isKey)return;let e=t.node.value,r=e.indexOf(`
|
||||||
|
`)!==-1;if(!pP(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(sMt,"tryLongOrMultilineAsBlock");function oMt(t){t.style===it.PLAIN&&!pP(t.allowedStylesMask,it.PLAIN)&&(t.style=vOe(t))}o(oMt,"quoteInvalidPlain");function aMt(t){pP(t.allowedStylesMask,t.style)||(t.style=it.DOUBLE_QUOTED)}o(aMt,"fallbackToDoubleQuoted");function gB(t,e){return t|1<<e}o(gB,"setBit");var cMt="[\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]",lMt="[\\n\\r]",uMt="\\uFEFF",yK="[ \\t]",NOe=`(?:(?!(?:${lMt}|${uMt}))${cMt})`,AP=`(?:(?!${yK})${NOe})`,_Oe="[\\x09\\x20-\\uD7FF\\uE000-\\uFFFF\\u{10000}-\\u{10FFFF}]",TOe="[-?:,\\[\\]{}#&*!|>'\"%@`]",dMt="[,\\[\\]{}]",uK=AP,dK=`(?:(?!${dMt})${AP})`,fMt=`(?:(?:(?!${TOe})${AP})|[?:-](?=${uK}))`,hMt=`(?:(?:(?!${TOe})${AP})|[?:-](?=${dK}))`,ROe=`(?:(?:(?![:#])${uK})|:(?=${uK}))#*`,DOe=`(?:(?:(?![:#])${dK})|:(?=${dK}))#*`,QOe=`(?:${yK}*${ROe})*`,kOe=`(?:${yK}*${DOe})*`,POe=`${fMt}#*${QOe}`,OOe=`${hMt}#*${kOe}`,pMt=POe,AMt=OOe,mMt=`\\n+${ROe}${QOe}`,gMt=`\\n+${DOe}${kOe}`,yMt=`${POe}(?:${mMt})*`,EMt=`${OOe}(?:${gMt})*`,CMt=new RegExp(`^(?:${yMt})$`,"u"),bMt=new RegExp(`^(?:${EMt})$`,"u"),IMt=new RegExp(`^(?:${pMt})$`,"u"),wMt=new RegExp(`^(?:${AMt})$`,"u"),SMt=new RegExp(`^(?:${_Oe})*$`,"u"),BMt=new RegExp(`^(?:${_Oe}|\\n)*$`,"u"),xMt=new RegExp(`^(?:${NOe}|\\n)*$`,"u"),vMt=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/,EK=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/m;function NMt(t){let e=t.node.value;if(e!==""){if(!(t.isKey?t.flowOnly?wMt:IMt:t.flowOnly?bMt:CMt).test(e)||t.shiftOfFirstLine===0&&vMt.test(e))return!1;if(t.shiftOfContent===0){let n=e.indexOf(`
|
||||||
|
`);if(n!==-1){let i=e.slice(n+1);if(EK.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(NMt,"canUsePlain");function _Mt(t){let e=t.node.value;if(!(t.isKey?SMt:BMt).test(e)||/[ \t]\n|\n[ \t]/.test(e))return!1;if(!t.isKey&&t.shiftOfContent===0){let r=e.indexOf(`
|
||||||
|
`);if(r!==-1&&EK.test(e.slice(r+1)))return!1}return!0}o(_Mt,"canUseSingleQuoted");function TMt(t){if(t.flowOnly||!xMt.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&&EK.test(t.node.value))}o(TMt,"canUseBlock");function RMt(t){let e=gB(0,it.DOUBLE_QUOTED);NMt(t)&&(e=gB(e,it.PLAIN)),_Mt(t)&&(e=gB(e,it.SINGLE_QUOTED)),TMt(t)&&(e=gB(gB(e,it.LITERAL_BLOCK),it.FOLDED_BLOCK)),t.allowedStylesMask=e}o(RMt,"detectAllowedStyles");function DMt(t){switch(t.style){case it.PLAIN:return QMt(t);case it.SINGLE_QUOTED:return kMt(t);case it.LITERAL_BLOCK:return PMt(t);case it.FOLDED_BLOCK:return OMt(t);case it.DOUBLE_QUOTED:return LMt(t)}}o(DMt,"renderScalar");function QMt(t){return LOe(t.node.value,t.shiftOfContent)}o(QMt,"renderPlain");function kMt(t){return`'${LOe(t.node.value,t.shiftOfContent).replace(/'/g,"''")}'`}o(kMt,"renderSingleQuoted");function PMt(t){let e=t.node.value;return"|"+MOe(e,t.shiftOfParent,t.shiftOfContent)+UOe(FOe(e,t.shiftOfContent))}o(PMt,"renderLiteralBlock");function OMt(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)),">"+MOe(e,t.shiftOfParent,t.shiftOfContent)+UOe(FOe(MMt(e,n),t.shiftOfContent))}o(OMt,"renderFoldedBlock");function LMt(t){return`"${GMt(t.node.value)}"`}o(LMt,"renderDoubleQuoted");function LOe(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(LOe,"encodeFlowBreaks");function FOe(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(FOe,"indentString");function FMt(t){return/^\n* /.test(t)}o(FMt,"needIndentIndicator");function MOe(t,e,r){let n=FMt(t)?String(r-e):"",i=t[t.length-1]===`
|
||||||
|
`;return`${n}${i&&(t[t.length-2]===`
|
||||||
|
`||t===`
|
||||||
|
`)?"+":i?"":"-"}
|
||||||
|
`}o(MOe,"blockHeader");function UOe(t){return t[t.length-1]===`
|
||||||
|
`?t.slice(0,-1):t}o(UOe,"dropEndingNewline");function fK(t){return t===" "||t===" "}o(fK,"isMoreIndented");function yOe(t,e){if(t===""||fK(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(yOe,"foldLine");function MMt(t,e){let r=/(\n+)([^\n]*)/g,n=t.indexOf(`
|
||||||
|
`);n===-1&&(n=t.length),r.lastIndex=n;let i=yOe(t.slice(0,n),e),s=t[0]===`
|
||||||
|
`||fK(t[0]),a,c;for(;c=r.exec(t);){let l=c[1],u=c[2];a=u!==""&&fK(u[0]),i+=l+(!s&&!a&&u!==""?`
|
||||||
|
`:"")+yOe(u,e),s=a}return i}o(MMt,"foldBlockScalar");var UMt=/["\\\x00-\x1F\x7F-\xA0\u2028\u2029\uD800-\uDFFF\uFEFF\uFFFE\uFFFF]/gu;function qMt(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(qMt,"escapeCharacter");function GMt(t){return t.replace(UMt,qMt)}o(GMt,"escapeString");var uP=10,CK={indent:2,seqNoIndent:!1,seqInlineFirst:!0,lineWidth:80,flowBracketPadding:!1,flowSkipCommaSpace:!1,flowSkipColonSpace:!1,quoteFlowKeys:!1,quoteStyle:"single",forceQuotes:!1,scalarStyleRules:Object.keys(gOe).map(t=>Reflect.get(gOe,t)),tagBeforeAnchor:!1};function HMt(t){return t.tagged?t.tag:SOe(t.tag)}o(HMt,"nodeTagShort");function VMt(t){let e={...CK,...t};return e.flowSkipColonSpace&&(e.quoteFlowKeys=!0),{...e,defaultScalarTagName:e.schema.defaultScalarTag.tagName,openEnded:!1}}o(VMt,"createPresenterState");function hK(t,e){return`
|
||||||
|
${" ".repeat(t.indent*e)}`}o(hK,"generateNextLine");function zMt(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(zMt,"scalarLayout");function $Mt(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($Mt,"writeFlowSequence");function EOe(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+=hK(t,e)),c===""||uP===c.charCodeAt(0)?i+="-":i+="- ",i+=c}return i}o(EOe,"writeBlockSequence");function jMt(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(jMt,"writeFlowMapping");function WMt(t,e,r,n){let i="";for(let s=0,a=r.items.length;s<a;s+=1){let c="";(!n||i!=="")&&(c+=hK(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:!pK(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&&uP===h.charCodeAt(0)?c+="?":c+="? "),c+=h,m&&(c+=hK(t,e));let E=Cd(t,e+1,u,r,{block:!0,compact:m,isblockseq:m&&!pK(t,u,e+1)}).text,y=l.kind==="scalar"&&f.noBody&&(l.tagged||l.anchor!==void 0),C=!m&&(l.kind==="alias"||y)?" ":"";E===""||uP===E.charCodeAt(0)?c+=`${C}:`:c+=`${C}: `,c+=E,i+=c}return i}o(WMt,"writeBlockMapping");function pK(t,e,r){return e.kind==="alias"?!0:e.tagged||e.anchor!==void 0||t.indent<2&&r>0}o(pK,"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;pK(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=WMt(t,e,r,l):d=jMt(t,e,r);else if(r.kind==="sequence")h?t.seqNoIndent&&!c&&e>0?d=EOe(t,e-1,r,l):d=EOe(t,e,r,l):d=$Mt(t,e,r);else{let m=zMt(t,r,n,e,a,!s);RMt(m);for(let E of t.scalarStyleRules)E(m);d=DMt(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?HMt(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)===uP?"":" ";g=`${m.join(" ")}${C}${d}`}return{text:g,noBody:p}}o(Cd,"writeNode");function JMt(t){return(t.kind==="sequence"||t.kind==="mapping")&&t.style===ih.BLOCK&&t.items.length!==0&&!t.tagged&&t.anchor===void 0}o(JMt,"rootStartsOwnLine");function YMt(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(YMt,"writeDocumentDirectives");function KMt(t,e){let r=VMt(e),n="",i=!1;for(let s=0;s<t.length;s+=1){let a=t[s];r.openEnded=!1;let c=YMt(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||JMt(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(KMt,"present");var XMt={...CK,schema:HFt,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:o(()=>{},"transform")};function ZMt(t,e){let r=String(t),n=String(e);return r<n?-1:r>n?1:0}o(ZMt,"defaultCompareFn");function qOe(t,e={}){let r={...XMt,...e},n=ZFt(t,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0&&mOe(n,(i,s)=>{if(!(s.depth<r.flowLevel))return(i.kind==="sequence"||i.kind==="mapping")&&(i.style=ih.FLOW),xOe}),r.sortKeys){let i=r.sortKeys===!0?ZMt:r.sortKeys;mOe(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),KMt(n,{...QFt(r,Object.keys(CK)),schema:r.schema})}o(qOe,"dump");var FPr=tC.DOCUMENT,MPr=tC.SEQUENCE,UPr=tC.MAPPING,qPr=tC.SCALAR,GPr=tC.ALIAS,HPr=tC.POP,VPr=it.PLAIN,zPr=it.SINGLE_QUOTED,$Pr=it.DOUBLE_QUOTED,jPr=it.LITERAL_BLOCK,WPr=it.FOLDED_BLOCK,JPr=ih.BLOCK,YPr=ih.FLOW,KPr=gK.CLIP,XPr=gK.STRIP,ZPr=gK.KEEP;var GOe=N(require("os"),1);var mP=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?GOe.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=nq.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(bK.default.encode(u),"text").addRaw("</details>"):c.addRaw("<strong>Error</strong>").addBreak().addRaw("<p>").addCodeBlock(bK.default.encode(u),"text").addRaw("</p>"),c.addRaw("</blockquote>"))}e.inputs&&c.addRaw("<details><summary><strong>Build inputs</strong></summary>").addCodeBlock(qOe(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 wK=N(require("fs"),1),HOe=N(require("path"),1);var gP=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 HOe.default.join(gt.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!wK.default.existsSync(e))return;let r=wK.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 sUe=require("crypto"),cu=N(require("fs"),1),lu=N(require("path"),1);var kC=N(RK(),1),oUe=N($7(),1),PC=N(eUe(),1);var rUe=require("util");var JX=N(RK(),1);var nUe=N(cc(),1);var tUe="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,rUe.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=nUe.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===tUe&&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 YX=N(require("fs"),1);var YO=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(!YX.default.existsSync(n))return;let l=YX.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 iUe="slsaprovenance1",Ch=class t{static{o(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new zs,this.imageTools=e?.imageTools||new YO}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",iUe,"--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??iUe];(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 oUe.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 sUe.X509Certificate(r)}async bundleFormatArgs(){return await this.cosign.versionSatisfies(">=3.1.1")?[]:["--new-bundle-format"]}};var KO=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 aUe=N(cc(),1);var XO=N(require("fs"),1);var ZO=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(!XO.default.existsSync(e))throw new Error(`config file ${e} not found`);e=XO.default.readFileSync(e,{encoding:"utf-8"})}let n=gt.tmpName({tmpdir:gt.tmpDir()});return XO.default.writeFileSync(n,e),n}};var eL=class{static{o(this,"BuildKit")}buildx;config;constructor(e){this.config=new ZO,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")||!aUe.satisfies(s.replace(/-moby$/,""),r))return!1}return!0}};var tL=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 nL=N(cc(),1),XX=N(require("util"),1);var rL=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=nL.clean(s)||"";if(!nL.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=XX.format(n.downloadURL,s,this.filename());O(`Downloading ${u}`);let d=await zo(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 iL=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(wc.default.homedir(),".bin"),cacheFile:wc.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=ZX.format(r.downloadURL,i,this.filename());O(`Downloading ${l}`);let u=await zo(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(wc.default.homedir(),".bin"),cacheFile:wc.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(cUe)}).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");VB.default.existsSync(n)||VB.default.mkdirSync(n,{recursive:!0});let i=wc.default.platform()=="win32"?"cosign.exe":"cosign",s=MC.default.join(n,i);return VB.default.copyFileSync(e,s),O("Fixing perms"),VB.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 zo(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(wc.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=wc.default.arch();break}}let r=wc.default.platform()=="win32"?"windows":wc.default.platform(),n=wc.default.platform()=="win32"?".exe":"";return ZX.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 lUe=N(cc(),1);var sL=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),xN("imageid",c)}),u&&await kr("Digest",async()=>{O(u),xN("digest",u)}),l&&await kr("Metadata",async()=>{let f=JSON.stringify(l,null,2);Xe.printUntrusted(f),xN("metadata",f)});let d;if(await kr("Reference",async()=>{d=await f5t(r,t,e.builder),d?(O(d),IUe(d)):O("No build reference found")}),h5t()){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()=>{p5t()?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!"),wUe()):O("Build summary requires a build reference"):O("Build summary requires Buildx >= 0.23.0"):O("Build summary disabled")}),a)throw a},async()=>{yUe&&await kr("Generating build summary",async()=>{try{let t=A5t(),e;t&&(e=m5t());let n=await new YD().export({refs:nZ?[nZ]:[]});O(`Build record written to ${n.dockerbuildFilename} (${re.formatFileSize(n.dockerbuildSize)})`);let i;t&&(i=await aP.upload({filename:n.dockerbuildFilename,retentionDays:e})),await mP.writeBuildSummary({exportRes:n,uploadRes:i,inputs:gUe,driver:AUe,endpoint:mUe})}catch(t){dt(t.message)}}),WB.length>0&&await kr(`Removing temp folder ${WB}`,async()=>{try{BUe.rmSync(WB,{recursive:!0})}catch{dt(`Failed to remove temp folder ${WB}`)}})});async function f5t(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(f5t,"buildRef");function h5t(){return process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS?re.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS):!0}o(h5t,"buildChecksAnnotationsEnabled");function p5t(){return process.env.DOCKER_BUILD_SUMMARY?re.parseBool(process.env.DOCKER_BUILD_SUMMARY):!0}o(p5t,"buildSummaryEnabled");function A5t(){return process.env.DOCKER_BUILD_RECORD_UPLOAD?re.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD):!0}o(A5t,"buildRecordUploadEnabled");function m5t(){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(m5t,"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
|
|
||||||
+4206
-1029
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.19.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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+140
-88
@@ -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.`);
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.secretEnvs, async secretEnv => {
|
args.push('--call', inputs.call);
|
||||||
|
}
|
||||||
|
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 if ((await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !BuildxInputs.hasDockerExporter(inputs.outputs, inputs.load)) {
|
|
||||||
// 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 {
|
} else {
|
||||||
// for a public repository, we set max provenance mode.
|
core.warning("Attestations are only supported by buildx >= 0.10.0; the inputs 'attests', 'provenance' and 'sbom' are ignored.");
|
||||||
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;
|
||||||
|
}
|
||||||
+185
-18
@@ -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 () => {
|
||||||
|
try {
|
||||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
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