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

|
||||||
|
|
||||||
|
The summary also includes a link for downloading the build record with
|
||||||
|
additional details about the build, including build stats, logs, outputs, and
|
||||||
|
more. The build record can be imported to Docker Desktop for inspecting the
|
||||||
|
build in greater detail.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
>
|
||||||
|
> If you're using the [`actions/download-artifact`](https://github.com/actions/download-artifact)
|
||||||
|
> action in your workflow, you need to ignore the build record artifacts
|
||||||
|
> if `name` and `pattern` inputs are not specified ([defaults to download all artifacts](https://github.com/actions/download-artifact?tab=readme-ov-file#download-all-artifacts) of the workflow),
|
||||||
|
> otherwise the action will fail:
|
||||||
|
> ```yaml
|
||||||
|
> - uses: actions/download-artifact@v4
|
||||||
|
> with:
|
||||||
|
> pattern: "!*.dockerbuild"
|
||||||
|
> ```
|
||||||
|
> More info: https://github.com/actions/toolkit/pull/1874
|
||||||
|
|
||||||
|
Summaries are enabled by default, but can be disabled with the
|
||||||
|
`DOCKER_BUILD_SUMMARY` [environment variable](#environment-variables).
|
||||||
|
|
||||||
|
For more information about summaries, refer to the
|
||||||
|
[documentation](https://docs.docker.com/go/build-summary/).
|
||||||
|
|
||||||
## Customizing
|
## Customizing
|
||||||
|
|
||||||
### inputs
|
### inputs
|
||||||
|
|
||||||
Following inputs can be used as `step.with` keys
|
The following inputs can be used as `step.with` keys:
|
||||||
|
|
||||||
> `List` type is a newline-delimited string
|
> `List` type is a newline-delimited string
|
||||||
> ```yaml
|
> ```yaml
|
||||||
@@ -224,6 +234,7 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `build-contexts` | List | List of additional [build contexts](https://docs.docker.com/engine/reference/commandline/buildx_build/#build-context) (e.g., `name=path`) |
|
| `build-contexts` | List | List of additional [build contexts](https://docs.docker.com/engine/reference/commandline/buildx_build/#build-context) (e.g., `name=path`) |
|
||||||
| `cache-from` | List | List of [external cache sources](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-from) (e.g., `type=local,src=path/to/dir`) |
|
| `cache-from` | List | List of [external cache sources](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-from) (e.g., `type=local,src=path/to/dir`) |
|
||||||
| `cache-to` | List | List of [cache export destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to) (e.g., `type=local,dest=path/to/dir`) |
|
| `cache-to` | List | List of [cache export destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#cache-to) (e.g., `type=local,dest=path/to/dir`) |
|
||||||
|
| `call` | String | Set [method for evaluating build](https://docs.docker.com/reference/cli/docker/buildx/build/#call) (e.g., `check`) |
|
||||||
| `cgroup-parent` | String | Optional [parent cgroup](https://docs.docker.com/engine/reference/commandline/build/#use-a-custom-parent-cgroup---cgroup-parent) for the container used in the build |
|
| `cgroup-parent` | String | Optional [parent cgroup](https://docs.docker.com/engine/reference/commandline/build/#use-a-custom-parent-cgroup---cgroup-parent) for the container used in the build |
|
||||||
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
||||||
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
|
| `file` | String | Path to the Dockerfile. (default `{context}/Dockerfile`) |
|
||||||
@@ -232,15 +243,15 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `network` | String | Set the networking mode for the `RUN` instructions during build |
|
| `network` | String | Set the networking mode for the `RUN` instructions during build |
|
||||||
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
||||||
| `no-cache-filters` | List/CSV | Do not cache specified stages |
|
| `no-cache-filters` | List/CSV | Do not cache specified stages |
|
||||||
| `outputs`¹ | List | List of [output destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#output) (format: `type=local,dest=path`) |
|
| `outputs` | List | List of [output destinations](https://docs.docker.com/engine/reference/commandline/buildx_build/#output) (format: `type=local,dest=path`) |
|
||||||
| `platforms` | List/CSV | List of [target platforms](https://docs.docker.com/engine/reference/commandline/buildx_build/#platform) for build |
|
| `platforms` | List/CSV | List of [target platforms](https://docs.docker.com/engine/reference/commandline/buildx_build/#platform) for build |
|
||||||
| `provenance` | Bool/String | Generate [provenance](https://docs.docker.com/build/attestations/slsa-provenance/) attestation for the build (shorthand for `--attest=type=provenance`) |
|
| `provenance` | Bool/String | Generate [provenance](https://docs.docker.com/build/attestations/slsa-provenance/) attestation for the build (shorthand for `--attest=type=provenance`) |
|
||||||
| `pull` | Bool | Always attempt to pull all referenced images (default `false`) |
|
| `pull` | Bool | Always attempt to pull all referenced images (default `false`) |
|
||||||
| `push` | Bool | [Push](https://docs.docker.com/engine/reference/commandline/buildx_build/#push) is a shorthand for `--output=type=registry` (default `false`) |
|
| `push` | Bool | [Push](https://docs.docker.com/engine/reference/commandline/buildx_build/#push) is a shorthand for `--output=type=registry` (default `false`) |
|
||||||
| `sbom` | Bool/String | Generate [SBOM](https://docs.docker.com/build/attestations/sbom/) attestation for the build (shorthand for `--attest=type=sbom`) |
|
| `sbom` | Bool/String | Generate [SBOM](https://docs.docker.com/build/attestations/sbom/) attestation for the build (shorthand for `--attest=type=sbom`) |
|
||||||
| `secrets` | List | List of [secrets](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=string`, `GIT_AUTH_TOKEN=mytoken`) |
|
| `secrets` | List | List of [secrets](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=string`, `GIT_AUTH_TOKEN=mytoken`) |
|
||||||
| `secret-envs` | List/CSV | List of [secret env vars](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=envname`, `MY_SECRET=MY_ENV_VAR`) |
|
| `secret-envs` | List/CSV | List of [secret env vars](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=envname`, `MY_SECRET=MY_ENV_VAR`) |
|
||||||
| `secret-files` | List | List of [secret files](https://docs.docker.com/engine/reference/commandline/buildx_build/#secret) to expose to the build (e.g., `key=filename`, `MY_SECRET=./secret.txt`) |
|
| `secret-files` | List | List of [secret files](https://docs.docker.com/build/ci/github-actions/secrets/) to expose to the build (e.g., `key=filename`, `MY_SECRET=./secret.txt`) |
|
||||||
| `shm-size` | String | Size of [`/dev/shm`](https://docs.docker.com/engine/reference/commandline/buildx_build/#shm-size) (e.g., `2g`) |
|
| `shm-size` | String | Size of [`/dev/shm`](https://docs.docker.com/engine/reference/commandline/buildx_build/#shm-size) (e.g., `2g`) |
|
||||||
| `ssh` | List | List of [SSH agent socket or keys](https://docs.docker.com/engine/reference/commandline/buildx_build/#ssh) to expose to the build |
|
| `ssh` | List | List of [SSH agent socket or keys](https://docs.docker.com/engine/reference/commandline/buildx_build/#ssh) to expose to the build |
|
||||||
| `tags` | List/CSV | List of tags |
|
| `tags` | List/CSV | List of tags |
|
||||||
@@ -248,10 +259,6 @@ Following inputs can be used as `step.with` keys
|
|||||||
| `ulimit` | List | [Ulimit](https://docs.docker.com/engine/reference/commandline/buildx_build/#ulimit) options (e.g., `nofile=1024:1024`) |
|
| `ulimit` | List | [Ulimit](https://docs.docker.com/engine/reference/commandline/buildx_build/#ulimit) options (e.g., `nofile=1024:1024`) |
|
||||||
| `github-token` | String | GitHub Token used to authenticate against a repository for [Git context](#git-context) (default `${{ github.token }}`) |
|
| `github-token` | String | GitHub Token used to authenticate against a repository for [Git context](#git-context) (default `${{ github.token }}`) |
|
||||||
|
|
||||||
> **Note**
|
|
||||||
>
|
|
||||||
> * ¹ multiple `outputs` are [not yet supported](https://github.com/moby/buildkit/issues/1555)
|
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
|
|
||||||
The following outputs are available:
|
The following outputs are available:
|
||||||
@@ -262,6 +269,15 @@ The following outputs are available:
|
|||||||
| `digest` | String | Image digest |
|
| `digest` | String | Image digest |
|
||||||
| `metadata` | JSON | Build result metadata |
|
| `metadata` | JSON | Build result metadata |
|
||||||
|
|
||||||
|
### environment variables
|
||||||
|
|
||||||
|
| Name | Type | Default | Description |
|
||||||
|
|--------------------------------------|--------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| `DOCKER_BUILD_CHECKS_ANNOTATIONS` | Bool | `true` | If `false`, GitHub annotations are not generated for [build checks](https://docs.docker.com/build/checks/) |
|
||||||
|
| `DOCKER_BUILD_SUMMARY` | Bool | `true` | If `false`, [build summary](https://docs.docker.com/build/ci/github-actions/build-summary/) generation is disabled |
|
||||||
|
| `DOCKER_BUILD_RECORD_UPLOAD` | Bool | `true` | If `false`, build record upload as [GitHub artifact](https://docs.github.com/en/actions/using-workflows/storing-workflow-data-as-artifacts) is disabled |
|
||||||
|
| `DOCKER_BUILD_RECORD_RETENTION_DAYS` | Number | | Duration after which build record artifact will expire in days. Defaults to repository/org [retention settings](https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#artifact-and-log-retention-policy) if unset or `0` |
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
See [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
|
||||||
|
|||||||
+4
-85
@@ -1,10 +1,7 @@
|
|||||||
# Troubleshooting
|
# Troubleshooting
|
||||||
|
|
||||||
* [Cannot push to a registry](#cannot-push-to-a-registry)
|
* [Cannot push to a registry](#cannot-push-to-a-registry)
|
||||||
* [BuildKit container logs](#buildkit-container-logs)
|
|
||||||
* [With containerd](#with-containerd)
|
|
||||||
* [`repository name must be lowercase`](#repository-name-must-be-lowercase)
|
* [`repository name must be lowercase`](#repository-name-must-be-lowercase)
|
||||||
* [Image not loaded](#image-not-loaded)
|
|
||||||
|
|
||||||
## Cannot push to a registry
|
## Cannot push to a registry
|
||||||
|
|
||||||
@@ -22,59 +19,9 @@ These issues are not directly related to this action but are rather linked to
|
|||||||
you're pushing your image. The quality of error message depends on the registry
|
you're pushing your image. The quality of error message depends on the registry
|
||||||
and are usually not very informative.
|
and are usually not very informative.
|
||||||
|
|
||||||
### BuildKit container logs
|
|
||||||
|
|
||||||
To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs)
|
To help you solve this, you have to [enable debugging in the setup-buildx](https://github.com/docker/setup-buildx-action#buildkit-container-logs)
|
||||||
action step and attach BuildKit container logs to your issue.
|
action step and attach BuildKit container logs to your issue.
|
||||||
|
|
||||||
### With containerd
|
|
||||||
|
|
||||||
Next you can test pushing with [containerd action](https://github.com/crazy-max/ghaction-setup-containerd)
|
|
||||||
using the following workflow. If it works then open an issue on [BuildKit](https://github.com/moby/buildkit)
|
|
||||||
repository.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: containerd
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
containerd:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
-
|
|
||||||
name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
-
|
|
||||||
name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3
|
|
||||||
-
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
buildkitd-flags: --debug
|
|
||||||
-
|
|
||||||
name: Set up containerd
|
|
||||||
uses: crazy-max/ghaction-setup-containerd@v2
|
|
||||||
-
|
|
||||||
name: Build Docker image
|
|
||||||
uses: docker/build-push-action@v5
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
||||||
tags: docker.io/user/app:latest
|
|
||||||
outputs: type=oci,dest=/tmp/image.tar
|
|
||||||
-
|
|
||||||
name: Import image in containerd
|
|
||||||
run: |
|
|
||||||
sudo ctr i import --base-name docker.io/user/app --digests --all-platforms /tmp/image.tar
|
|
||||||
-
|
|
||||||
name: Push image with containerd
|
|
||||||
run: |
|
|
||||||
sudo ctr --debug i push --user "${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }}" docker.io/user/app:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
## `repository name must be lowercase`
|
## `repository name must be lowercase`
|
||||||
|
|
||||||
You may encounter this issue if you're using `github.repository` as a repo slug
|
You may encounter this issue if you're using `github.repository` as a repo slug
|
||||||
@@ -106,15 +53,14 @@ to generate sanitized tags:
|
|||||||
```yaml
|
```yaml
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v6
|
||||||
with:
|
with:
|
||||||
images: ghcr.io/${{ github.repository }}
|
images: ghcr.io/${{ github.repository }}
|
||||||
tags: latest
|
tags: latest
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: .
|
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
```
|
```
|
||||||
@@ -123,42 +69,15 @@ Or a dedicated step to sanitize the slug:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Sanitize repo slug
|
- name: Sanitize repo slug
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v8
|
||||||
id: repo_slug
|
id: repo_slug
|
||||||
with:
|
with:
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
|
script: return 'ghcr.io/${{ github.repository }}'.toLowerCase()
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v7
|
||||||
with:
|
with:
|
||||||
context: .
|
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.repo_slug.outputs.result }}:latest
|
tags: ${{ steps.repo_slug.outputs.result }}:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Image not loaded
|
|
||||||
|
|
||||||
Sometimes when your workflows are heavy consumers of disk storage, it can happen that build-push-action declares that the built image is loaded, but then not found in the following workflow steps.
|
|
||||||
|
|
||||||
- You can use the following solution as workaround, to free space on disk before building docker image using the following workflow step
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Free disk space
|
|
||||||
- name: Free Disk space
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
|
|
||||||
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
|
|
||||||
```
|
|
||||||
|
|
||||||
- Another workaround can be to call `docker/setup-buildx-action` with docker driver
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
driver: docker
|
|
||||||
```
|
|
||||||
|
|
||||||
More details in the [related issue](https://github.com/docker/build-push-action/issues/321)
|
|
||||||
@@ -1,207 +0,0 @@
|
|||||||
import {jest} from '@jest/globals';
|
|
||||||
|
|
||||||
export const context = {
|
|
||||||
repo: {
|
|
||||||
owner: 'docker',
|
|
||||||
repo: 'build-push-action'
|
|
||||||
},
|
|
||||||
ref: 'refs/heads/master',
|
|
||||||
runId: 123456789,
|
|
||||||
payload: {
|
|
||||||
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
base_ref: null,
|
|
||||||
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
|
|
||||||
commits: [
|
|
||||||
{
|
|
||||||
author: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
committer: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
distinct: true,
|
|
||||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
message: 'hello dev',
|
|
||||||
timestamp: '2022-04-19T11:27:24+02:00',
|
|
||||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
|
||||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
|
|
||||||
created: false,
|
|
||||||
deleted: false,
|
|
||||||
forced: false,
|
|
||||||
head_commit: {
|
|
||||||
author: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
committer: {
|
|
||||||
email: 'crazy-max@users.noreply.github.com',
|
|
||||||
name: 'CrazyMax',
|
|
||||||
username: 'crazy-max'
|
|
||||||
},
|
|
||||||
distinct: true,
|
|
||||||
id: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
|
||||||
message: 'hello dev',
|
|
||||||
timestamp: '2022-04-19T11:27:24+02:00',
|
|
||||||
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
|
|
||||||
url: 'https://github.com/docker/test-docker-action/commit/860c1904a1ce19322e91ac35af1ab07466440c37'
|
|
||||||
},
|
|
||||||
organization: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
|
||||||
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
|
|
||||||
events_url: 'https://api.github.com/orgs/docker/events',
|
|
||||||
hooks_url: 'https://api.github.com/orgs/docker/hooks',
|
|
||||||
id: 5429470,
|
|
||||||
issues_url: 'https://api.github.com/orgs/docker/issues',
|
|
||||||
login: 'docker',
|
|
||||||
members_url: 'https://api.github.com/orgs/docker/members{/member}',
|
|
||||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
|
||||||
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
|
|
||||||
repos_url: 'https://api.github.com/orgs/docker/repos',
|
|
||||||
url: 'https://api.github.com/orgs/docker'
|
|
||||||
},
|
|
||||||
pusher: {
|
|
||||||
email: 'github@crazymax.dev',
|
|
||||||
name: 'crazy-max'
|
|
||||||
},
|
|
||||||
ref: 'refs/heads/dev',
|
|
||||||
repository: {
|
|
||||||
allow_forking: true,
|
|
||||||
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
|
|
||||||
archived: false,
|
|
||||||
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
|
|
||||||
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
|
|
||||||
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
|
|
||||||
clone_url: 'https://github.com/docker/test-docker-action.git',
|
|
||||||
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
|
|
||||||
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
|
|
||||||
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
|
|
||||||
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
|
|
||||||
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
|
|
||||||
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
|
|
||||||
created_at: 1596792180,
|
|
||||||
default_branch: 'master',
|
|
||||||
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
|
|
||||||
description: 'Test "Docker" Actions',
|
|
||||||
disabled: false,
|
|
||||||
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
|
|
||||||
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
|
|
||||||
fork: false,
|
|
||||||
forks: 1,
|
|
||||||
forks_count: 1,
|
|
||||||
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
|
|
||||||
full_name: 'docker/test-docker-action',
|
|
||||||
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
|
|
||||||
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
|
|
||||||
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
|
|
||||||
git_url: 'git://github.com/docker/test-docker-action.git',
|
|
||||||
has_downloads: true,
|
|
||||||
has_issues: true,
|
|
||||||
has_pages: false,
|
|
||||||
has_projects: true,
|
|
||||||
has_wiki: true,
|
|
||||||
homepage: '',
|
|
||||||
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
|
|
||||||
html_url: 'https://github.com/docker/test-docker-action',
|
|
||||||
id: 285789493,
|
|
||||||
is_template: false,
|
|
||||||
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
|
|
||||||
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
|
|
||||||
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
|
|
||||||
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
|
|
||||||
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
|
|
||||||
language: 'JavaScript',
|
|
||||||
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
|
|
||||||
license: {
|
|
||||||
key: 'mit',
|
|
||||||
name: 'MIT License',
|
|
||||||
node_id: 'MDc6TGljZW5zZTEz',
|
|
||||||
spdx_id: 'MIT',
|
|
||||||
url: 'https://api.github.com/licenses/mit'
|
|
||||||
},
|
|
||||||
master_branch: 'master',
|
|
||||||
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
|
|
||||||
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
|
|
||||||
mirror_url: null,
|
|
||||||
name: 'test-docker-action',
|
|
||||||
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
|
|
||||||
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
|
|
||||||
open_issues: 6,
|
|
||||||
open_issues_count: 6,
|
|
||||||
organization: 'docker',
|
|
||||||
owner: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
|
|
||||||
email: 'info@docker.com',
|
|
||||||
events_url: 'https://api.github.com/users/docker/events{/privacy}',
|
|
||||||
followers_url: 'https://api.github.com/users/docker/followers',
|
|
||||||
following_url: 'https://api.github.com/users/docker/following{/other_user}',
|
|
||||||
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
|
|
||||||
gravatar_id: '',
|
|
||||||
html_url: 'https://github.com/docker',
|
|
||||||
id: 5429470,
|
|
||||||
login: 'docker',
|
|
||||||
name: 'docker',
|
|
||||||
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
|
|
||||||
organizations_url: 'https://api.github.com/users/docker/orgs',
|
|
||||||
received_events_url: 'https://api.github.com/users/docker/received_events',
|
|
||||||
repos_url: 'https://api.github.com/users/docker/repos',
|
|
||||||
site_admin: false,
|
|
||||||
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
|
|
||||||
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
|
|
||||||
type: 'Organization',
|
|
||||||
url: 'https://api.github.com/users/docker'
|
|
||||||
},
|
|
||||||
private: true,
|
|
||||||
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
|
|
||||||
pushed_at: 1650360446,
|
|
||||||
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
|
|
||||||
size: 796,
|
|
||||||
ssh_url: 'git@github.com:docker/test-docker-action.git',
|
|
||||||
stargazers: 0,
|
|
||||||
stargazers_count: 0,
|
|
||||||
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
|
|
||||||
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
|
|
||||||
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
|
|
||||||
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
|
|
||||||
svn_url: 'https://github.com/docker/test-docker-action',
|
|
||||||
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
|
|
||||||
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
|
|
||||||
topics: [],
|
|
||||||
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
|
|
||||||
updated_at: '2022-04-19T09:05:09Z',
|
|
||||||
url: 'https://github.com/docker/test-docker-action',
|
|
||||||
visibility: 'private',
|
|
||||||
watchers: 0,
|
|
||||||
watchers_count: 0
|
|
||||||
},
|
|
||||||
sender: {
|
|
||||||
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
|
|
||||||
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
|
|
||||||
followers_url: 'https://api.github.com/users/crazy-max/followers',
|
|
||||||
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
|
|
||||||
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
|
|
||||||
gravatar_id: '',
|
|
||||||
html_url: 'https://github.com/crazy-max',
|
|
||||||
id: 1951866,
|
|
||||||
login: 'crazy-max',
|
|
||||||
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
|
|
||||||
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
|
|
||||||
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
|
|
||||||
repos_url: 'https://api.github.com/users/crazy-max/repos',
|
|
||||||
site_admin: false,
|
|
||||||
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
|
|
||||||
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
|
|
||||||
type: 'User',
|
|
||||||
url: 'https://api.github.com/users/crazy-max'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getOctokit = jest.fn();
|
|
||||||
+407
-130
@@ -1,60 +1,58 @@
|
|||||||
import {beforeEach, describe, expect, jest, test} from '@jest/globals';
|
import {afterEach, beforeEach, describe, expect, test, vi} from 'vitest';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
import * as os from 'os';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder';
|
|
||||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
|
||||||
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/builder';
|
|
||||||
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github';
|
|
||||||
|
|
||||||
import * as context from '../src/context';
|
import {Builder} from '@docker/actions-toolkit/lib/buildx/builder.js';
|
||||||
|
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||||
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
|
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||||
|
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||||
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
|
|
||||||
const tmpDir = path.join('/tmp', '.docker-build-push-jest');
|
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||||
const tmpName = path.join(tmpDir, '.tmpname-jest');
|
|
||||||
|
|
||||||
import repoFixture from './fixtures/github-repo.json';
|
const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
|
||||||
jest.spyOn(GitHub.prototype, 'repoData').mockImplementation((): Promise<GitHubRepo> => {
|
const tmpName = path.join(tmpDir, '.tmpname-vi');
|
||||||
return <Promise<GitHubRepo>>(repoFixture as unknown);
|
const fixturesDir = path.join(__dirname, 'fixtures');
|
||||||
});
|
|
||||||
|
|
||||||
jest.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
|
||||||
if (!fs.existsSync(tmpDir)) {
|
if (!fs.existsSync(tmpDir)) {
|
||||||
fs.mkdirSync(tmpDir, {recursive: true});
|
fs.mkdirSync(tmpDir, {recursive: true});
|
||||||
}
|
}
|
||||||
return tmpDir;
|
return tmpDir;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
|
||||||
return tmpName;
|
return tmpName;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
vi.spyOn(Docker, 'isAvailable').mockImplementation(async (): Promise<boolean> => {
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
jest.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
const metadataJson = path.join(tmpDir, 'metadata.json');
|
||||||
|
vi.spyOn(Build.prototype, 'getMetadataFilePath').mockImplementation((): string => {
|
||||||
|
return metadataJson;
|
||||||
|
});
|
||||||
|
|
||||||
|
const imageIDFilePath = path.join(tmpDir, 'iidfile.txt');
|
||||||
|
vi.spyOn(Build.prototype, 'getImageIDFilePath').mockImplementation((): string => {
|
||||||
|
return imageIDFilePath;
|
||||||
|
});
|
||||||
|
|
||||||
|
type BuilderInfoFixture = Omit<BuilderInfo, 'lastActivity'> & {lastActivity: string};
|
||||||
|
const builderInfoFixture = <BuilderInfoFixture>JSON.parse(fs.readFileSync(path.join(fixturesDir, 'builder-info.json'), {encoding: 'utf-8'}).trim());
|
||||||
|
vi.spyOn(Builder.prototype, 'inspect').mockImplementation(async (): Promise<BuilderInfo> => {
|
||||||
return {
|
return {
|
||||||
name: 'builder2',
|
...builderInfoFixture,
|
||||||
driver: 'docker-container',
|
lastActivity: new Date(builderInfoFixture.lastActivity)
|
||||||
lastActivity: new Date('2023-01-16 09:45:23 +0000 UTC'),
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
buildkit: 'v0.11.0',
|
|
||||||
'buildkitd-flags': '--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
|
|
||||||
'driver-opts': ['BUILDKIT_STEP_LOG_MAX_SIZE=10485760', 'BUILDKIT_STEP_LOG_MAX_SPEED=10485760', 'JAEGER_TRACE=localhost:6831', 'image=moby/buildkit:latest', 'network=host'],
|
|
||||||
endpoint: 'unix:///var/run/docker.sock',
|
|
||||||
name: 'builder20',
|
|
||||||
platforms: 'linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6',
|
|
||||||
status: 'running'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('getArgs', () => {
|
describe('getInputs', () => {
|
||||||
|
const originalEnv = process.env;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
process.env = Object.keys(process.env).reduce((object, key) => {
|
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||||
if (!key.startsWith('INPUT_')) {
|
if (!key.startsWith('INPUT_')) {
|
||||||
@@ -64,6 +62,74 @@ describe('getArgs', () => {
|
|||||||
}, {});
|
}, {});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
process.env = originalEnv;
|
||||||
|
});
|
||||||
|
|
||||||
|
function setRequiredBooleanInputs(): void {
|
||||||
|
setInput('load', 'false');
|
||||||
|
setInput('no-cache', 'false');
|
||||||
|
setInput('push', 'false');
|
||||||
|
setInput('pull', 'false');
|
||||||
|
}
|
||||||
|
|
||||||
|
test('uses Build git context when context input is empty', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git?ref=refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
const context = await loadContextModule();
|
||||||
|
const inputs = await context.getInputs();
|
||||||
|
expect(inputs.context).toBe(gitContext);
|
||||||
|
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('renders defaultContext templates from Build git context', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git#refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
setInput('context', '{{defaultContext}}:subdir');
|
||||||
|
const context = await loadContextModule();
|
||||||
|
const inputs = await context.getInputs();
|
||||||
|
expect(inputs.context).toBe(`${gitContext}:subdir`);
|
||||||
|
expect(gitContextSpy).toHaveBeenCalledTimes(1);
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('requests untrimmed secrets input explicitly', async () => {
|
||||||
|
const gitContext = 'https://github.com/docker/build-push-action.git#refs/heads/master';
|
||||||
|
const gitContextSpy = vi.spyOn(Build.prototype, 'gitContext').mockResolvedValue(gitContext);
|
||||||
|
const getInputList = vi.fn().mockReturnValue([]);
|
||||||
|
vi.resetModules();
|
||||||
|
vi.doMock('@docker/actions-toolkit/lib/util.js', () => ({
|
||||||
|
Util: {
|
||||||
|
getInputList
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
setRequiredBooleanInputs();
|
||||||
|
setInput('secrets', `"PRIVATE_SSH_KEY=test\n\n"`);
|
||||||
|
const context = await import('../src/context.js');
|
||||||
|
await context.getInputs();
|
||||||
|
expect(getInputList).toHaveBeenCalledWith('secrets', {ignoreComma: true, trimWhitespace: false});
|
||||||
|
vi.doUnmock('@docker/actions-toolkit/lib/util.js');
|
||||||
|
gitContextSpy.mockRestore();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('getArgs', () => {
|
||||||
|
const originalEnv = process.env;
|
||||||
|
beforeEach(() => {
|
||||||
|
process.env = Object.keys(process.env).reduce((object, key) => {
|
||||||
|
if (!key.startsWith('INPUT_')) {
|
||||||
|
object[key] = process.env[key];
|
||||||
|
}
|
||||||
|
return object;
|
||||||
|
}, {});
|
||||||
|
});
|
||||||
|
afterEach(() => {
|
||||||
|
process.env = originalEnv;
|
||||||
|
});
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
test.each([
|
test.each([
|
||||||
[
|
[
|
||||||
@@ -78,9 +144,10 @@ describe('getArgs', () => {
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
1,
|
1,
|
||||||
@@ -101,9 +168,10 @@ ccc"`],
|
|||||||
'--build-arg', 'MY_ARG=val1,val2,val3',
|
'--build-arg', 'MY_ARG=val1,val2,val3',
|
||||||
'--build-arg', 'ARG=val',
|
'--build-arg', 'ARG=val',
|
||||||
'--build-arg', `MULTILINE=aaaa\nbbbb\nccc`,
|
'--build-arg', `MULTILINE=aaaa\nbbbb\nccc`,
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
2,
|
2,
|
||||||
@@ -117,11 +185,12 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--tag', 'name/app:7.4',
|
'--tag', 'name/app:7.4',
|
||||||
'--tag', 'name/app:latest',
|
'--tag', 'name/app:latest',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
3,
|
3,
|
||||||
@@ -141,7 +210,8 @@ ccc"`],
|
|||||||
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
4,
|
4,
|
||||||
@@ -158,7 +228,8 @@ ccc"`],
|
|||||||
'build',
|
'build',
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
5,
|
5,
|
||||||
@@ -172,9 +243,10 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
6,
|
6,
|
||||||
@@ -189,10 +261,11 @@ ccc"`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
7,
|
7,
|
||||||
@@ -208,9 +281,10 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--output', '.',
|
'--output', '.',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
8,
|
8,
|
||||||
@@ -230,13 +304,14 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
9,
|
9,
|
||||||
@@ -264,7 +339,7 @@ ccc"`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--secret', `id=MYSECRET,src=${tmpName}`,
|
'--secret', `id=MYSECRET,src=${tmpName}`,
|
||||||
@@ -273,7 +348,8 @@ ccc"`],
|
|||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
10,
|
10,
|
||||||
@@ -301,7 +377,7 @@ ccc`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--platform', 'linux/amd64,linux/arm64',
|
'--platform', 'linux/amd64,linux/arm64',
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
||||||
'--secret', `id=MYSECRET,src=${tmpName}`,
|
'--secret', `id=MYSECRET,src=${tmpName}`,
|
||||||
@@ -310,7 +386,8 @@ ccc`],
|
|||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
11,
|
11,
|
||||||
@@ -318,7 +395,7 @@ ccc`],
|
|||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', 'https://github.com/docker/build-push-action.git#refs/heads/master'],
|
['context', 'https://github.com/docker/build-push-action.git#refs/heads/master'],
|
||||||
['tag', 'localhost:5000/name/app:latest'],
|
['tag', 'localhost:5000/name/app:latest'],
|
||||||
['secret-files', `MY_SECRET=${path.join(__dirname, 'fixtures', 'secret.txt')}`],
|
['secret-files', `MY_SECRET=${path.join(fixturesDir, 'secret.txt')}`],
|
||||||
['file', './test/Dockerfile'],
|
['file', './test/Dockerfile'],
|
||||||
['builder', 'builder-git-context-2'],
|
['builder', 'builder-git-context-2'],
|
||||||
['network', 'host'],
|
['network', 'host'],
|
||||||
@@ -330,13 +407,14 @@ ccc`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=MY_SECRET,src=${tmpName}`,
|
'--secret', `id=MY_SECRET,src=${path.join(fixturesDir, 'secret.txt')}`,
|
||||||
'--builder', 'builder-git-context-2',
|
'--builder', 'builder-git-context-2',
|
||||||
'--network', 'host',
|
'--network', 'host',
|
||||||
'--push',
|
'--push',
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
12,
|
12,
|
||||||
@@ -356,7 +434,8 @@ ccc`],
|
|||||||
'--label', 'org.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"',
|
'--label', 'org.opencontainers.image.description=Reference implementation of operation "filter results (top-n)"',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
13,
|
13,
|
||||||
@@ -377,12 +456,13 @@ ccc`],
|
|||||||
'--add-host', 'docker:10.180.0.1',
|
'--add-host', 'docker:10.180.0.1',
|
||||||
'--add-host', 'foo:10.0.0.1',
|
'--add-host', 'foo:10.0.0.1',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'--network', 'host',
|
'--network', 'host',
|
||||||
'--push',
|
'--push',
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
14,
|
14,
|
||||||
@@ -406,13 +486,14 @@ nproc=3`],
|
|||||||
'--add-host', 'foo:10.0.0.1',
|
'--add-host', 'foo:10.0.0.1',
|
||||||
'--cgroup-parent', 'foo',
|
'--cgroup-parent', 'foo',
|
||||||
'--file', './test/Dockerfile',
|
'--file', './test/Dockerfile',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--shm-size', '2g',
|
'--shm-size', '2g',
|
||||||
'--ulimit', 'nofile=1024:1024',
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'--ulimit', 'nproc=3',
|
'--ulimit', 'nproc=3',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
15,
|
15,
|
||||||
@@ -426,10 +507,11 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master:docker'
|
'https://github.com/docker/build-push-action.git#refs/heads/master:docker'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
16,
|
16,
|
||||||
@@ -444,11 +526,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--secret', `id=GIT_AUTH_TOKEN,src=${tmpName}`,
|
'--secret', `id=GIT_AUTH_TOKEN.github.com,src=${tmpName}`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir'
|
'https://github.com/docker/build-push-action.git#refs/heads/master:subdir'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
17,
|
17,
|
||||||
@@ -463,10 +546,11 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
18,
|
18,
|
||||||
@@ -480,11 +564,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
19,
|
19,
|
||||||
@@ -499,11 +584,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
20,
|
20,
|
||||||
@@ -518,11 +604,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", `mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
21,
|
21,
|
||||||
@@ -537,11 +624,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", 'false',
|
'--attest', 'type=provenance,disabled=true',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
22,
|
22,
|
||||||
@@ -556,11 +644,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--provenance", 'builder-id=foo',
|
'--attest', 'type=provenance,builder-id=foo',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
23,
|
23,
|
||||||
@@ -575,11 +664,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--output", 'type=docker',
|
"--output", 'type=docker',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
24,
|
24,
|
||||||
@@ -593,11 +683,12 @@ nproc=3`],
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
25,
|
25,
|
||||||
@@ -613,14 +704,15 @@ nproc=3`],
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--build-arg', 'FOO=bar#baz',
|
'--build-arg', 'FOO=bar#baz',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
25,
|
26,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -635,14 +727,15 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'build',
|
'build',
|
||||||
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
||||||
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
26,
|
27,
|
||||||
'0.10.0',
|
'0.10.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -656,14 +749,15 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'build',
|
'build',
|
||||||
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
'--secret', 'id=MY_SECRET,env=MY_SECRET_ENV',
|
||||||
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
'--secret', 'id=ANOTHER_SECRET,env=ANOTHER_SECRET_ENV',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
'--load',
|
'--load',
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
27,
|
28,
|
||||||
'0.11.0',
|
'0.11.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -677,13 +771,14 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
28,
|
29,
|
||||||
'0.12.0',
|
'0.12.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -701,13 +796,14 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
'--annotation', 'manifest:example3=yyy',
|
'--annotation', 'manifest:example3=yyy',
|
||||||
'--annotation', 'manifest-descriptor[linux/amd64]:example4=zzz',
|
'--annotation', 'manifest-descriptor[linux/amd64]:example4=zzz',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
29,
|
30,
|
||||||
'0.12.0',
|
'0.12.0',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
@@ -719,23 +815,199 @@ ANOTHER_SECRET=ANOTHER_SECRET_ENV`]
|
|||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'build',
|
'build',
|
||||||
'--iidfile', path.join(tmpDir, 'iidfile'),
|
'--iidfile', imageIDFilePath,
|
||||||
"--output", `type=image,"name=localhost:5000/name/app:latest,localhost:5000/name/app:foo",push-by-digest=true,name-canonical=true,push=true`,
|
"--output", `type=image,"name=localhost:5000/name/app:latest,localhost:5000/name/app:foo",push-by-digest=true,name-canonical=true,push=true`,
|
||||||
"--provenance", `mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789`,
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
'--metadata-file', path.join(tmpDir, 'metadata-file'),
|
'--metadata-file', metadataJson,
|
||||||
'.'
|
'.'
|
||||||
]
|
],
|
||||||
]
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
31,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['provenance', 'mode=max'],
|
||||||
|
['sbom', 'true'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--attest', `type=sbom,disabled=false`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
32,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['attests', 'type=provenance,mode=min'],
|
||||||
|
['provenance', 'mode=max'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=max,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
33,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
['attests', 'type=provenance,mode=min'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
undefined
|
||||||
|
],
|
||||||
|
[
|
||||||
|
34,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['context', '.'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false']
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'.'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_NO_DEFAULT_ATTESTATIONS', '1']
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
35,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['github-token', 'abcdefghijklmno0123456789'],
|
||||||
|
['context', '{{defaultContext}}'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=http://10.0.0.5:22827/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--secret', `id=GIT_AUTH_TOKEN.10.0.0.5:22827,src=${tmpName}`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'http://10.0.0.5:22827/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['GITHUB_SERVER_URL', 'http://10.0.0.5:22827'],
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
36,
|
||||||
|
'0.13.1',
|
||||||
|
new Map<string, string>([
|
||||||
|
['github-token', 'abcdefghijklmno0123456789'],
|
||||||
|
['context', '{{defaultContext}}'],
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.cds.internal.unity3d.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--secret', `id=GIT_AUTH_TOKEN.github.cds.internal.unity3d.com,src=${tmpName}`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.cds.internal.unity3d.com/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['GITHUB_SERVER_URL', 'https://github.cds.internal.unity3d.com'],
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
37,
|
||||||
|
'0.29.0',
|
||||||
|
new Map<string, string>([
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.com/docker/build-push-action.git?ref=refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||||
|
])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
38,
|
||||||
|
'0.28.0',
|
||||||
|
new Map<string, string>([
|
||||||
|
['load', 'false'],
|
||||||
|
['no-cache', 'false'],
|
||||||
|
['push', 'false'],
|
||||||
|
['pull', 'false'],
|
||||||
|
]),
|
||||||
|
[
|
||||||
|
'build',
|
||||||
|
'--iidfile', imageIDFilePath,
|
||||||
|
'--attest', `type=provenance,mode=min,inline-only=true,builder-id=https://github.com/docker/build-push-action/actions/runs/123456789/attempts/1`,
|
||||||
|
'--metadata-file', metadataJson,
|
||||||
|
'https://github.com/docker/build-push-action.git#refs/heads/master'
|
||||||
|
],
|
||||||
|
new Map<string, string>([
|
||||||
|
['BUILDX_SEND_GIT_QUERY_AS_INPUT', 'true']
|
||||||
|
])
|
||||||
|
],
|
||||||
])(
|
])(
|
||||||
'[%d] given %p with %p as inputs, returns %p',
|
'[%d] given %o with %o as inputs, returns %o',
|
||||||
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
|
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>, envs: Map<string, string> | undefined) => {
|
||||||
|
if (envs) {
|
||||||
|
envs.forEach((value: string, name: string) => {
|
||||||
|
process.env[name] = value;
|
||||||
|
});
|
||||||
|
}
|
||||||
inputs.forEach((value: string, name: string) => {
|
inputs.forEach((value: string, name: string) => {
|
||||||
setInput(name, value);
|
setInput(name, value);
|
||||||
});
|
});
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
jest.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
|
||||||
return buildxVersion;
|
return buildxVersion;
|
||||||
});
|
});
|
||||||
|
const context = await loadContextModule();
|
||||||
const inp = await context.getInputs();
|
const inp = await context.getInputs();
|
||||||
const res = await context.getArgs(inp, toolkit);
|
const res = await context.getArgs(inp, toolkit);
|
||||||
expect(res).toEqual(expected);
|
expect(res).toEqual(expected);
|
||||||
@@ -751,3 +1023,8 @@ function getInputName(name: string): string {
|
|||||||
function setInput(name: string, value: string): void {
|
function setInput(name: string, value: string): void {
|
||||||
process.env[getInputName(name)] = value;
|
process.env[getInputName(name)] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function loadContextModule(): Promise<typeof import('../src/context.js')> {
|
||||||
|
vi.resetModules();
|
||||||
|
return await import('../src/context.js');
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "builder2",
|
||||||
|
"driver": "docker-container",
|
||||||
|
"lastActivity": "2023-01-16 09:45:23 +0000 UTC",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"buildkit": "v0.11.0",
|
||||||
|
"buildkitd-flags": "--debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
|
||||||
|
"driver-opts": [
|
||||||
|
"BUILDKIT_STEP_LOG_MAX_SIZE=10485760",
|
||||||
|
"BUILDKIT_STEP_LOG_MAX_SPEED=10485760",
|
||||||
|
"JAEGER_TRACE=localhost:6831",
|
||||||
|
"image=moby/buildkit:latest",
|
||||||
|
"network=host"
|
||||||
|
],
|
||||||
|
"endpoint": "unix:///var/run/docker.sock",
|
||||||
|
"name": "builder20",
|
||||||
|
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6",
|
||||||
|
"status": "running"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,362 +0,0 @@
|
|||||||
{
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"pull": true,
|
|
||||||
"triage": true,
|
|
||||||
"push": false,
|
|
||||||
"maintain": false,
|
|
||||||
"admin": false
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0,
|
|
||||||
"license": {
|
|
||||||
"key": "mit",
|
|
||||||
"name": "MIT License",
|
|
||||||
"spdx_id": "MIT",
|
|
||||||
"url": "https://api.github.com/licenses/mit",
|
|
||||||
"node_id": "MDc6TGljZW5zZW1pdA=="
|
|
||||||
},
|
|
||||||
"organization": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "Organization",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"parent": {
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"admin": false,
|
|
||||||
"push": false,
|
|
||||||
"pull": true
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0
|
|
||||||
},
|
|
||||||
"source": {
|
|
||||||
"id": 1296269,
|
|
||||||
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
|
|
||||||
"name": "Hello-World",
|
|
||||||
"full_name": "octocat/Hello-World",
|
|
||||||
"owner": {
|
|
||||||
"login": "octocat",
|
|
||||||
"id": 1,
|
|
||||||
"node_id": "MDQ6VXNlcjE=",
|
|
||||||
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/octocat",
|
|
||||||
"html_url": "https://github.com/octocat",
|
|
||||||
"followers_url": "https://api.github.com/users/octocat/followers",
|
|
||||||
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/octocat/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/octocat/repos",
|
|
||||||
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/octocat/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"private": false,
|
|
||||||
"html_url": "https://github.com/octocat/Hello-World",
|
|
||||||
"description": "This your first repo!",
|
|
||||||
"fork": false,
|
|
||||||
"url": "https://api.github.com/repos/octocat/Hello-World",
|
|
||||||
"archive_url": "http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
|
|
||||||
"assignees_url": "http://api.github.com/repos/octocat/Hello-World/assignees{/user}",
|
|
||||||
"blobs_url": "http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
|
|
||||||
"branches_url": "http://api.github.com/repos/octocat/Hello-World/branches{/branch}",
|
|
||||||
"collaborators_url": "http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
|
|
||||||
"comments_url": "http://api.github.com/repos/octocat/Hello-World/comments{/number}",
|
|
||||||
"commits_url": "http://api.github.com/repos/octocat/Hello-World/commits{/sha}",
|
|
||||||
"compare_url": "http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
|
|
||||||
"contents_url": "http://api.github.com/repos/octocat/Hello-World/contents/{+path}",
|
|
||||||
"contributors_url": "http://api.github.com/repos/octocat/Hello-World/contributors",
|
|
||||||
"deployments_url": "http://api.github.com/repos/octocat/Hello-World/deployments",
|
|
||||||
"downloads_url": "http://api.github.com/repos/octocat/Hello-World/downloads",
|
|
||||||
"events_url": "http://api.github.com/repos/octocat/Hello-World/events",
|
|
||||||
"forks_url": "http://api.github.com/repos/octocat/Hello-World/forks",
|
|
||||||
"git_commits_url": "http://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
|
|
||||||
"git_refs_url": "http://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
|
|
||||||
"git_tags_url": "http://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
|
|
||||||
"git_url": "git:github.com/octocat/Hello-World.git",
|
|
||||||
"issue_comment_url": "http://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
|
|
||||||
"issue_events_url": "http://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
|
|
||||||
"issues_url": "http://api.github.com/repos/octocat/Hello-World/issues{/number}",
|
|
||||||
"keys_url": "http://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
|
|
||||||
"labels_url": "http://api.github.com/repos/octocat/Hello-World/labels{/name}",
|
|
||||||
"languages_url": "http://api.github.com/repos/octocat/Hello-World/languages",
|
|
||||||
"merges_url": "http://api.github.com/repos/octocat/Hello-World/merges",
|
|
||||||
"milestones_url": "http://api.github.com/repos/octocat/Hello-World/milestones{/number}",
|
|
||||||
"notifications_url": "http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
|
|
||||||
"pulls_url": "http://api.github.com/repos/octocat/Hello-World/pulls{/number}",
|
|
||||||
"releases_url": "http://api.github.com/repos/octocat/Hello-World/releases{/id}",
|
|
||||||
"ssh_url": "git@github.com:octocat/Hello-World.git",
|
|
||||||
"stargazers_url": "http://api.github.com/repos/octocat/Hello-World/stargazers",
|
|
||||||
"statuses_url": "http://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
|
|
||||||
"subscribers_url": "http://api.github.com/repos/octocat/Hello-World/subscribers",
|
|
||||||
"subscription_url": "http://api.github.com/repos/octocat/Hello-World/subscription",
|
|
||||||
"tags_url": "http://api.github.com/repos/octocat/Hello-World/tags",
|
|
||||||
"teams_url": "http://api.github.com/repos/octocat/Hello-World/teams",
|
|
||||||
"trees_url": "http://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
|
|
||||||
"clone_url": "https://github.com/octocat/Hello-World.git",
|
|
||||||
"mirror_url": "git:git.example.com/octocat/Hello-World",
|
|
||||||
"hooks_url": "http://api.github.com/repos/octocat/Hello-World/hooks",
|
|
||||||
"svn_url": "https://svn.github.com/octocat/Hello-World",
|
|
||||||
"homepage": "https://github.com",
|
|
||||||
"language": null,
|
|
||||||
"forks_count": 9,
|
|
||||||
"stargazers_count": 80,
|
|
||||||
"watchers_count": 80,
|
|
||||||
"size": 108,
|
|
||||||
"default_branch": "master",
|
|
||||||
"open_issues_count": 0,
|
|
||||||
"is_template": true,
|
|
||||||
"topics": [
|
|
||||||
"octocat",
|
|
||||||
"atom",
|
|
||||||
"electron",
|
|
||||||
"api"
|
|
||||||
],
|
|
||||||
"has_issues": true,
|
|
||||||
"has_projects": true,
|
|
||||||
"has_wiki": true,
|
|
||||||
"has_pages": false,
|
|
||||||
"has_downloads": true,
|
|
||||||
"archived": false,
|
|
||||||
"disabled": false,
|
|
||||||
"visibility": "public",
|
|
||||||
"pushed_at": "2011-01-26T19:06:43Z",
|
|
||||||
"created_at": "2011-01-26T19:01:12Z",
|
|
||||||
"updated_at": "2011-01-26T19:14:43Z",
|
|
||||||
"permissions": {
|
|
||||||
"admin": false,
|
|
||||||
"push": false,
|
|
||||||
"pull": true
|
|
||||||
},
|
|
||||||
"allow_rebase_merge": true,
|
|
||||||
"template_repository": null,
|
|
||||||
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
|
|
||||||
"allow_squash_merge": true,
|
|
||||||
"delete_branch_on_merge": true,
|
|
||||||
"allow_merge_commit": true,
|
|
||||||
"subscribers_count": 42,
|
|
||||||
"network_count": 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import fs from 'node:fs';
|
||||||
|
import os from 'node:os';
|
||||||
|
import path from 'node:path';
|
||||||
|
import {vi} from 'vitest';
|
||||||
|
|
||||||
|
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-build-push-action-'));
|
||||||
|
|
||||||
|
const githubPayload = {
|
||||||
|
repository: {
|
||||||
|
private: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const githubEventPath = path.join(tmpDir, 'github-event.json');
|
||||||
|
fs.writeFileSync(githubEventPath, JSON.stringify(githubPayload));
|
||||||
|
|
||||||
|
process.env = Object.assign({}, process.env, {
|
||||||
|
TEMP: tmpDir,
|
||||||
|
GITHUB_REPOSITORY: 'docker/build-push-action',
|
||||||
|
GITHUB_REF: 'refs/heads/master',
|
||||||
|
GITHUB_RUN_ID: '123456789',
|
||||||
|
GITHUB_RUN_ATTEMPT: '1',
|
||||||
|
GITHUB_EVENT_PATH: githubEventPath,
|
||||||
|
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
|
||||||
|
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
|
||||||
|
});
|
||||||
|
|
||||||
|
vi.mock('@actions/github', () => ({
|
||||||
|
context: {
|
||||||
|
repo: {
|
||||||
|
owner: 'docker',
|
||||||
|
repo: 'build-push-action'
|
||||||
|
},
|
||||||
|
ref: 'refs/heads/master',
|
||||||
|
runId: 123456789,
|
||||||
|
payload: githubPayload
|
||||||
|
},
|
||||||
|
getOctokit: vi.fn()
|
||||||
|
}));
|
||||||
+6
-3
@@ -34,6 +34,9 @@ inputs:
|
|||||||
cache-to:
|
cache-to:
|
||||||
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
description: "List of cache export destinations for buildx (e.g., user/app:cache, type=local,dest=path/to/dir)"
|
||||||
required: false
|
required: false
|
||||||
|
call:
|
||||||
|
description: "Set method for evaluating build (e.g., check)"
|
||||||
|
required: false
|
||||||
cgroup-parent:
|
cgroup-parent:
|
||||||
description: "Optional parent cgroup for the container used in the build"
|
description: "Optional parent cgroup for the container used in the build"
|
||||||
required: false
|
required: false
|
||||||
@@ -118,6 +121,6 @@ outputs:
|
|||||||
description: 'Build result metadata'
|
description: 'Build result metadata'
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'node20'
|
using: 'node24'
|
||||||
main: 'dist/index.js'
|
main: 'dist/index.cjs'
|
||||||
post: 'dist/index.js'
|
post: 'dist/index.cjs'
|
||||||
+46
-26
@@ -1,69 +1,89 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
ARG NODE_VERSION=20
|
ARG NODE_VERSION=24
|
||||||
|
|
||||||
FROM node:${NODE_VERSION}-alpine AS base
|
FROM node:${NODE_VERSION}-alpine AS base
|
||||||
RUN apk add --no-cache cpio findutils git
|
RUN apk add --no-cache cpio findutils git rsync
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache <<EOT
|
||||||
|
set -e
|
||||||
|
corepack enable
|
||||||
|
yarn --version
|
||||||
|
yarn config set --home enableTelemetry 0
|
||||||
|
EOT
|
||||||
|
|
||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn install && mkdir /vendor && cp yarn.lock /vendor
|
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
|
||||||
|
|
||||||
FROM scratch AS vendor-update
|
FROM scratch AS vendor-update
|
||||||
COPY --from=deps /vendor /
|
COPY --from=deps /vendor /
|
||||||
|
|
||||||
FROM deps AS vendor-validate
|
FROM deps AS vendor-validate
|
||||||
RUN --mount=type=bind,target=.,rw <<EOT
|
RUN --mount=type=bind,target=.,rw <<EOT
|
||||||
set -e
|
set -e
|
||||||
git add -A
|
git add -A
|
||||||
cp -rf /vendor/* .
|
cp -rf /vendor/* .
|
||||||
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
|
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
|
||||||
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
|
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
|
||||||
git status --porcelain -- yarn.lock
|
git status --porcelain -- yarn.lock
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
FROM deps AS build
|
FROM deps AS build
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=target=/context \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
yarn run build && mkdir /out && cp -Rf dist /out/
|
--mount=type=cache,target=/src/node_modules <<EOT
|
||||||
|
set -e
|
||||||
|
rsync -a /context/. .
|
||||||
|
rm -rf dist
|
||||||
|
yarn run build
|
||||||
|
mkdir /out
|
||||||
|
cp -r dist /out
|
||||||
|
EOT
|
||||||
|
|
||||||
FROM scratch AS build-update
|
FROM scratch AS build-update
|
||||||
COPY --from=build /out /
|
COPY --from=build /out /
|
||||||
|
|
||||||
FROM build AS build-validate
|
FROM build AS build-validate
|
||||||
RUN --mount=type=bind,target=.,rw <<EOT
|
RUN --mount=target=/context \
|
||||||
set -e
|
--mount=target=.,type=tmpfs <<EOT
|
||||||
git add -A
|
set -e
|
||||||
cp -rf /out/* .
|
rsync -a /context/. .
|
||||||
if [ -n "$(git status --porcelain -- dist)" ]; then
|
git add -A
|
||||||
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
rm -rf dist
|
||||||
git status --porcelain -- dist
|
cp -rf /out/* .
|
||||||
exit 1
|
if [ -n "$(git status --porcelain -- dist)" ]; then
|
||||||
fi
|
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
|
||||||
|
git status --porcelain -- dist
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
FROM deps AS format
|
FROM deps AS format
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run format \
|
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
|
||||||
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
|
|
||||||
|
|
||||||
FROM scratch AS format-update
|
FROM scratch AS format-update
|
||||||
COPY --from=format /out /
|
COPY --from=format /out /
|
||||||
|
|
||||||
FROM deps AS lint
|
FROM deps AS lint
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run lint
|
yarn run lint
|
||||||
|
|
||||||
FROM deps AS test
|
FROM deps AS test
|
||||||
RUN --mount=type=bind,target=.,rw \
|
RUN --mount=type=bind,target=.,rw \
|
||||||
|
--mount=type=cache,target=/src/.yarn/cache \
|
||||||
--mount=type=cache,target=/src/node_modules \
|
--mount=type=cache,target=/src/node_modules \
|
||||||
yarn run test --coverage --coverageDirectory=/tmp/coverage
|
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
|
||||||
|
|
||||||
FROM scratch AS test-coverage
|
FROM scratch AS test-coverage
|
||||||
COPY --from=test /tmp/coverage /
|
COPY --from=test /tmp/coverage /
|
||||||
+392
@@ -0,0 +1,392 @@
|
|||||||
|
var XUe=Object.create;var yx=Object.defineProperty;var ZUe=Object.getOwnPropertyDescriptor;var eqe=Object.getOwnPropertyNames;var tqe=Object.getPrototypeOf,rqe=Object.prototype.hasOwnProperty;var o=(t,e)=>yx(t,"name",{value:e,configurable:!0});var A=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),nqe=(t,e)=>{for(var r in e)yx(t,r,{get:e[r],enumerable:!0})},iqe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of eqe(e))!rqe.call(t,i)&&i!==r&&yx(t,i,{get:()=>e[i],enumerable:!(n=ZUe(e,i))||n.enumerable});return t};var N=(t,e,r)=>(r=t!=null?XUe(tqe(t)):{},iqe(e||!t||!t.__esModule?yx(r,"default",{value:t,enumerable:!0}):r,t));var FZ=A(lm=>{"use strict";var o5t=require("net"),uqe=require("tls"),CL=require("http"),PZ=require("https"),dqe=require("events"),a5t=require("assert"),fqe=require("util");lm.httpOverHttp=hqe;lm.httpsOverHttp=pqe;lm.httpOverHttps=Aqe;lm.httpsOverHttps=mqe;function hqe(t){var e=new Au(t);return e.request=CL.request,e}o(hqe,"httpOverHttp");function pqe(t){var e=new Au(t);return e.request=CL.request,e.createSocket=OZ,e.defaultPort=443,e}o(pqe,"httpsOverHttp");function Aqe(t){var e=new Au(t);return e.request=PZ.request,e}o(Aqe,"httpOverHttps");function mqe(t){var e=new Au(t);return e.request=PZ.request,e.createSocket=OZ,e.defaultPort=443,e}o(mqe,"httpsOverHttps");function Au(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||CL.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",o(function(n,i,s,a){for(var c=LZ(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(Au,"TunnelingAgent");fqe.inherits(Au,dqe.EventEmitter);Au.prototype.addRequest=o(function(e,r,n,i){var s=this,a=bL({request:e},s.options,LZ(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");Au.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")),kd("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){kd("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){kd("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 kd("tunneling connection has established"),n.sockets[n.sockets.indexOf(i)]=h,r(h)}o(u,"onConnect");function d(f){a.removeAllListeners(),kd(`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");Au.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 OZ(t,e){var r=this;Au.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=uqe.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}o(OZ,"createSecureSocket");function LZ(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}o(LZ,"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 kd;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?kd=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"):kd=o(function(){},"debug");lm.debug=kd});var um=A((u5t,MZ)=>{MZ.exports=FZ()});var mr=A((d5t,UZ)=>{UZ.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 Tt=A((f5t,dee)=>{"use strict";var qZ=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[qZ]===!0}[qZ]=!0},GZ=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),IL=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[GZ]===!0}[GZ]=!0},HZ=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),wL=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[HZ]===!0}[HZ]=!0},VZ=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),SL=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[VZ]===!0}[VZ]=!0},zZ=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),BL=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(Ste,"isValidHeaderValue");function DGe(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(mGe.has(a)){i=a;break}}i!==""&&(t.referrerPolicy=i)}o(DGe,"setRequestReferrerPolicyOnRedirect");function QGe(){return"allowed"}o(QGe,"crossOriginResourcePolicyCheck");function kGe(){return"success"}o(kGe,"corsCheck");function PGe(){return"success"}o(PGe,"TAOCheck");function OGe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(OGe,"appendFetchMetadata");function LGe(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&&gF(t.origin)&&!gF(ab(t))&&(e=null);break;case"same-origin":Hx(t,ab(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(LGe,"appendRequestOriginHeader");function Cm(t,e){return t}o(Cm,"coarsenTime");function FGe(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(FGe,"clampAndCoarsenConnectionTimingInfo");function MGe(t){return Cm(bGe.now(),t)}o(MGe,"coarsenedSharedCurrentTime");function UGe(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(UGe,"createOpaqueTimingInfo");function Bte(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(Bte,"makePolicyContainer");function qGe(t){return{referrerPolicy:t.referrerPolicy}}o(qGe,"clonePolicyContainer");function GGe(t){let e=t.referrerPolicy;Rh(e);let r=null;if(t.referrer==="client"){let c=Ete();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=mF(r),i=mF(r,!0);n.toString().length>4096&&(n=i);let s=Hx(t,n),a=ob(n)&&!ob(t.url);switch(e){case"origin":return i??mF(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=ab(t);return Hx(n,c)?n:ob(n)&&!ob(c)?"no-referrer":i}default:return a?"no-referrer":i}}o(GGe,"determineRequestsReferrer");function mF(t,e){return Rh(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(mF,"stripURLForReferrer");function ob(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(ob,"isURLPotentiallyTrustworthy");function HGe(t,e){if(Gx===void 0)return!0;let r=xte(e);if(r==="no metadata"||r.length===0)return!0;let n=zGe(r),i=$Ge(r,n);for(let s of i){let a=s.algo,c=s.hash,l=Gx.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),jGe(l,c))return!0}return!1}o(HGe,"bytesMatch");var VGe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function xte(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let i=VGe.exec(n);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let s=i.groups.algo.toLowerCase();bte.includes(s)&&e.push(i.groups)}return r===!0?"no metadata":e}o(xte,"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 $Ge(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($Ge,"filterMetadataListByAlgorithm");function jGe(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(jGe,"compareBase64Mixed");function WGe(t){}o(WGe,"tryUpgr
Line truncated
|
||||||
|
`);function THe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(THe,"isAsciiString");function RHe(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(RHe,"validateBoundary");function DHe(t,e){zx(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),i=[],s={position:0};for(;t[s.position]===13&&t[s.position+1]===10;)s.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(s.position,s.position+n.length).equals(n))s.position+=n.length;else return"failure";if(s.position===t.length-2&&$x(t,NHe,s)||s.position===t.length-4&&$x(t,_He,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",THe(d)||(d=""),p=new xHe([h],u,{type:d})):p=bHe(Buffer.from(h)),zx(Mte(l)),zx(typeof p=="string"&&Mte(p)||wHe(p)),i.push(SHe(l,p,u))}}o(DHe,"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=SF(a,!0,!0,c=>c===9||c===32),!IHe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,Im(c=>c===32||c===9,t,e),CHe(a)){case"content-disposition":{if(r=n=null,!$x(t,vHe,e)||(e.position+=17,r=Gte(t,e),r===null))return"failure";if($x(t,qte,e)){let c=e.position+qte.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=Gte(t,e),n===null))return"failure"}break}case"content-type":{let c=Im(l=>l!==10&&l!==13,t,e);c=SF(c,!1,!0,l=>l===9||l===32),i=Ute(c);break}case"content-transfer-encoding":{let c=Im(l=>l!==10&&l!==13,t,e);c=SF(c,!1,!0,l=>l===9||l===32),s=Ute(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 Gte(t,e){zx(t[e.position-1]===34);let r=Im(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
|
||||||
|
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}o(Gte,"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 SF(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(SF,"removeChars");function $x(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}o($x,"bufferStartsWith");Hte.exports={multipartFormDataParser:DHe,validateBoundary:RHe}});var Bm=A((X5t,ere)=>{"use strict";var ub=at(),{ReadableStreamFrom:kHe,isBlobLike:zte,isReadableStreamLike:PHe,readableStreamClose:OHe,createDeferredPromise:LHe,fullyReadBody:FHe,extractMimeType:MHe,utf8DecodeBytes:Wte}=zs(),{FormData:$te}=lb(),{kState:Sm}=Pd(),{webidl:UHe}=ai(),{Blob:qHe}=require("node:buffer"),BF=require("node:assert"),{isErrored:Jte,isDisturbed:GHe}=require("node:stream"),{isArrayBuffer:HHe}=require("node:util/types"),{serializeAMimeType:VHe}=ms(),{multipartFormDataParser:zHe}=Vte(),xF;try{let t=require("node:crypto");xF=o(e=>t.randomInt(0,e),"random")}catch{xF=o(t=>Math.floor(Math.random(t)),"random")}var jx=new TextEncoder;function $He(){}o($He,"noop");var Yte=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,Kte;Yte&&(Kte=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!GHe(e)&&!Jte(e)&&e.cancel("Response object has been garbage collected").catch($He)}));function Xte(t,e=!1){let r=null;t instanceof ReadableStream?r=t:zte(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(()=>OHe(l))},start(){},type:"bytes"}),BF(PHe(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(HHe(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(ub.isFormDataLike(t)){let l=`----formdata-undici-0${`${xF(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(zte(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(ub.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:kHe(t)}if((typeof i=="string"||ub.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(!Jte(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(Xte,"extractBody");function jHe(t,e=!1){return t instanceof ReadableStream&&(BF(!ub.isDisturbed(t),"The body has already been consumed."),BF(!t.locked,"The stream is locked.")),Xte(t,e)}o(jHe,"safelyExtractBody");function WHe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}o(WHe,"cloneBody");function JHe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(JHe,"throwIfAborted");function YHe(t){return{blob(){return wm(this,r=>{let n=jte(this);return n===null?n="":n&&(n=VHe(n)),new qHe([r],{type:n})},t)},arrayBuffer(){return wm(this,r=>new Uint8Array(r).buffer,t)},text(){return wm(this,Wte,t)},json(){return wm(this,XHe,t)},formData(){return wm(this,r=>{let n=jte(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 $te;return s[Sm]=i,s}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(r.toString()),s=new $te;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(YHe,"bodyMixinMethods");function KHe(t){Object.assign(t.prototype,YHe(t))}o(KHe,"mixinBody");async function wm(t,e,r){if(UHe.brandCheck(t,r),Zte(t))throw new TypeError("Body is unusable: Body has already been read");JHe(t[Sm]);let n=LHe(),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 FHe(t[Sm].body,s,i),n.promise)}o(wm,"consumeBody");function Zte(t){let e=t[Sm].body;return e!=null&&(e.stream.locked||ub.isDisturbed(e.stream))}o(Zte,"bodyUnusable");function XHe(t){return JSON.parse(Wte(t))}o(XHe,"parseJSONFromBytes");function jte(t){let e=t[Sm].headersList,r=MHe(e);return r==="failure"?null:r}o(jte,"bodyMimeType");ere.exports={extractBody:Xte,safelyExtractBody:jHe,cloneBody:WHe,mixinBody:KHe,streamRegistry:Kte,hasFinalizationRegistry:Yte,bodyUnusable:Zte}});var mre=A((ezt,Are)=>{"use strict";var Te=require("node:assert"),ke=at(),{channels:tre}=fm(),vF=cF(),{RequestContentLengthMismatchError:Dh,ResponseContentLengthMismatchError:rre,RequestAbortedError:ure,InvalidArgumentError:ZHe,HeadersTimeoutError:e4e,HeadersOverflowError:t4e,SocketError:xm,InformationalError:vm,BodyTimeoutError:r4e,HTTPParserError:n4e,ResponseExceededMaxSizeError:i4e}=Tt(),{kUrl:dre,kReset:gs,kClient:Kx,kParser:rr,kBlocking:hb,kRunning:An,kPending:fre,kSize:nre,kWriting:Od,kQueue:Oa,kNoRef:db,kKeepAliveDefaultTimeout:s4e,kHostHeader:o4e,kPendingIdx:a4e,kRunningIdx:ko,kError:qi,kPipelining:Xx,kSocket:kh,kKeepAliveTimeoutValue:ev,kMaxHeadersSize:NF,kKeepAliveMaxTimeout:c4e,kKeepAliveTimeoutThreshold:l4e,kHeadersTimeout:u4e,kBodyTimeout:d4e,kStrictContentLength:RF,kMaxRequests:ire,kCounter:f4e,kMaxResponseSize:h4e,kOnError:sre,kResume:bu,kHTTPContext:hre}=mr(),$s=Kee(),ore=Buffer.alloc(0),Wx=Buffer[Symbol.species],Jx=ke.addListener,p4e=ke.removeAllListeners,Ph=Symbol("kIdleSocketValidation"),Qh=Symbol("kIdleSocketValidationTimeout"),PF=Symbol("kSocketUsed"),_F;async function A4e(){let t=process.env.JEST_WORKER_ID?dF():void 0,e;try{e=await WebAssembly.compile(ete())}catch{e=await WebAssembly.compile(t||dF())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((r,n,i)=>0,"wasm_on_url"),wasm_on_status:o((r,n,i)=>{Te(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onStatus(new Wx(Nc.buffer,s,i))||0},"wasm_on_status"),wasm_on_message_begin:o(r=>(Te(Qr.ptr===r),Qr.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((r,n,i)=>{Te(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onHeaderField(new Wx(Nc.buffer,s,i))||0},"wasm_on_header_field"),wasm_on_header_value:o((r,n,i)=>{Te(Qr.ptr===r);let s=n-_c+Nc.byteOffset;return Qr.onHeaderValue(new Wx(Nc.buffer,s,i))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((r,n,i,s)=>(Te(Qr.ptr===r),Qr.onHeadersComplete(n,!!i,!!s)||0),"wasm_on_headers_complete"),wasm_on_body:o((r,n,i)=>{Te(Qr.ptr=
Line truncated
|
||||||
|
`;if(typeof i=="string"?m+=`host: ${i}\r
|
||||||
|
`:m+=t[o4e],s?m+=`connection: upgrade\r
|
||||||
|
upgrade: ${s}\r
|
||||||
|
`:t[Xx]&&!p[gs]?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 tre.sendHeaders.hasSubscribers&&tre.sendHeaders.publish({request:e,headers:m,socket:p}),!l||h===0?cre(g,null,t,e,p,d,m,f):ke.isBuffer(l)?cre(g,l,t,e,p,d,m,f):ke.isBlobLike(l)?typeof l.stream=="function"?lre(g,l.stream(),t,e,p,d,m,f):w4e(g,l,t,e,p,d,m,f):ke.isStream(l)?I4e(g,l,t,e,p,d,m,f):ke.isIterable(l)?lre(g,l,t,e,p,d,m,f):Te(!1),!0}o(b4e,"writeH1");function I4e(t,e,r,n,i,s,a,c){Te(s!==0||r[An]===0,"stream body cannot be pipelined");let l=!1,u=new tv({abort:t,socket:i,request:n,contentLength:s,client:r,expectsPayload:c,header:a}),d=o(function(g){if(!l)try{!u.write(g)&&this.pause&&this.pause()}catch(m){ke.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 ure;queueMicrotask(()=>p(g))}},"onClose"),p=o(function(g){if(!l){if(l=!0,Te(i.destroyed||i[Od]&&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")?ke.destroy(e,g):ke.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(I4e,"writeStream");function cre(t,e,r,n,i,s,a,c){try{e?ke.isBuffer(e)&&(Te(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[gs]=!0)):s===0?i.write(`${a}content-length: 0\r
|
||||||
|
\r
|
||||||
|
`,"latin1"):(Te(s===null,"no body must not have content length"),i.write(`${a}\r
|
||||||
|
`,"latin1")),n.onRequestSent(),r[bu]()}catch(l){t(l)}}o(cre,"writeBuffer");async function w4e(t,e,r,n,i,s,a,c){Te(s===e.size,"blob body must have content length");try{if(s!=null&&s!==e.size)throw new Dh;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[gs]=!0),r[bu]()}catch(l){t(l)}}o(w4e,"writeBlob");async function lre(t,e,r,n,i,s,a,c){Te(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)=>{Te(l===null),i[qi]?p(i[qi]):l=h}),"waitForDrain");i.on("close",u).on("drain",u);let f=new tv({abort:t,socket:i,request:n,contentLength:s,client:r,expectsPayload:c,header:a});try{for await(let h of e){if(i[qi])throw i[qi];f.write(h)||await d()}f.end()}catch(h){f.destroy(h)}finally{i.off("close",u).off("drain",u)}}o(lre,"writeIterable");var tv=class{static{o(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:i,client:s,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=i,this.client=s,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[Od]=!0}write(e){let{socket:r,request:n,contentLength:i,client:s,bytesWritten:a,expectsPayload:c,header:l}=this;if(r[qi])throw r[qi];if(r.destroyed)return!1;let u=Buffer.byteLength(e);if(!u)return!0;if(i!==null&&a+u>i){if(s[RF])throw new Dh;process.emitWarning(new Dh)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[gs]=!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[Od]=!1,e[qi])throw e[qi];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[RF])throw new Dh;process.emitWarning(new Dh)}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[Od]=!1,e&&(Te(n[An]<=1,"pipeline should only contain this request"),i(e))}};Are.exports=g4e});var Sre=A((rzt,wre)=>{"use strict";var Po=require("node:assert"),{pipeline:S4e}=require("node:stream"),At=at(),{RequestContentLengthMismatchError:OF,RequestAbortedError:gre,SocketError:pb,InformationalError:LF}=Tt(),{kUrl:rv,kReset:iv,kClient:_m,kRunning:sv,kPending:B4e,kQueue:Ld,kPendingIdx:FF,kRunningIdx:La,kError:Ma,kSocket:Gn,kStrictContentLength:x4e,kOnError:MF,kMaxConcurrentStreams:Ire,kHTTP2Session:Fa,kResume:Fd,kSize:v4e,kHTTPContext:N4e}=mr(),Iu=Symbol("open streams"),yre,Ere=!1,nv;try{nv=require("node:http2")}catch{nv={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:_4e,HTTP2_HEADER_METHOD:T4e,HTTP2_HEADER_PATH:R4e,HTTP2_HEADER_SCHEME:D4e,HTTP2_HEADER_CONTENT_LENGTH:Q4e,HTTP2_HEADER_EXPECT:k4e,HTTP2_HEADER_STATUS:P4e}}=nv;function O4e(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(O4e,"parseH2Headers");async function L4e(t,e){t[Gn]=e,Ere||(Ere=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=nv.connect(t[rv],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[Ire]});r[Iu]=0,r[_m]=t,r[Gn]=e,At.addListener(r,"error",M4e),At.addListener(r,"frameError",U4e),At.addListener(r,"end",q4e),At.addListener(r,"goaway",G4e),At.addListener(r,"close",function(){let{[_m]:i}=this,{[Gn]:s}=i,a=this[Gn][Ma]||this[Ma]||new pb("closed",At.getSocketInfo(s));if(i[Fa]=null,i.destroyed){Po(i[B4e]===0);let c=i[Ld].splice(i[La]);for(let l=0;l<c.length;l++){let u=c[l];At.errorRequest(i,u,a)}}}),r.unref(),t[Fa]=r,e[Fa]=r,At.addListener(e,"error",function(i){Po(i.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Ma]=i,this[_m][MF](i)}),At.addListener(e,"end",function(){At.destroy(this,new pb("other side closed",At.getSocketInfo(this)))}),At.addListener(e,"close",function(){let i=this[Ma]||new pb("closed",At.getSocketInfo(this));t[Gn]=null,this[Fa]!=null&&this[Fa].destroy(i),t[FF]=t[La],Po(t[sv]===0),t.emit("disconnect",t[rv],[t],i),t[Fd]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return V4e(t,...i)},resume(){F4e(t)},destroy(i,s){n?queueMicrotask(s):e.destroy(i).on("close",s)},get destroyed(){return e.destroyed},busy(){return!1}}}o(L4e,"connectH2");function F4e(t){let e=t[Gn];e?.destroyed===!1&&(t[v4e]===0&&t[Ire]===0?(e.unref(),t[Fa].unref()):(e.ref(),t[Fa].ref()))}o(F4e,"resumeH2");function M4e(t){Po(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Gn][Ma]=t,this[_m][MF](t)}o(M4e,"onHttp2SessionError");function U4e(t,e,r){if(r===0){let n=new LF(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Gn][Ma]=n,this[_m][MF](n)}}o(U4e,"onHttp2FrameError");function q4e(){let t=new pb("other side closed",At.getSocketInfo(this[Gn]));this.destroy(t),At.destroy(this[Gn],t)}o(q4e,"onHttp2SessionEnd");function G4e(t){let e=this[Ma]||new pb(`HTTP/2: "GOAWAY" frame received with code ${t}`,At.getSocketInfo(this)),r=this[_m];if(r[Gn]=null,r[N4e]=null,this[Fa]!=null&&(this[Fa].destroy(e),this[Fa]=null),At.destroy(this[Gn],e),r[La]<r[Ld].length){let n=r[Ld][r[La]];r[Ld][r[La]++]=null,At.errorRequest(r,n,e),r[FF]=r[La]}Po(r[sv]===0),r.emit("disconnect",r[rv],[r],e),r[Fd]()}o(G4e,"onHTTP2GoAway");function H4e(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(H4e,"shouldSendContentLength");function V4e(t,e){let r=t[Fa],{method:n,path:i,host:s,upgrade:a,expectContinue:c,signal:l,headers:u}=e,{body:d}=e;if(a)return At.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[rv];f[_4e]=s||`${p}${g?`:${g}`:""}`,f[T4e]=n;let m=o(B=>{e.aborted||e.completed||(B=B||new gre,At.errorRequest(t,e,B),h!=null&&At.destroy(h,B),At.destroy(d,B),t[Ld][t[La]++]=null,t[Fd]())},"abort");try{e.onConnect(m)}catch(B){At.errorRequest(t,e,B)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),h=r.request(f,{endStream:!1,signal:l}),h.id&&!h.pending?(e.onUpgrade(null,null,h),++r[Iu],t[Ld][t[La]++]=null):h.once("ready",()=>{e.onUpgrade(null,null,h),++r[Iu],t[Ld][t[La]++]=null}),h.once("close",()=>{r[Iu]-=1,r[Iu]===0&&r.unref()}),!0;f[R4e]=i,f[D4e]="https";let E=n==="PUT"||n==="POST"||n==="PATCH";d&&typeof d.read=="function"&&d.read(0);let y=At.bodyLength(d);if(At.isFormDataLike(d)){yre??=Bm().extractBody;let[B,Q]=yre(d);f["content-type"]=Q,d=B.stream,y=B.length}if(y==null&&(y=e.contentLength),(y===0||!E)&&(y=null),H4e(n)&&y>0&&e.contentLength!=null&&e.contentLength!==y){if(t[x4e])return At.err
Line truncated
|
||||||
|
`,this[mVe]=l??3e5,this[AVe]=i??3e5,this[gVe]=C??!0,this[yVe]=B,this[HF]=M,this[Ud]=null,this[wVe]=$>-1?$:-1,this[BVe]=V??100,this[Kr]=null,this[Ua]=[],this[Su]=0,this[qa]=0,this[yb]=ae=>zF(this,ae),this[SVe]=ae=>Ore(this,ae)}get pipelining(){return this[lv]}set pipelining(e){this[lv]=e,this[yb](!0)}get[bb](){return this[Ua].length-this[qa]}get[Cb](){return this[qa]-this[Su]}get[Eb](){return this[Ua].length-this[Su]}get[cVe](){return!!this[Kr]&&!this[Rm]&&!this[Kr].destroyed}get[GF](){return!!(this[Kr]?.busy(null)||this[Eb]>=(Pre(this)||1)||this[bb]>0)}[aVe](e){Lre(this),this.once("connect",e)}[IVe](e,r){let n=e.origin||this[Rc].origin,i=new tVe(n,e,r);return this[Ua].push(i),this[Lh]||(Oh.bodyLength(i.body)==null&&Oh.isIterable(i.body)?(this[Lh]=1,queueMicrotask(()=>zF(this))):this[yb](!0)),this[Lh]&&this[qd]!==2&&this[GF]&&(this[qd]=2),this[qd]<2}async[CVe](){return new Promise(e=>{this[Eb]?this[Ud]=e:e(null)})}async[bVe](e){return new Promise(r=>{let n=this[Ua].splice(this[qa]);for(let s=0;s<n.length;s++){let a=n[s];Oh.errorRequest(this,a,e)}let i=o(()=>{this[Ud]&&(this[Ud](),this[Ud]=null),r(null)},"callback");this[Kr]?(this[Kr].destroy(e,i),this[Kr]=null):queueMicrotask(i),this[yb]()})}},NVe=cv();function Ore(t,e){if(t[Cb]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){wu(t[qa]===t[Su]);let r=t[Ua].splice(t[Su]);for(let n=0;n<r.length;n++){let i=r[n];Oh.errorRequest(t,i,e)}wu(t[Eb]===0)}}o(Ore,"onError");async function Lre(t){wu(!t[Rm]),wu(!t[Kr]);let{host:e,hostname:r,protocol:n,port:i}=t[Rc];if(r[0]==="["){let s=r.indexOf("]");wu(s!==-1);let a=r.substring(1,s);wu(kre.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[Md],localAddress:t[gb]},connector:t[mb]});try{let s=await new Promise((a,c)=>{t[mb]({host:e,hostname:r,protocol:n,port:i,servername:t[Md],localAddress:t[gb]},(l,u)=>{l?c(l):a(u)})});if(t.destroyed){Oh.destroy(s.on("error",Dre),new iVe);return}wu(s);try{t[Kr]=s.alpnProtocol==="h2"?await vVe(t,s):await xVe(t,s)}catch(a){throw s.destroy().on("error",Dre),a}t[Rm]=!1,s[EVe]=0,s[HF]=t[HF],s[oVe]=t,s[uVe]=null,Tm.connected.hasSubscribers&&Tm.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:i,version:t[Kr]?.version,servername:t[Md],localAddress:t[gb]},connector:t[mb],socket:s}),t.emit("connect",t[Rc],[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[Md],localAddress:t[gb]},connector:t[mb],error:s}),s.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(wu(t[Cb]===0);t[bb]>0&&t[Ua][t[qa]].servername===t[Md];){let a=t[Ua][t[qa]++];Oh.errorRequest(t,a,s)}else Ore(t,s);t.emit("connectionError",t[Rc],[t],s)}t[yb]()}o(Lre,"connect");function Qre(t){t[qd]=0,t.emit("drain",t[Rc],[t])}o(Qre,"emitDrain");function zF(t,e){t[Lh]!==2&&(t[Lh]=2,_Ve(t,e),t[Lh]=0,t[Su]>256&&(t[Ua].splice(0,t[Su]),t[qa]-=t[Su],t[Su]=0))}o(zF,"resume");function _Ve(t,e){for(;;){if(t.destroyed){wu(t[bb]===0);return}if(t[Ud]&&!t[Eb]){t[Ud](),t[Ud]=null;return}if(t[Kr]&&t[Kr].resume(),t[GF])t[qd]=2;else if(t[qd]===2){e?(t[qd]=1,queueMicrotask(()=>Qre(t))):Qre(t);continue}if(t[bb]===0||t[Cb]>=(Pre(t)||1))return;let r=t[Ua][t[qa]];if(t[Rc].protocol==="https:"&&t[Md]!==r.servername){if(t[Cb]>0)return;t[Md]=r.servername,t[Kr]?.destroy(new nVe("servername changed"),()=>{t[Kr]=null,zF(t)})}if(t[Rm])return;if(!t[Kr]){Lre(t);return}if(t[Kr].destroyed||t[Kr].busy(r))return;!r.aborted&&t[Kr].write(r)?t[qa]++:t[Ua].splice(t[qa],1)}}o(_Ve,"_resume");Fre.exports=VF});var $F=A((dzt,Mre)=>{"use strict";var uv=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)}};Mre.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new uv}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new uv),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var qre=A((hzt,Ure)=>{var{kFree:TVe,kConnected:RVe,kPending:DVe,kQueued:QVe,kRunning:kVe,kSize:PVe}=mr(),Fh=Symbol("pool"),jF=class{static{o(this,"PoolStats")}constructor(e){this[Fh]=e}get connected(){return this[Fh][RVe]}get free(){return this[Fh][TVe]}get pending(){return this[Fh][DVe]}get queued(){return this[Fh][QVe]}get running(){return this[Fh][kVe]}get size(){return this[Fh][PVe]}};Ure.exports=jF});var ZF=A((Azt,Kre)=>{"use strict";var OVe=mm(),LVe=$F(),{kConnected:WF,kSize:Gre,kRunning:Hre,kPending:Vre,kQueued:Ib,kBusy:FVe,kFree:MVe,kUrl:UVe,kClose:qVe,kDestroy:GVe,kDispatch:HVe}=mr(
Line truncated
|
||||||
|
${n.count} ${n.noun} ${n.is} pending:
|
||||||
|
|
||||||
|
${e.format(r)}
|
||||||
|
`.trim())}};ise.exports=ZM});var Nv=A((h$t,lse)=>{"use strict";var ose=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:m$e}=Tt(),g$e=km();cse()===void 0&&ase(new g$e);function ase(t){if(!t||typeof t.dispatch!="function")throw new m$e("Argument agent must implement Agent");Object.defineProperty(globalThis,ose,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(ase,"setGlobalDispatcher");function cse(){return globalThis[ose]}o(cse,"getGlobalDispatcher");lse.exports={setGlobalDispatcher:ase,getGlobalDispatcher:cse}});var _v=A((m$t,use)=>{"use strict";use.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 fse=A((y$t,dse)=>{"use strict";var y$e=av();dse.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 y$e(r,a,i,s);return r(c,l)},"redirectInterceptor")}});var pse=A((C$t,hse)=>{"use strict";var E$e=yv();hse.exports=t=>e=>o(function(n,i){return e(n,new E$e({...n,retryOptions:{...t,...n.retryOptions}},{handler:i,dispatch:e}))},"retryInterceptor")});var mse=A((I$t,Ase)=>{"use strict";var C$e=at(),{InvalidArgumentError:b$e,RequestAbortedError:I$e}=Tt(),w$e=_v(),eU=class extends w$e{static{o(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#i=0;#s=null;#l=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new b$e("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#l=r}onConnect(e){this.#t=e,this.#l.onConnect(this.#a.bind(this))}#a(e){this.#r=!0,this.#s=e}onHeaders(e,r,n,i){let a=C$e.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new I$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 S$e({maxSize:t}={maxSize:1024*1024}){return e=>o(function(n,i){let{dumpMaxSize:s=t}=n,a=new eU({maxSize:s},i);return e(n,a)},"Intercept")}o(S$e,"createDumpInterceptor");Ase.exports=S$e});var Ese=A((S$t,yse)=>{"use strict";var{isIP:B$e}=require("node:net"),{lookup:x$e}=require("node:dns"),v$e=_v(),{InvalidArgumentError:zm,InformationalError:N$e}=Tt(),gse=Math.pow(2,31)-1,tU=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 N$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){x$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===gse?(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===gse?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 rU(this,e,r)}},rU=class extends v$e{static{o(this,"DNSDispatchHan
Line truncated
|
||||||
|
${s}`;break;case"retry":Kae(s)&&(r[i]=s);break;case"id":Xae(s)&&(r[i]=s);break;case"event":s.length>0&&(r[i]=s);break}}processEvent(e){e.retry&&Kae(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&Xae(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,event:void 0,id:void 0,retry:void 0}}};Zae.exports={EventSourceStream:zU}});var cce=A((vjt,ace)=>{"use strict";var{pipeline:OWe}=require("node:stream"),{fetching:LWe}=Pb(),{makeRequest:FWe}=Wm(),{webidl:_u}=ai(),{EventSourceStream:MWe}=ece(),{parseMIMEType:UWe}=ms(),{createFastMessageEvent:qWe}=eg(),{isNetworkError:tce}=Qb(),{delay:GWe}=HU(),{kEnumerableProperty:Zh}=at(),{environmentSettingsObject:rce}=zs(),nce=!1,ice=3e3,Jb=0,sce=1,Yb=2,HWe="anonymous",VWe="use-credentials",sg=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=Jb;#i=null;#s=null;#l;#a;constructor(e,r={}){super(),_u.util.markAsUncloneable(this);let n="EventSource constructor";_u.argumentLengthCheck(arguments,1,n),nce||(nce=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=_u.converters.USVString(e,n,"url"),r=_u.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#l=r.dispatcher,this.#a={lastEventId:"",reconnectionTime:ice};let i=rce,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=HWe;r.withCredentials&&(a=VWe,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=rce.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=FWe(c),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===Yb)return;this.#r=Jb;let e={request:this.#i,dispatcher:this.#l},r=o(n=>{tce(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#o()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(tce(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#o();return}let i=n.headersList.get("content-type",!0),s=i!==null?UWe(i):"failure",a=s!=="failure"&&s.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=sce,this.dispatchEvent(new Event("open")),this.#a.origin=n.urlList[n.urlList.length-1].origin;let c=new MWe({eventSourceSettings:this.#a,push:o(l=>{this.dispatchEvent(qWe(l.type,l.options))},"push")});OWe(n.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=LWe(e)}async#o(){this.#r!==Yb&&(this.#r=Jb,this.dispatchEvent(new Event("error")),await GWe(this.#a.reconnectionTime),this.#r===Jb&&(this.#a.lastEventId.length&&this.#i.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#c()))}close(){_u.brandCheck(this,t),this.#r!==Yb&&(this.#r=Yb,this.#s.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},oce={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Jb,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:sce,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Yb,writable:!1}};Object.defineProperties(sg,oce);Object.defineProperties(sg.prototype,oce);Object.defineProperties(sg.prototype,{close:Zh,onerror:Zh,onmessage:Zh,onopen:Zh,readyState:Zh,url:Zh,withCredentials:Zh});_u.converters.EventSourceInitDict=_u.dictionaryConverter([{key:"withCredentials",converter:_u.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"dispatcher",converter:_u.converters.any}]);ace.exports={EventSource:sg,defaultReconnectionTime:ice}});var Xd=A((_jt,Ue)=>{"use strict";var zWe=Dm(),lce=eb(),$We=Qm(),jWe=one(),WWe=km(),JWe=fM(),YWe=Tne(),KWe=Lne(),uce=Tt(),mN=at(),{InvalidArgumentError:AN}=uce,og=wie(),XWe=rb(),ZWe=jM(),eJe=sse(),tJe=YM(),rJe=kM(),nJe=yv(),{getGlobalDispatcher:dce,setGlobalDispatcher:iJe}=Nv(),sJe=_v(),oJe=av(),aJe=cv();Object.assign(lce.prototype,og);Ue.exports.Dispatcher=lce;Ue.exports.Client=zWe;Ue.exports.Pool=$We;Ue.exports.BalancedPoo
Line truncated
|
||||||
|
%s`,Q,Q,C,n);var M=C.type==="*"?Kq:C.type==="?"?Yq:"\\"+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 $=c.length-1;$>-1;$--){var D=c[$],H=n.slice(0,D.reStart),V=n.slice(D.reStart,D.reEnd-8),J=n.slice(D.reEnd-8,D.reEnd),ee=n.slice(D.reEnd);J+=ee;var ae=H.split("(").length-1,Ae=ee;for(m=0;m<ae;m++)Ae=Ae.replace(/\)[+*?]?/,"");ee=Ae;var Y="";ee===""&&e!==qN&&(Y="$");var z=H+V+ee+Y+J;n=z}if(n!==""&&i&&(n="(?=.)"+n),v&&(n=h+n),e===qN)return[n,i];if(!i)return N7e(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(x7e,"parse");no.makeRe=function(t,e){return new yn(t,e||{}).makeRe()};yn.prototype.makeRe=v7e;function v7e(){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?Kq:e.dot?E7e:C7e,n=e.nocase?"i":"",i=t.map(function(s){return s.map(function(a){return a===sp?r:typeof a=="string"?_7e(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(v7e,"makeRe");no.match=function(t,e,r){r=r||{};var n=new yn(e,r);return t=t.filter(function(i){return n.match(i)}),n.options.nonull&&!t.length&&t.push(e),t};yn.prototype.match=o(function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;g0.sep!=="/"&&(e=e.split(g0.sep).join("/")),e=e.split(hde),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,$=0;$<E.length;$++)E[$][1]=v-(I[M--]+E[$][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 N7e(t){return t.replace(/\\(.)/g,"$1")}o(N7e,"globUnescape");function _7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}o(_7e,"regExpEscape")});var yg=A((i9t,Cde)=>{"use strict";var L7e="2.0.0",F7e=Number.MAX_SAFE_INTEGER||9007199254740991,M7e=16,U7e=250,q7e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Cde.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:M7e,MAX_SAFE_BUILD_LENGTH:U7e,MAX_SAFE_INTEGER:F7e,RELEASE_TYPES:q7e,SEMVER_SPEC_VERSION:L7e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var C0=A((s9t,bde)=>{"use strict";var G7e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};bde.exports=G7e});var Eg=A((Uc,Ide)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Zq,MAX_SAFE_BUILD_LENGTH:H7e,MAX_LENGTH:V7e}=yg(),z7e=C0();Uc=Ide.exports={};var $7e=Uc.re=[],j7e=Uc.safeRe=[],ue=Uc.src=[],W7e=Uc.safeSrc=[],de=Uc.t={},J7e=0,e3="[a-zA-Z0-9-]",Y7e=[["\\s",1],["\\d",V7e],[e3,H7e]],K7
Line truncated
|
||||||
|
`).join(`
|
||||||
|
`+s),t.push(i+"m+"+R_.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Gtt()+e+" "+t[0]}o(qtt,"formatArgs");function Gtt(){return fi.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(Gtt,"getDate");function Htt(...t){return process.stderr.write(T_.format(...t)+`
|
||||||
|
`)}o(Htt,"log");function Vtt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(Vtt,"save");function ztt(){return process.env.DEBUG}o(ztt,"load");function $tt(t){t.inspectOpts={};let e=Object.keys(fi.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=fi.inspectOpts[e[r]]}o($tt,"init");R_.exports=H3()(fi);var{formatters:spe}=R_.exports;spe.o=function(t){return this.inspectOpts.colors=this.useColors,T_.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};spe.O=function(t){return this.inspectOpts.colors=this.useColors,T_.inspect(t,this.inspectOpts)}});var D_=A((Y7t,j3)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?j3.exports=epe():j3.exports=ope()});var lpe=A(ws=>{"use strict";var jtt=ws&&ws.__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]})),Wtt=ws&&ws.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),ape=ws&&ws.__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)&&jtt(e,t,r);return Wtt(e,t),e};Object.defineProperty(ws,"__esModule",{value:!0});ws.req=ws.json=ws.toBuffer=void 0;var Jtt=ape(require("http")),Ytt=ape(require("https"));async function cpe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(cpe,"toBuffer");ws.toBuffer=cpe;async function Ktt(t){let r=(await cpe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let i=n;throw i.message+=` (input: ${r})`,i}}o(Ktt,"json");ws.json=Ktt;function Xtt(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Ytt:Jtt).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(Xtt,"req");ws.req=Xtt});var hpe=A(ao=>{"use strict";var dpe=ao&&ao.__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]})),Ztt=ao&&ao.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fpe=ao&&ao.__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)&&dpe(e,t,r);return Ztt(e,t),e},ert=ao&&ao.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dpe(e,t,r)};Object.defineProperty(ao,"__esModule",{value:!0});ao.Agent=void 0;var trt=fpe(require("net")),upe=fpe(require("http")),rrt=require("https");ert(lpe(),ao);var Vc=Symbol("AgentBaseInternalState"),W3=class extends upe.Agent{static{o(this,"Agent")}constructor(e){super(e),this[Vc]={}}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 trt.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)?rrt.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 upe.Agent)try{return c.addRequest(e,i)}catch(l){return n(l)}this[Vc].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Vc].currentSocket;if(this[Vc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Vc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Vc]&&(this[Vc].defaultPort=e)}get protocol(){return this[Vc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Vc]&&(this[Vc].protocol=e)}};ao.Agent=W3});var ppe=A(_g=>{"use strict";var nrt=_g&&_g.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_g,"__esModule",{value:!0});_g.parseProxyResponse=void 0;var irt=nrt(D_()),Q_=(0,irt.default)("https-proxy-agent:parse-proxy-response");function srt(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(),Q_("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}o(c,"onend");function l(d){a(),Q_("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){Q_("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}Q_("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(srt,"parseProxyResponse");_g.parseProxyResponse=srt});var Cpe=A(Jo=>{"use strict";var ort=Jo&&Jo.__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=Jo&&Jo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),ype=Jo&&Jo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ort(e,t,r);return art(e,t),e},Epe=Jo&&Jo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jo,"__esModule",{value:!0});Jo.HttpsProxyAgent=void 0;var k_=ype(require("net")),Ape=ype(require("tls")),crt=Epe(require("assert")),lrt=Epe(D_()),urt=hpe(),drt=require("url"),frt=ppe(),P0=(0,lrt.default)("https-proxy-agent"),mpe=o(t=>t.servername===void 0&&t.host&&!k_.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),P_=class extends urt.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??{},P0("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?gpe(r,"headers"):null,host:n,port:i}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let i;n.protocol==="https:"?(P0("Creating `tls.Socket`: %o",this.connectOpts),i=Ape.connect(mpe(this.connectOpts))):(P0("Creating `net.Socket`: %o",this.connectOpts),i=k_.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=k_.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,frt.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",hrt),r.secureEndpoint?(P0("Upgrading socket connection to TLS"),Ape.connect({...gpe(mpe(r),"host","path","port"),socket:i})):i;i.destroy();let f=new k_.Socket({writable:!1});return f.readable=!0,e.once("socket",h=>{P0("Replaying proxy buffer for failed request"),(0,crt.default)(h.listenerCount("data")>0),h.push(d),h.push(null)}),f}};P_.protocols=["http","https"];Jo.HttpsProxyAgent=P_;function hrt(t){t.resume()}o(hrt,"resume");function gpe(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(gpe,"omit")});var wpe=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}),bpe=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=bpe(require("http")),grt=bpe(require("https"));async function Ipe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}o(Ipe,"toBuffer");Ss.toBuffer=Ipe;async function yrt(t){let r=(await Ipe(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 vpe=A(co=>{"use strict";var Bpe=co&&co.__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=co&&co.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xpe=co&&co.__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)&&Bpe(e,t,r);return Crt(e,t),e},brt=co&&co.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Bpe(e,t,r)};Object.defineProperty(co,"__esModule",{value:!0});co.Agent=void 0;var Irt=xpe(require("net")),Spe=xpe(require("http")),wrt=require("https");brt(wpe(),co);var zc=Symbol("AgentBaseInternalState"),J3=class extends Spe.Agent{static{o(this,"Agent")}constructor(e){super(e),this[zc]={}}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(typeof e.secureEndpoint=="boolean"?e.secureEndpoint: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 Spe.Agent)return c.addRequest(e,i);this[zc].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[zc].currentSocket;if(this[zc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[zc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[zc]&&(this[zc].defaultPort=e)}get protocol(){return this[zc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[zc]&&(this[zc].protocol=e)}};co.Agent=J3});var Tpe=A(Yo=>{"use strict";var Srt=Yo&&Yo.__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]})),Brt=Yo&&Yo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_pe=Yo&&Yo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Srt(e,t,r);return Brt(e,t),e},xrt=Yo&&Yo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yo,"__esModule",{value:!0});Yo.HttpProxyAgent=void 0;var vrt=_pe(require("net")),Nrt=_pe(require("tls")),_rt=xrt(D_()),Trt=require("events"),Rrt=vpe(),Npe=require("url"),Tg=(0,_rt.default)("http-proxy-agent"),O_=class extends Rrt.Agent{static{o(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Npe.URL(e):e,this.proxyHeaders=r?.headers??{},Tg("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?Drt(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 Npe.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;Tg("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(Tg("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),Tg("Output buffer: %o",e.outputData[0].data));let s;return this.proxy.protocol==="https:"?(Tg("Creating `tls.Socket`: %o",this.connectOpts),s=Nrt.connect(this.connectOpts)):(Tg("Creating `net.Socket`: %o",this.connectOpts),s=vrt.connect(this.connectOpts)),await(0,Trt.once)(s,"connect"),s}};O_.protocols=["http","https"];Yo.HttpProxyAgent=O_;function Drt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}o(Drt,"omit")});var Xpe=A(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});Y_.state=void 0;Y_.state={instrumenterImplementation:void 0}});var AAe=A(tT=>{"use strict";Object.defineProperty(tT,"__esModule",{value:!0});tT.state=void 0;tT.state={operationRequestMap:new WeakMap}});var jge=A(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});var Xat=require("os"),Zat=require("util");function ect(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}o(ect,"_interopDefaultLegacy");var tct=ect(Zat);function rct(t,...e){process.stderr.write(`${tct.default.format(t,...e)}${Xat.EOL}`)}o(rct,"log");var Lge=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,Mge,v5=[],N5=[],CR=[];Lge&&_5(Lge);var Uge=Object.assign(t=>qge(t),{enable:_5,enabled:T5,disable:nct,log:rct});function _5(t){Mge=t,v5=[],N5=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?N5.push(new RegExp(`^${n.substr(1)}$`)):v5.push(new RegExp(`^${n}$`));for(let n of CR)n.enabled=T5(n.namespace)}o(_5,"enable");function T5(t){if(t.endsWith("*"))return!0;for(let e of N5)if(e.test(t))return!1;for(let e of v5)if(e.test(t))return!0;return!1}o(T5,"enabled");function nct(){let t=Mge||"";return _5(""),t}o(nct,"disable");function qge(t){let e=Object.assign(r,{enabled:T5(t),destroy:ict,log:Uge.log,namespace:t,extend:sct});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return o(r,"debug"),CR.push(e),e}o(qge,"createDebugger");function ict(){let t=CR.indexOf(this);return t>=0?(CR.splice(t,1),!0):!1}o(ict,"destroy");function sct(t){let e=qge(`${this.namespace}:${t}`);return e.log=this.log,e}o(sct,"extend");var II=Uge,Gge=new Set,yR=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,bR,IR=II("azure");IR.log=(...t)=>{II.log(...t)};var R5=["verbose","info","warning","error"];yR&&($ge(yR)?Hge(yR):console.error(`AZURE_LOG_LEVEL set to unknown log level '${yR}'; logging is not enabled. Acceptable values: ${R5.join(", ")}.`));function Hge(t){if(t&&!$ge(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${R5.join(",")}`);bR=t;let e=[];for(let r of Gge)zge(r)&&e.push(r.namespace);II.enable(e.join(","))}o(Hge,"setLogLevel");function oct(){return bR}o(oct,"getLogLevel");var Fge={verbose:400,info:300,warning:200,error:100};function act(t){let e=IR.extend(t);return Vge(IR,e),{error:ER(e,"error"),warning:ER(e,"warning"),info:ER(e,"info"),verbose:ER(e,"verbose")}}o(act,"createClientLogger");function Vge(t,e){e.log=(...r)=>{t.log(...r)}}o(Vge,"patchLogMethod");function ER(t,e){let r=Object.assign(t.extend(e),{level:e});if(Vge(t,r),zge(r)){let n=II.disable();II.enable(n+","+r.namespace)}return Gge.add(r),r}o(ER,"createLogger");function zge(t){return!!(bR&&Fge[t.level]<=Fge[bR])}o(zge,"shouldEnable");function $ge(t){return R5.includes(t)}o($ge,"isAzureLogLevel");Wg.AzureLogger=IR;Wg.createClientLogger=act;Wg.getLogLevel=oct;Wg.setLogLevel=Hge});var k5=A(SI=>{"use strict";Object.defineProperty(SI,"__esModule",{value:!0});var Jg=new WeakMap,wR=new WeakMap,wI=class t{static{o(this,"AbortSignal")}constructor(){this.onabort=null,Jg.set(this,[]),wR.set(this,!1)}get aborted(){if(!wR.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return wR.get(this)}static get none(){return new t}addEventListener(e,r){if(!Jg.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");Jg.get(this).push(r)}removeEventListener(e,r){if(!Jg.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=Jg.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 Wge(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=Jg.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),wR.set(t,!0)}o(Wge,"abortSignal");var D5=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},Q5=class{static{o(this,"AbortController")}constructor(e){if(this._signal=new wI,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){Wge(this._signal)}static timeout(e){let r=new wI,n=setTimeout(Wge,e,r);return typeof n.unref=="function"&&n.unref(),r}};SI.AbortController=Q5;SI.AbortError=D5;SI.AbortSignal=wI});var Zge=A(Ur=>{"use strict";Object.defineP
Line truncated
|
||||||
|
Polling from: ${r.config.operationLocation}
|
||||||
|
Operation status: ${d}
|
||||||
|
Polling status: ${nye.includes(d)?"Stopped":"Running"}`),d==="succeeded"){let f=a(u,r);if(f!==void 0)return{response:await e(f).catch(tye({state:r,stateProxy:n,isOperationError:c})),status:d}}return{response:u,status:d}}o(Lct,"pollOperationHelper");async function aye(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 Lct({poll:e,getOperationStatus:s,state:r,stateProxy:n,operationLocation:y,getResourceLocation:a,isOperationError:l,options:i});if(sye({status:I,response:C,state:r,stateProxy:n,isDone:m,processResult:f,getError:h,setErrorAsResult:E}),!nye.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(aye,"pollOperation");function cye(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}o(cye,"getOperationLocationPollingUrl");function lye(t){return t.headers.location}o(lye,"getLocationHeader");function uye(t){return t.headers["operation-location"]}o(uye,"getOperationLocationHeader");function dye(t){return t.headers["azure-asyncoperation"]}o(dye,"getAzureAsyncOperationHeader");function Fct(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(Fct,"findResourceLocation");function fye(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:i}=t,s=uye(e),a=dye(e),c=cye({operationLocation:s,azureAsyncOperation:a}),l=lye(e),u=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:Fct({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(fye,"inferLroMode");function hye(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 z5(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(hye,"transformStatus");function Mct(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return hye({status:r,statusCode:t.statusCode})}o(Mct,"getStatus");function Uct(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 hye({status:s,statusCode:t.statusCode})}o(Uct,"getProvisioningState");function z5(t){return t===202?"running":t<300?"succeeded":"failed"}o(z5,"toOperationStatus");function pye({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?qct(new Date(e)):r*1e3}}o(pye,"parseRetryAfter");function Aye(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(Aye,"getErrorFromResponse");function qct(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}o(qct,"calculatePollingIntervalFromDate");function mye(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 z5(e.rawResponse.statusCode);case"Body":return $5(e,r);default:return"running"}}o(i,"helper");let s=i();return s==="running"&&n===void 0?"succeeded":s}o(mye,"getStatusFromInitialResponse");async function Gct(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:i,setErrorAsResult:s}=t;return oye({init:o(async()=>{let a=await i.sendInitialRequest(),c=fye({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:mye,setErrorAsResult:s})}o(Gct,"initHttpOperation");function gye({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(Blt,"base64decode");ty.base64decode=Blt;function xlt(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(xlt,"base64encode");ty.base64encode=xlt});var Yye=A(GR=>{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.utf8read=void 0;var nz=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function vlt(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(nz(n)),i=0);return r.length?(i&&r.push(nz(n.slice(0,i))),r.join("")):nz(n.slice(0,i))}o(vlt,"utf8read");GR.utf8read=vlt});var DI=A(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.WireType=gl.mergeBinaryOptions=gl.UnknownFieldHandler=void 0;var Nlt;(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")})(Nlt=gl.UnknownFieldHandler||(gl.UnknownFieldHandler={}));function _lt(t,e){return Object.assign(Object.assign({},t),e)}o(_lt,"mergeBinaryOptions");gl.mergeBinaryOptions=_lt;var Tlt;(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"})(Tlt=gl.WireType||(gl.WireType={}))});var VR=A(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.varint32read=Rs.varint32write=Rs.int64toString=Rs.int64fromString=Rs.varint64write=Rs.varint64read=void 0;function Rlt(){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(Rlt,"varint64read");Rs.varint64read=Rlt;function Dlt(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(Dlt,"varint64write");Rs.varint64write=Dlt;var HR=65536*65536;function Qlt(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>=HR&&(i=i+(n/HR|0),n=n%HR)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(Qlt,"int64fromString");Rs.int64fromString=Qlt;function klt(t,e){if(e>>>0<=2097151)return""+(HR*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(klt,"int64toString");Rs.int64toString=klt;function Plt(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(Plt,"varint32write");Rs.varint32write=Plt;function Olt(){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(Olt,"varint32read");Rs.varint32read=Olt});var Sf=A(wf=>{"use strict";Object.defineProperty(wf,"__esModule",{value:!0});wf.PbLong=wf.PbULong=wf.detectBi=void 0;var QI=VR(),Wt;function Kye(){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
|
||||||
|
`)}};g2.RpcError=Tz});var Dz=A(E2=>{"use strict";Object.defineProperty(E2,"__esModule",{value:!0});E2.mergeRpcOptions=void 0;var _Ee=nn();function idt(t,e){if(!e)return t;let r={};y2(t,r),y2(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=_Ee.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=_Ee.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},y2(t.meta,r.meta),y2(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(idt,"mergeRpcOptions");E2.mergeRpcOptions=idt;function y2(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(y2,"copy")});var kz=A(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.Deferred=Lp.DeferredState=void 0;var Cl;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Cl=Lp.DeferredState||(Lp.DeferredState={}));var Qz=class{static{o(this,"Deferred")}constructor(e=!0){this._state=Cl.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!==Cl.PENDING)throw new Error(`cannot resolve ${Cl[this.state].toLowerCase()}`);this._resolve(e),this._state=Cl.RESOLVED}reject(e){if(this.state!==Cl.PENDING)throw new Error(`cannot reject ${Cl[this.state].toLowerCase()}`);this._reject(e),this._state=Cl.REJECTED}resolvePending(e){this._state===Cl.PENDING&&this.resolve(e)}rejectPending(e){this._state===Cl.PENDING&&this.reject(e)}};Lp.Deferred=Qz});var Oz=A(C2=>{"use strict";Object.defineProperty(C2,"__esModule",{value:!0});C2.RpcOutputStreamController=void 0;var TEe=kz(),Fp=nn(),Pz=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 TEe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Fp.assert(n.state==TEe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};C2.RpcOutputStreamController=Pz});var Fz=A(cy=>{"use strict";var sdt=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 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(cy,"__esModule",{value:!0});cy.UnaryCall=void 0;var Lz=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 sdt(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}})}};cy.UnaryCall=Lz});var Uz=A(ly=>{"use strict";var odt=ly&&ly.__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 fmt(){Object.keys(rD).forEach(function(t){delete rD[t]})}o(fmt,"resetLoggedProperties")});var iD=A(Sl=>{"use strict";Sl.__esModule=!0;Sl.HandlebarsEnvironment=oj;function G0e(t){return t&&t.__esModule?t:{default:t}}o(G0e,"_interopRequireDefault");var zp=ts(),hmt=Eo(),ij=G0e(hmt),pmt=ej(),Amt=F0e(),mmt=rj(),nD=G0e(mmt),gmt=nj(),ymt="4.7.9";Sl.VERSION=ymt;var Emt=8;Sl.COMPILER_REVISION=Emt;var Cmt=7;Sl.LAST_COMPATIBLE_COMPILER_REVISION=Cmt;var bmt={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"};Sl.REVISION_CHANGES=bmt;var sj="[object Object]";function oj(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},pmt.registerDefaultHelpers(this),Amt.registerDefaultDecorators(this)}o(oj,"HandlebarsEnvironment");oj.prototype={constructor:oj,logger:nD.default,log:nD.default.log,registerHelper:o(function(e,r){if(zp.toString.call(e)===sj){if(r)throw new ij.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)===sj)zp.extend(this.partials,e);else{if(typeof r>"u")throw new ij.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)===sj){if(r)throw new ij.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(){gmt.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var Imt=nD.default.log;Sl.log=Imt;Sl.createFrame=zp.createFrame;Sl.logger=nD.default});var V0e=A((sD,H0e)=>{"use strict";sD.__esModule=!0;function aj(t){this.string=t}o(aj,"SafeString");aj.prototype.toString=aj.prototype.toHTML=function(){return""+this.string};sD.default=aj;H0e.exports=sD.default});var z0e=A(cj=>{"use strict";cj.__esModule=!0;cj.wrapHelper=wmt;function wmt(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(wmt,"wrapHelper")});var K0e=A(Nf=>{"use strict";Nf.__esModule=!0;Nf.checkRevision=_mt;Nf.template=Tmt;Nf.wrapProgram=oD;Nf.resolvePartial=Rmt;Nf.invokePartial=Dmt;Nf.noop=J0e;function Smt(t){return t&&t.__esModule?t:{default:t}}o(Smt,"_interopRequireDefault");function Bmt(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(Bmt,"_interopRequireWildcard");var xmt=ts(),by=Bmt(xmt),vmt=Eo(),Xu=Smt(vmt),Zu=iD(),$0e=ej(),Nmt=z0e(),j0e=nj();function _mt(t){var e=t&&t[0]||1,r=Zu.COMPILER_REVISION;if(!(e>=Zu.LAST_COMPATIBLE_COMPILER_REVISION&&e<=Zu.COMPILER_REVISION))if(e<Zu.LAST_COMPATIBLE_COMPILER_REVISION){var n=Zu.REVISION_CHANGES[r],i=Zu.REVISION_CHANGES[e];throw new Xu.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 Xu.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(_mt,"checkRevision");function Tmt(t,e){if(!e)throw new Xu.default("No environment passed to template");if(!t||!t.main)throw new Xu.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=by.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 Xu.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 Xu.default('"'+l+'" not defined in '+c,{loc:u});return i.lookupProperty(c,l)},"strict"),lookupProperty:o(function(c,l){var u=c[l];if(u==null||Object.prototype.hasOwnProperty.call(c,l)||j0e.resultIsAllowed(u,i.protoAccessControl,l))return u},"lookupProperty"),lookup:o(function(c,l){for(var u=c.length,d=0;d<u;d++){var f=c[d]&&i.lookupProperty(c[d],l);if(f!=null)return f}},"lookup"),lambda:o(function(c,l){return typeof c=="function"?c.call(l):c},"lambda"),escapeExpression:by.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=oD(this,c,p,l,u,d,f):h||(h=this.programs[c]=oD(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=by.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=Qmt(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=Y0e(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={};W0e(c,e.helpers,i),W0e(c,a.helpers,i),i.helpers=c,t.usePartial&&(i.partials=i.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=by.extend({},e.decorators,a.decorators)),i.hooks={},i.protoAccessControl=j0e.createProtoAccessControl(a);var l=a.allowCallsToHelperMissing||r;$0e.moveHelperToHooks(i,"helperMissing",l),$0e.moveHelperToHooks(i,"blockHelperMissing",l)}},s._child=function(a,c,l,u){if(t.useBlockParams&&!l)throw new Xu.default("must pass block params");if(t.useDepths&&!u)throw new Xu.default("must pass parent depths");return oD(i,a,t[a],c,0,l,u)},s}o(Tmt,"template");function oD(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=Y0e(r,c,t,a,n,s),c.program=e,c.depth=a?a.length:0,c.blockParams=i||0,c}o(oD,"wrapProgram");function Rmt(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=aD(r.partials,t)):r.name==="@partial-block"?t=aD(r.data,"partial-block"):t=aD(r.partials,r.name),t}o(Rmt,"resolvePartial");function Dmt(t,e,r){var n=aD(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!==J0e&&(function(){r.data=Zu.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=Zu.createFrame(l.data),l.data["partial-block"]=n,s(c,l)},"partialBlockWrapper"),s.partials&&(r.partials=by.extend({},r.partials,s.partials))})(),t===void 0&&i&&(t=i),t===void 0)throw new Xu.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}o(Dmt,"invokePartial");function J0e(){return""}o(J0e,"noop");function aD(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}o(aD,"lookupOwnProperty");function Qmt(t,e){return(!e||!("root"in e))&&(e=e?Zu.createFrame(e):{},e.root=t),e}o(Qmt,"initData");function Y0e(t,e,r,n,i,s){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],i,s,n),by.extend(e,a)}return e}o(Y0e,"executeDecorators");function W0e(t,e,r){e&&Object.keys(e).forEach(function(n){var i=e[n];t[n]=kmt(i,r)})}o(W0e,"addHelpers");function kmt(t,e){var r=e.lookupProperty;return Nmt.wrapHelper(t,function(n){return n.lookupProperty=r,n})}o(kmt,"passLookupPropertyOption")});var lj=A((cD,X0e)=>{"use strict";cD.__esModule=!0;cD.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}};X0e.exports=cD.default});var nIe=A((lD,rIe)=>{"use strict";lD.__esModule=!0;function dj(t){return t&&t.__esModule?t:{default:t}}o(dj,"_interopRequireDefault");function fj(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(fj,"_interopRequireWildcard");var Pmt=iD(),Z0e=fj(Pmt),Omt=V0e(),Lmt=dj(Omt),Fmt=Eo(),Mmt=dj(Fmt),Umt=ts(),uj=fj(Umt),qmt=K0e
Line truncated
|
||||||
|
`+this.lexer.showPosition()+`
|
||||||
|
Expecting `+ae.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Ae="Parse error on line "+(f+1)+": Unexpected "+(B==1?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Ae,{text:this.lexer.match,token:this.terminals_[B]||B,line:this.lexer.yylineno,loc:E,expected:ae})}}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+B);switch(v[0]){case 1:a.push(B),c.push(this.lexer.yytext),l.push(this.lexer.yylloc),a.push(v[1]),B=null,Q?(B=Q,Q=null):(h=this.lexer.yyleng,d=this.lexer.yytext,f=this.lexer.yylineno,E=this.lexer.yylloc,p>0&&p--);break;case 2:if(J=this.productions_[v[1]][1],H.$=c[c.length-J],H._$={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&&(H._$.range=[l[l.length-(J||1)].range[0],l[l.length-1].range[1]]),D=this.performAction.call(H,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(H.$),l.push(H._$),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})();dD.default=Vmt;oIe.exports=dD.default});var AD=A((pD,uIe)=>{"use strict";pD.__esModule=!0;function zmt(t){return t&&t.__esModule?t:{default:t}}o(zmt,"_interopRequireDefault");var $mt=Eo(),pj=zmt($mt);function fD(){this.parents=[]}o(fD,"Visitor");fD.prototype={constructor:fD,mutating:!1,acceptKey:o(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!fD.prototype[n.type])throw new pj.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 pj.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 pj.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:hD,Decorator:hD,BlockStatement:cIe,DecoratorBlock:cIe,PartialStatement:lIe,PartialBlockStatement:o(function(e){lIe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:o(function(){},"ContentStatement"),CommentStatement:o(function(){},"CommentStatement"),SubExpression:hD,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=Oj(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=Oj(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(Oj(e[n],this));return r},"generateList"),generateArray:o(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};wD.default=zIe;$Ie.exports=wD.default});var XIe=A((SD,KIe)=>{"use strict";SD.__esModule=!0;function YIe(t){return t&&t.__esModule?t:{default:t}}o(YIe,"_interopRequireDefault");var WIe=iD(),Hgt=Eo(),Fj=YIe(Hgt),Vgt=ts(),zgt=jIe(),JIe=YIe(zgt);function vy(t){this.value=t}o(vy,"Literal");function Ny(){}o(Ny,"JavaScriptCompiler");Ny.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=WIe.COMPILER_REVISION,r=WIe.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:o(function(e,r,n){return Vgt.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 Fj.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 JIe.default(this.options.srcName),this.decorators=new JIe.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($gt(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 qj=A((Q0r,swe)=>{var vD=twe().default,iwe=rwe();vD.PrintVisitor=iwe.PrintVisitor;vD.print=iwe.print;swe.exports=vD;function nwe(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=vD.compile(n)}o(nwe,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=nwe,require.extensions[".hbs"]=nwe)});var gwe=A(DD=>{"use strict";Object.defineProperty(DD,"__esModule",{value:!0});DD.getProxyUrl=dyt;DD.checkBypass=mwe;function dyt(t){let e=t.protocol==="https:";if(mwe(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 RD(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new RD(`http://${r}`)}else return}o(dyt,"getProxyUrl");function mwe(t){if(!t.hostname)return!1;let e=t.hostname;if(fyt(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(mwe,"checkBypass");function fyt(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(fyt,"isLoopbackAddress");var RD=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 Ewe=A(Ir=>{"use strict";var hyt=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}),OD=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"&&hyt(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(UEt,"base64decode");Fy.base64decode=UEt;function qEt(t){let e="",r=0,n,i=0;for(let s=0;s<t.length;s++)switch(n=t[s],r){case 0:e+=sd[n>>2],i=(n&3)<<4,r=1;break;case 1:e+=sd[i|n>>4],i=(n&15)<<2,r=2;break;case 2:e+=sd[i|n>>6],e+=sd[n&63],r=0;break}return r&&(e+=sd[i],e+="=",r==1&&(e+="=")),e}o(qEt,"base64encode");Fy.base64encode=qEt});var xSe=A(XD=>{"use strict";Object.defineProperty(XD,"__esModule",{value:!0});XD.utf8read=void 0;var b8=o(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function GEt(t){if(t.length<1)return"";let e=0,r=[],n=[],i=0,s,a=t.length;for(;e<a;)s=t[e++],s<128?n[i++]=s:s>191&&s<224?n[i++]=(s&31)<<6|t[e++]&63:s>239&&s<365?(s=((s&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[i++]=55296+(s>>10),n[i++]=56320+(s&1023)):n[i++]=(s&15)<<12|(t[e++]&63)<<6|t[e++]&63,i>8191&&(r.push(b8(n)),i=0);return r.length?(i&&r.push(b8(n.slice(0,i))),r.join("")):b8(n.slice(0,i))}o(GEt,"utf8read");XD.utf8read=GEt});var _w=A(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.WireType=xl.mergeBinaryOptions=xl.UnknownFieldHandler=void 0;var HEt;(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")})(HEt=xl.UnknownFieldHandler||(xl.UnknownFieldHandler={}));function VEt(t,e){return Object.assign(Object.assign({},t),e)}o(VEt,"mergeBinaryOptions");xl.mergeBinaryOptions=VEt;var zEt;(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"})(zEt=xl.WireType||(xl.WireType={}))});var eQ=A(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.varint32read=Os.varint32write=Os.int64toString=Os.int64fromString=Os.varint64write=Os.varint64read=void 0;function $Et(){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($Et,"varint64read");Os.varint64read=$Et;function jEt(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(jEt,"varint64write");Os.varint64write=jEt;var ZD=65536*65536;function WEt(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>=ZD&&(i=i+(n/ZD|0),n=n%ZD)}return o(s,"add1e6digit"),s(-24,-18),s(-18,-12),s(-12,-6),s(-6),[e,n,i]}o(WEt,"int64fromString");Os.int64fromString=WEt;function JEt(t,e){if(e>>>0<=2097151)return""+(ZD*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(JEt,"int64toString");Os.int64toString=JEt;function YEt(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(YEt,"varint32write");Os.varint32write=YEt;function KEt(){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(KEt,"varint32read");Os.varint32read=KEt});var Qf=A(Df=>{"use strict";Object.defineProperty(Df,"__esModule",{value:!0});Df.PbLong=Df.PbULong=Df.detectBi=void 0;var Tw=eQ(),Jt;function vSe(){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
|
||||||
|
`)}};vQ.RpcError=a6});var l6=A(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});_Q.mergeRpcOptions=void 0;var cBe=cr();function Ebt(t,e){if(!e)return t;let r={};NQ(t,r),NQ(e,r);for(let n of Object.keys(e)){let i=e[n];switch(n){case"jsonOptions":r.jsonOptions=cBe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=cBe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},NQ(t.meta,r.meta),NQ(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}o(Ebt,"mergeRpcOptions");_Q.mergeRpcOptions=Ebt;function NQ(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(NQ,"copy")});var d6=A(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:!0});rA.Deferred=rA.DeferredState=void 0;var Ql;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(Ql=rA.DeferredState||(rA.DeferredState={}));var u6=class{static{o(this,"Deferred")}constructor(e=!0){this._state=Ql.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!==Ql.PENDING)throw new Error(`cannot resolve ${Ql[this.state].toLowerCase()}`);this._resolve(e),this._state=Ql.RESOLVED}reject(e){if(this.state!==Ql.PENDING)throw new Error(`cannot reject ${Ql[this.state].toLowerCase()}`);this._reject(e),this._state=Ql.REJECTED}resolvePending(e){this._state===Ql.PENDING&&this.resolve(e)}rejectPending(e){this._state===Ql.PENDING&&this.reject(e)}};rA.Deferred=u6});var h6=A(TQ=>{"use strict";Object.defineProperty(TQ,"__esModule",{value:!0});TQ.RpcOutputStreamController=void 0;var lBe=d6(),nA=cr(),f6=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 lBe.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r)if(r.p){let n=r.p;nA.assert(n.state==lBe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};TQ.RpcOutputStreamController=f6});var A6=A(jy=>{"use strict";var Cbt=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,"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(jy,"__esModule",{value:!0});jy.UnaryCall=void 0;var p6=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 Cbt(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}})}};jy.UnaryCall=p6});var g6=A(Wy=>{"use strict";var bbt=Wy&&Wy.__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 zBe(this.pattern,this.options)}parse(e,r){OQ(e);let n=this.options;if(e==="**")if(n.noglobstar)e="*";else return fc;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+=X6,s=!0;break;case"?":i+=tW,s=!0;break;default:i+="\\"+u;break}this.debug("clearStateChar %j %j",u,i),u=!1}},"clearStateChar");for(let v=0,$;v<e.length&&($=e.charAt(v));v++){if(this.debug("%s %s %s %j",e,v,i,$),a){if($==="/")return!1;GBe[$]&&(i+="\\"),i+=$,a=!1;continue}switch($){case"/":return!1;case"\\":if(d&&e.charAt(v+1)==="-"){i+=$;continue}B(),a=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",e,v,i,$),d){this.debug(" in class"),$==="!"&&v===h+1&&($="^"),i+=$;continue}this.debug("call clearStateChar %j",u),B(),u=$,n.noext&&B();continue;case"(":{if(d){i+="(";continue}if(!u){i+="\\(";continue}let D={type:u,start:v-1,reStart:i.length,open:qBe[u].open,close:qBe[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+="\\"+$;continue}d=!0,h=v,f=i.length,i+=$;continue;case"]":if(v===h+1||!d){i+="\\"+$;continue}p=e.substring(h+1,v);try{RegExp("["+u0t(c0t(p))+"]"),i+=$}catch{i=i.substring(0,f)+"(?:$.)"}s=!0,d=!1;continue;default:B(),GBe[$]&&!($==="^"&&d)&&(i+="\\"),i+=$;break}}for(d&&(p=e.slice(h+1),m=this.parse(p,Z6),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,H,V)=>(V||(V="\\"),H+H+V+"|")),this.debug(`tail=%j
|
||||||
|
%s`,v,v,g,i);let $=g.type==="*"?X6:g.type==="?"?tW:"\\"+g.type;s=!0,i=i.slice(0,g.reStart)+$+"\\("+v}B(),a&&(i+="\\\\");let Q=s0t[i.charAt(0)];for(let v=l.length-1;v>-1;v--){let $=l[v],D=i.slice(0,$.reStart),H=i.slice($.reStart,$.reEnd-8),V=i.slice($.reEnd),J=i.slice($.reEnd-8,$.reEnd)+V,ee=D.split(")").length,ae=D.split("(").length-ee,Ae=V;for(let z=0;z<ae;z++)Ae=Ae.replace(/\)[+*?]?/,"");V=Ae;let Y=V===""&&r!==Z6?"(?:$|\\/)":"";i=D+H+V+Y+J}if(i!==""&&s&&(i="(?=.)"+i),Q&&(i=C()+i),r===Z6)return[i,s];if(n.nocase&&!s&&(s=e.toUpperCase()!==e.toLowerCase()),!s)return a0t(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?X6:r.dot?n0t:i0t,i=r.nocase?"i":"",s=e.map(a=>(a=a.map(c=>typeof c=="string"?l0t(c):c===fc?fc:c._src).reduce((c,l)=>(c[c.length-1]===fc&&l===fc||c.push(l),c),[]),a.forEach((c,l)=>{c!==fc||a[l-1]===fc||(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]=fc))}),a.filter(c=>c!==fc).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;eW.sep!=="/"&&(e=e.split(eW.sep).join("/")),e=e.split(HBe),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 So.defaults(e).Minimatch}};So.Minimatch=nE});var KBe=A((Gvr,YBe)=>{YBe.exports=JBe;var iW=require("fs"),{EventEmitter:d0t}=require("events"),{Minimatch:nW}=$Be(),{resolve:f0t}=require("path");function h0t(t,e){return new Promise((r,n)=>{iW.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(h0t,"readdir");function jBe(t,e){return new Promise((r,n)=>{(e?iW.stat:iW.lstat)(t,(s,a)=>{s?s.code==="ENOENT"?r(e?jBe(t,!1):null):r(null):r(a)})})}o(jBe,"stat");async function*WBe(t,e,r,n,i,s){let a=await h0t(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 jBe(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*WBe(u,e,r,n,i,!1)):yield{relative:d,absolute:f,stats:h}}}o(WBe,"exploreWalkAsync");async function*p0t(t,e,r,n){yield*WBe("",t,e,r,n,!0)}o(p0t,"explore");function A0t(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(A0t,"readOptions");var LQ=class extends d0t{static{o(this,"ReaddirGlob")}constructor(e,r,n){if(super(),typeof r=="function"&&(n=r,r=null),this.options=A0t(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 nW(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 nW(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 nW(s,{dot:!0}))}this.iterator=p0t(f0t(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(HC,"stripComments");function WB(w){let b=HC(w.toString()),S=b.match(Qd);if(S||(S=b.match(fu)),!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(GC,"").trim())}o(WB,"parseParams");function nm(w,b){var S={};return Object.keys(w).forEach(T=>{var k=w[T],L,U=p(k),G=!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(G)S[T]=k;else{if(L=WB(k),k.length===0&&!U&&L.length===0)throw new Error("autoInject task functions require explicit parameters.");U||L.pop(),S[T]=L.concat(W)}function W(Se,bt){var Rt=L.map(St=>Se[St]);Rt.push(bt),E(k)(...Rt)}o(W,"newTask")}),Dd(S,b)}o(nm,"autoInject");class JB{static{o(this,"DLL")}constructor(){this.head=this.tail=null,this.length=0}removeLink(b){return b.prev?b.prev.next=b.next:this.head=b.next,b.next?b.next.prev=b.prev:this.tail=b.prev,b.prev=b.next=null,this.length-=1,b}empty(){for(;this.head;)this.shift();return this}insertAfter(b,S){S.prev=b,S.next=b.next,b.next?b.next.prev=S:this.tail=S,b.next=S,this.length+=1}insertBefore(b,S){S.prev=b.prev,S.next=b,b.prev?b.prev.next=S:this.head=S,b.prev=S,this.length+=1}unshift(b){this.head?this.insertBefore(this.head,b):VC(this,b)}push(b){this.tail?this.insertAfter(this.tail,b):VC(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 VC(w,b){w.length=1,w.head=w.tail=b}o(VC,"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 G(Pe,Ie){U[Pe].push(Ie)}o(G,"on");function W(Pe,Ie){let Oe=o((...Bt)=>{Se(Pe,Oe),Ie(...Bt)},"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 bt(Pe,...Ie){U[Pe].forEach(Oe=>Oe(...Ie))}o(bt,"trigger");var Rt=!1;function St(Pe,Ie,Oe,Bt){if(Bt!=null&&typeof Bt!="function")throw new Error("task callback must be a function");Dt.started=!0;var Ar,Un;function Do(vh,...KC){if(vh)return Oe?Un(vh):Ar();if(KC.length<=1)return Ar(KC[0]);Ar(KC)}o(Do,"promiseCallback");var cm=Dt._createTaskItem(Pe,Oe?Do:Bt||Do);if(Ie?Dt._tasks.unshift(cm):Dt._tasks.push(cm),Rt||(Rt=!0,u(()=>{Rt=!1,Dt.process()})),Oe||!Bt)return new Promise((vh,KC)=>{Ar=vh,Un=KC})}o(St,"_insert");function Ro(Pe){return function(Ie,...Oe){k-=1;for(var Bt=0,Ar=Pe.length;Bt<Ar;Bt++){var Un=Pe[Bt],Do=L.indexOf(Un);Do===0?L.shift():Do>0&&L.splice(Do,1),Un.callback(Ie,...Oe),Ie!=null&&bt("error",Ie,Un.data)}k<=Dt.concurrency-Dt.buffer&&bt("unsaturated"),Dt.idle()&&bt("drain"),Dt.process()}}o(Ro,"_createCB");function am(Pe){return Pe.length===0&&Dt.idle()?(u(()=>bt("drain")),!0):!1}o(am,"_maybeDrain");let xh=o(Pe=>Ie=>{if(!Ie)return new Promise((Oe,Bt)=>{W(Pe,(Ar,Un)=>{if(Ar)return Bt(Ar);Oe(Un)})});Se(Pe),G(Pe,Ie)},"eventMethod");var YC=!1,Dt={_tasks:new JB,_createTaskItem(Pe,Ie){return{data:Pe,callback:Ie}},*[Symbol.iterator](){yield*Dt._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=>St(Oe,!1,!1,Ie)):St(Pe,!1,!1,Ie)},pushAsync(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>St(Oe,!1,!0,Ie)):St(Pe,!1,!0,Ie)},kill(){Se(),Dt._tasks.empty()},unshift(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>St(Oe,!0,!1,Ie)):St(Pe,!0,!1,Ie)},unshiftAsync(Pe,Ie){return Array.isArray(Pe)?am(Pe)?void 0:Pe.map(Oe=>St(Oe,!0,!0,Ie)):St(Pe,!0,!0,Ie)},remove(Pe){Dt._tasks.remove(Pe)},process(){if(!YC){for(YC=!0;!Dt.paused&&k<Dt.concurrency&&Dt._tasks.length;){var Pe=[],Ie=[],Oe=Dt._tasks.length;Dt.payload&&(Oe=Math.min(Oe,Dt.payload));for(var Bt=0;Bt<Oe;Bt++){var Ar=Dt._tasks.shift();Pe.push(Ar),L.push(Ar),Ie.push(Ar.data)}k+=1,Dt._tasks.length===0&&bt("empty"),k===Dt.concurrency&&bt("saturated");var Un=ee(Ro(Pe));T(Ie,Un)}YC=!1}},length(){return Dt._tasks.length},running(){return k},workersList(){return L},idle(){return Dt._tasks.length+k===0},pause(){Dt.paused=!0},resume(){Dt.paused!==!1&&(Dt.paused=!1,u(Dt.process))}};return Object.defineProperties(Dt,{saturated:{writable:!1,value:xh("saturated")},unsaturated:{writable:!1,value:xh("unsaturated")},empty:{writable:!1,value:xh("empty")},drain:{writable:!1,value:xh("drain")},error:{writable:!1,value:xh("error")}}),Dt}o(im,"queue$1");function sm(w,b){return im(w,1,b)}o(sm,"cargo$1");function Vs(w,b,S){return im(w,b,S)}o(Vs,"cargo");function YB(w,b,S,T){T=v(T);var k=E(S);return Jr(w,(L,U,G)=>{k(b,L,(W,Se)=>{b=Se,G(W)})},L=>T(L,b))}o(YB,"reduce");var Pa=y(YB,4);function zC(...w){var b=w.map(E);return function(...S){var T=this,k=S[S.length-1];return typeof k=="function"?S.pop():k=ka(),Pa(b,S,(L,U,G)=>{U.apply(T,L.concat((W,...Se)=>{G(W,Se)}))},(L,U)=>k(L,...U)),k[As]}}o(zC,"seq");function be(...w){return zC(...w.revers
Line truncated
|
||||||
|
GFS4: `),console.error(t)},"debug"));_r[gi]||(axe=global[gi]||[],lxe(_r,axe),_r.close=(function(t){function e(r,n){return t.call(_r,r,function(i){i||cxe(),typeof n=="function"&&n.apply(this,arguments)})}return o(e,"close"),Object.defineProperty(e,GQ,{value:t}),e})(_r.close),_r.closeSync=(function(t){function e(r){t.apply(_r,arguments),cxe()}return o(e,"closeSync"),Object.defineProperty(e,GQ,{value:t}),e})(_r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){sA(_r[gi]),require("assert").equal(_r[gi].length,0)}));var axe;global[gi]||lxe(global,_r[gi]);cW.exports=oW(S0t(_r));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!_r.__patched&&(cW.exports=oW(_r),_r.__patched=!0);function oW(t){I0t(t),t.gracefulify=oW,t.createReadStream=Q,t.createWriteStream=M;var e=t.readFile;t.readFile=r;function r(D,H,V){return typeof H=="function"&&(V=H,H=null),J(D,H,V);function J(ee,ae,Ae,Y){return e(ee,ae,function(z){z&&(z.code==="EMFILE"||z.code==="ENFILE")?iE([J,[ee,ae,Ae],z,Y||Date.now(),Date.now()]):typeof Ae=="function"&&Ae.apply(this,arguments)})}o(J,"go$readFile")}o(r,"readFile");var n=t.writeFile;t.writeFile=i;function i(D,H,V,J){return typeof V=="function"&&(J=V,V=null),ee(D,H,V,J);function ee(ae,Ae,Y,z,we){return n(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?iE([ee,[ae,Ae,Y,z],Be,we||Date.now(),Date.now()]):typeof z=="function"&&z.apply(this,arguments)})}o(ee,"go$writeFile")}o(i,"writeFile");var s=t.appendFile;s&&(t.appendFile=a);function a(D,H,V,J){return typeof V=="function"&&(J=V,V=null),ee(D,H,V,J);function ee(ae,Ae,Y,z,we){return s(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?iE([ee,[ae,Ae,Y,z],Be,we||Date.now(),Date.now()]):typeof z=="function"&&z.apply(this,arguments)})}o(ee,"go$appendFile")}o(a,"appendFile");var c=t.copyFile;c&&(t.copyFile=l);function l(D,H,V,J){return typeof V=="function"&&(J=V,V=0),ee(D,H,V,J);function ee(ae,Ae,Y,z,we){return c(ae,Ae,Y,function(Be){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?iE([ee,[ae,Ae,Y,z],Be,we||Date.now(),Date.now()]):typeof z=="function"&&z.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,H,V){typeof H=="function"&&(V=H,H=null);var J=d.test(process.version)?o(function(Ae,Y,z,we){return u(Ae,ee(Ae,Y,z,we))},"go$readdir"):o(function(Ae,Y,z,we){return u(Ae,Y,ee(Ae,Y,z,we))},"go$readdir");return J(D,H,V);function ee(ae,Ae,Y,z){return function(we,Be){we&&(we.code==="EMFILE"||we.code==="ENFILE")?iE([J,[ae,Ae,Y],we,z||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=w0t(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,H){return this instanceof y?(p.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}o(y,"ReadStream");function C(){var D=this;$(D.path,D.flags,D.mode,function(H,V){H?(D.autoClose&&D.destroy(),D.emit("error",H)):(D.fd=V,D.emit("open",V),D.read())})}o(C,"ReadStream$open");function I(D,H){return this instanceof I?(g.apply(this,arguments),this):I.apply(Object.create(I.prototype),arguments)}o(I,"WriteStream");function B(){var D=this;$(D.path,D.flags,D.mode,function(H,V){H?(D.destroy(),D.emit("error",H)):(D.fd=V,D.emit("open",V))})}o(B,"WriteStream$open");function Q(D,H){return new t.ReadStream(D,H)}o(Q,"createReadStream");function M(D,H){return new t.WriteStream(D,H)}o(M,"createWriteStream");var v=t.open;t.open=$;function $(D,H,V,J){return typeof V=="function"&&(J=V,V=null),ee(D,H,V,J);function ee(ae,Ae,Y,z,we){return v(ae,Ae,Y,function(Be,st){Be&&(Be.code==="EMFILE"||Be.code==="ENFILE")?iE([ee,[ae,Ae,Y,z],Be,we||Date.now(),Date.now()]):typeof z=="function"&&z.apply(this,arguments)})}o(ee,"go$open")}return o($,"open"),t}o(oW,"patch");function iE(t){sA("ENQUEUE",t[0].name,t[1]),_r[gi].push(t),aW()}o(iE,"enqueue");var qQ;function cxe(){for(var t=Date.now(),e=0;e<_r[gi].length;++e)_r[gi][e].length>2&&(_r[gi][e][3]=t,_r[gi][e][4]=t);aW()}o(cxe,"resetQueue");function aW(){if(clearTimeout(qQ),qQ=void 0,_r[gi].length!==0){var t=_r[gi].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}};WW.exports={AggregateError:jW,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 axt},isArrayBufferView(t){return ArrayBuffer.isView(t)}},isBlob:cxt,deprecate(t,e){return t},addAbortListener:require("events").addAbortListener||o(function(e,r){if(e===void 0)throw new ERR_INVALID_ARG_TYPE("signal","AbortSignal",e);r_e(e,"signal"),lxt(r,"listener");let n;return e.aborted?queueMicrotask(()=>r()):(e.addEventListener("abort",r,{__proto__:null,once:!0,[nxt]:!0}),n=o(()=>{e.removeEventListener("abort",r)},"removeEventListener")),{__proto__:null,[ixt](){var i;(i=n)===null||i===void 0||i()}}},"addAbortListener"),AbortSignalAny:sxt.any||o(function(e){if(e.length===1)return e[0];let r=new oxt,n=o(()=>r.abort(),"abort");return e.forEach(i=>{r_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")};WW.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")});var os=A((sTr,s_e)=>{"use strict";var{format:uxt,inspect:d1,AggregateError:dxt}=Ri(),fxt=globalThis.AggregateError||dxt,hxt=Symbol("kIsNodeError"),pxt=["string","function","number","object","Function","Object","boolean","bigint","symbol"],Axt=/^([A-Z][a-z0-9]*)+$/,mxt="__node_internal_",f1={};function cA(t,e){if(!t)throw new f1.ERR_INTERNAL_ASSERTION(e)}o(cA,"assert");function n_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(n_e,"addNumericalSeparator");function gxt(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:uxt(e,...r)}o(gxt,"getMessage");function Ei(t,e,r){r||(r=Error);class n extends r{static{o(this,"NodeError")}constructor(...s){super(gxt(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[hxt]=!0,f1[t]=n}o(Ei,"E");function i_e(t){let e=mxt+t.name;return Object.defineProperty(t,"name",{value:e}),t}o(i_e,"hideStackFrames");function yxt(t,e){if(t&&e&&t!==e){if(Array.isArray(e.errors))return e.errors.push(t),e;let r=new fxt([e,t],e.message);return r.code=e.code,r}return t||e}o(yxt,"aggregateTwoErrors");var JW=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 f1.ERR_INVALID_ARG_TYPE("options","Object",r);super(e,r),this.code="ABORT_ERR",this.name="AbortError"}};Ei("ERR_ASSERTION","%s",Error);Ei("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()):Axt.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+=BY(" linkpath="+e.linkname+`
|
||||||
|
`));let n=e.pax;if(n)for(let i in n)r+=BY(" "+i+"="+n[i]+`
|
||||||
|
`);return _t.from(r)},"encodePax");jE.decodePax=o(function(e){let r={};for(;e.length;){let n=0;for(;n<e.length&&e[n]!==32;)n++;let i=parseInt(_t.toString(e.subarray(0,n)),10);if(!i)return r;let s=_t.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");jE.encode=o(function(e){let r=_t.alloc(512),n=e.name,i="";if(e.typeflag===5&&n[n.length-1]!=="/"&&(n+="/"),_t.byteLength(n)!==n.length)return null;for(;_t.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 _t.byteLength(n)>100||_t.byteLength(i)>155||e.linkname&&_t.byteLength(e.linkname)>100?null:(_t.write(r,n),_t.write(r,Zf(e.mode&kPt,6),100),_t.write(r,Zf(e.uid,6),108),_t.write(r,Zf(e.gid,6),116),qPt(e.size,r,124),_t.write(r,Zf(e.mtime.getTime()/1e3|0,11),136),r[156]=Gk+MPt(e.type),e.linkname&&_t.write(r,e.linkname,157),_t.copy(ike,r,sB),_t.copy(RPt,r,xY),e.uname&&_t.write(r,e.uname,265),e.gname&&_t.write(r,e.gname,297),_t.write(r,Zf(e.devmajor||0,6),329),_t.write(r,Zf(e.devminor||0,6),337),i&&_t.write(r,i,345),_t.write(r,Zf(oke(r),6),148),r)},"encode");jE.decode=o(function(e,r,n){let i=e[156]===0?0:e[156]-Gk,s=$E(e,0,100,r),a=Xf(e,100,8),c=Xf(e,108,8),l=Xf(e,116,8),u=Xf(e,124,12),d=Xf(e,136,12),f=FPt(i),h=e[157]===0?null:$E(e,157,100,r),p=$E(e,265,32),g=$E(e,297,32),m=Xf(e,329,8),E=Xf(e,337,8),y=oke(e);if(y===256)return null;if(y!==Xf(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(PPt(e))e[345]&&(s=$E(e,345,155,r)+"/"+s);else if(!OPt(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 PPt(t){return _t.equals(ike,t.subarray(sB,sB+6))}o(PPt,"isUSTAR");function OPt(t){return _t.equals(DPt,t.subarray(sB,sB+6))&&_t.equals(QPt,t.subarray(xY,xY+2))}o(OPt,"isGNU");function LPt(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)}o(LPt,"clamp");function FPt(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(FPt,"toType");function MPt(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(MPt,"toTypeflag");function ske(t,e,r,n){for(;r<n;r++)if(t[r]===e)return r;return n}o(ske,"indexOf");function oke(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(oke,"cksum");function Zf(t,e){return t=t.toString(8),t.length>e?TPt.slice(0,e)+" ":_Pt.slice(0,e-t.length)+t+" "}o(Zf,"encodeOct");function UPt(t,e,r){e[r]=128;for(let n=11;n>0;n--)e[r+n]=t&255,t=Math.floor(t/256)}o(UPt,"encodeSizeBin");function qPt(t,e,r){t.toString(8).length>11?UPt(t,e,r):_t.write(e,Zf(t,11),r)}o(qPt,"encodeSize");function GPt(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(GPt,"parse256");function Xf(t,e,r){if(t=t.subarray(e,e+r),e=0,t[e]&128)return GPt(t);{for(;e<t.length&&t[e]===32;)e++;let n=LPt(ske(t,32,e,t.length),t.length,t.length);for(;e<n&&t[e]===0;)e++;return n===e?0:parseInt(_t.toString(t.subarray(e,n)),8)}}o(Xf,"decodeOct");function $E(t,e,r,n){return _t.toString(t.subarray(e,ske(t,0,e,e+r)),n)}o($E,"decodeStr");function BY(t){let e=_t.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t}o(BY,"addLength")});var dke=A((fQr,uke)=>{var{Writable:HPt,Readable:VPt,getStreamError:ake}=SY(),zPt=cY(),cke=qk(),WE=vY(),$Pt=cke.alloc(0),_Y=class{static{o(this,"BufferList")}constructor(){this.buffered=0,this.shifted=0,this.queue=new zPt,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 $Pt;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 cke.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)}},TY=class extends VPt{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+"+tO.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=oGt()+e+" "+t[0]}o(sGt,"formatArgs");function oGt(){return si.inspectOpts.hideDate?"":new Date().toISOString()+" "}o(oGt,"getDate");function aGt(...t){return process.stderr.write(eO.formatWithOptions(si.inspectOpts,...t)+`
|
||||||
|
`)}o(aGt,"log");function cGt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}o(cGt,"save");function lGt(){return process.env.DEBUG}o(lGt,"load");function uGt(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(uGt,"init");tO.exports=A7()(si);var{formatters:pFe}=tO.exports;pFe.o=function(t){return this.inspectOpts.colors=this.useColors,eO.inspect(t,this.inspectOpts).split(`
|
||||||
|
`).map(e=>e.trim()).join(" ")};pFe.O=function(t){return this.inspectOpts.colors=this.useColors,eO.inspect(t,this.inspectOpts)}});var g7=A((GLr,m7)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?m7.exports=hFe():m7.exports=AFe()});var nO=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 y7=class extends Error{static{o(this,"ValueError")}};Wr.ValueError=y7;var E7=class extends Error{static{o(this,"RuntimeError")}};Wr.RuntimeError=E7;var C7=class extends Error{static{o(this,"PersistError")}};Wr.PersistError=C7;var _B=class extends Error{static{o(this,"RepositoryError")}};Wr.RepositoryError=_B;var rO=class extends _B{static{o(this,"BadVersionError")}};Wr.BadVersionError=rO;var b7=class extends rO{static{o(this,"EqualVersionError")}};Wr.EqualVersionError=b7;var I7=class extends _B{static{o(this,"ExpiredMetadataError")}};Wr.ExpiredMetadataError=I7;var TB=class extends Error{static{o(this,"DownloadError")}};Wr.DownloadError=TB;var w7=class extends TB{static{o(this,"DownloadLengthMismatchError")}};Wr.DownloadLengthMismatchError=w7;var S7=class extends TB{static{o(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};Wr.DownloadHTTPError=S7});var gFe=A(CC=>{"use strict";var x7=CC&&CC.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CC,"__esModule",{value:!0});CC.withTempFile=void 0;var B7=x7(require("fs/promises")),dGt=x7(require("os")),mFe=x7(require("path")),fGt=o(async t=>hGt(async e=>t(mFe.default.join(e,"tempfile"))),"withTempFile");CC.withTempFile=fGt;var hGt=o(async t=>{let e=await B7.default.realpath(dGt.default.tmpdir()),r=await B7.default.mkdtemp(e+mFe.default.sep);try{return await t(r)}finally{await B7.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var EFe=A((jLr,yFe)=>{var v7=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)}};yFe.exports={RetryOperation:v7}});var IFe=A((JLr,bFe)=>{var{RetryOperation:pGt}=EFe(),CFe=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"),AGt=o(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),mGt=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(CFe(s,i));r.sort((s,a)=>s-a)}else e.forever&&r.push(CFe(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(!AGt(c))return s(c);if(!n.retry(c.retried||new Error))return s(c.retried)}})})},"promiseRetry");bFe.exports={promiseRetry:mGt}});var T7=A(ph=>{"use strict";var _7=ph&&ph.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ph,"__esModule",{value:!0});ph.DefaultFetcher=ph.BaseFetcher=void 0;var gGt=_7(g7()),wFe=_7(require("fs")),yGt=_7(require("util")),SFe=nO(),EGt=gFe(),CGt=IFe(),bGt=(0,gGt.default)("tuf:fetch"),IGt="User-Agent",iO=class{static{o(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,EGt.withTempFile)(async i=>{let s=await this.fetch(e),a=0,c=wFe.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 SFe.DownloadLengthMismatchError("Max length reached");await wGt(c,Buffer.from(d))}}finally{l.releaseLock(),await yGt.default.promisify(c.close).bind(c)()}return n(i)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let i=wFe.defau
Line truncated
|
||||||
|
`).forEach(r=>{r.match(NHt)||r.match(_Ht)||(e+=r)}),Buffer.from(e,"base64")}o(THt,"toDER");function RHt(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
|
||||||
|
`).concat(`
|
||||||
|
`)}o(RHt,"fromDER")});var CO=A(Eh=>{"use strict";Object.defineProperty(Eh,"__esModule",{value:!0});Eh.SHA2_HASH_ALGOS=Eh.RSA_SIGNATURE_ALGOS=Eh.ECDSA_SIGNATURE_ALGOS=void 0;Eh.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"};Eh.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"};Eh.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 eX=A(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});bO.RFC3161TimestampVerificationError=void 0;var Z7=class extends Error{static{o(this,"RFC3161TimestampVerificationError")}};bO.RFC3161TimestampVerificationError=Z7});var eMe=A(tu=>{"use strict";var DHt=tu&&tu.__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]})),QHt=tu&&tu.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),kHt=tu&&tu.__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"&&DHt(r,e,n[i]);return QHt(r,e),r}})();Object.defineProperty(tu,"__esModule",{value:!0});tu.TSTInfo=void 0;var ZFe=kHt(xC()),PHt=CO(),OHt=eX(),tX=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 PHt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=ZFe.digest(this.messageImprintHashAlgorithm,e);if(!ZFe.bufferEqual(r,this.messageImprintHashedMessage))throw new OHt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};tu.TSTInfo=tX});var rMe=A(ru=>{"use strict";var LHt=ru&&ru.__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]})),FHt=ru&&ru.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),MHt=ru&&ru.__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"&&LHt(r,e,n[i]);return FHt(r,e),r}})();Object.defineProperty(ru,"__esModule",{value:!0});ru.RFC3161Timestamp=void 0;var UHt=gO(),rX=MHt(xC()),tMe=CO(),OB=eX(),qHt=eMe(),GHt="1.2.840.113549.1.7.2",HHt="1.2.840.113549.1.9.16.1.4",VHt="1.2.840.113549.1.9.4",nX=class t{static{o(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=UHt.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 tMe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return tMe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new qHt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new OB.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==GHt)throw new OB.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==HHt)throw new OB.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=rX.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu
Line truncated
|
||||||
|
|
||||||
|
`,uVt=/\u2014 (\S+) (\S+)\n/g;function dVt(t,e){let r=t.inclusionProof,n=QX.fromString(r.checkpoint.envelope),i=qO.fromString(n.note);if(!fVt(n,e))throw new QC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return i}o(dVt,"verifyCheckpoint");function fVt(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let i=e.find(s=>OMe.crypto.bufferEqual(s.logID.subarray(0,4),n.keyHint)&&s.baseURL.includes(n.name));return i?OMe.crypto.verify(r,i.publicKey,n.signature):!1})}o(fVt,"verifySignedNote");var QX=class t{static{o(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(DX))throw new QC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(DX),n=e.slice(0,r+1),s=e.slice(r+DX.length).matchAll(uVt),a=Array.from(s,c=>{let[,l,u]=c,d=Buffer.from(u,"base64");if(d.length<5)throw new QC.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 QC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(n,a)}},qO=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 QC.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 QC.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint log size"})}let s=Buffer.from(r[2],"base64"),a=r.slice(3);return new t(n,i,s,a)}};qB.LogCheckpoint=qO});var FMe=A(OX=>{"use strict";Object.defineProperty(OX,"__esModule",{value:!0});OX.verifyMerkleInclusion=AVt;var PX=bc(),GO=Mi(),hVt=Buffer.from([0]),pVt=Buffer.from([1]);function AVt(t,e){let r=t.inclusionProof,n;try{n=BigInt(r.logIndex)}catch{throw new GO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid inclusion proof log index"})}let i=BigInt(e.logSize);if(n<0n||n>=i)throw new GO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:s,border:a}=mVt(n,i);if(r.hashes.length!==s+a)throw new GO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,s),l=r.hashes.slice(s),u=IVt(t.canonicalizedBody),d=yVt(gVt(u,c,n),l);if(!PX.crypto.bufferEqual(d,e.logHash))throw new GO.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}o(AVt,"verifyMerkleInclusion");function mVt(t,e){let r=EVt(t,e),n=CVt(t>>BigInt(r));return{inner:r,border:n}}o(mVt,"decompInclProof");function gVt(t,e,r){return e.reduce((n,i,s)=>r>>BigInt(s)&BigInt(1)?kX(i,n):kX(n,i),t)}o(gVt,"chainInner");function yVt(t,e){return e.reduce((r,n)=>kX(n,r),t)}o(yVt,"chainBorderRight");function EVt(t,e){return bVt(t^e-BigInt(1))}o(EVt,"innerProofSize");function CVt(t){return t.toString(2).split("1").length-1}o(CVt,"onesCount");function bVt(t){return t===0n?0:t.toString(2).length}o(bVt,"bitLength");function kX(t,e){return PX.crypto.digest("sha256",pVt,t,e)}o(kX,"hashChildren");function IVt(t){return PX.crypto.digest("sha256",hVt,t)}o(IVt,"hashLeaf")});var UMe=A(LX=>{"use strict";Object.defineProperty(LX,"__esModule",{value:!0});LX.verifyTLogSET=BVt;var MMe=bc(),wVt=Mi(),SVt=_C();function BVt(t,e){if(!(0,SVt.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(i=>{let s=xVt(t),a=Buffer.from(MMe.json.canonicalize(s),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return MMe.crypto.verify(a,i.publicKey,c)}))throw new wVt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}o(BVt,"verifyTLogSET");function xVt(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(xVt,"toVerificationPayload")});var GMe=A(VO=>{"use strict";Object.defineProperty(VO,"__esModule",{value:!0});VO.verifyTLogBody=RVt;VO.verifyTLogInclusion=DVt;var qMe=DMe(),HO=Mi(),FX=QMe(),MX=kMe(),vVt=PMe(),NVt=LMe(),_Vt=FMe(),TVt=UMe();function RVt(t,e){let{kind:r,version:n}=t.kindVersion,i;try{i=JSON.parse(t.canonicalizedBody.toString("utf8"))}catch{throw new HO.VerificationError({code:"TLOG_BODY_ERROR",message:"invalid canonicalized body"})}if(r!==i.kind||n!==i.apiVersion)throw new HO.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${i.kind}/${i.apiVersion}`});switch(r){case"dsse":if(n==FX.DSSE_API_VERSION_V1)return(0,FX.verifyDSSETLogBody)(i,e);{let s=qMe.Entry.fromJSON(i);return(0,FX.verifyDSSETLogBodyV2)(s,e)}case"intoto":return(0,vVt.verifyIntotoTLogBody)(i,e);case"hashedrekord":if(n==MX.HASHEDREKORD_API_VERSION_V1)return(0,MX.verifyHashedRekordTLogBody)(i,e);{let s=qMe.Entry.fromJSON(i);return(0,MX.verifyHashedRekordTLogBodyV2)(s,e)}default:throw new HO.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}o(RVt,"verifyTLogBody");function DVt(t,e){let r=!1;if(QVt(t)&&((0,TVt.verifyTLogSET)(t,e),r=!0),kVt(t)){let n=(0,NVt.verifyCheckpoint)(t,e);(0,_Vt.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new HO.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}o(DVt,"verifyTLogInclusion");function QVt(t){return t.inclusionPromise!==void 0}o(QVt,"isTLogEntryWithInclusionPromise");function kVt(t){return t.inclusionProof!==void 0}o(kVt,"isTLogEntryWithInclusionProof")});var $Me=A(zO=>{"use strict";Object.defineProperty(zO,"__esModule",{value:!0});zO.Verifier=void 0;var PVt=require("util"),rm=Mi(),HMe=CMe(),UX=bMe(),VMe=SMe(),zMe=GMe(),GX=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 IN(t,e){if(process.env.GITHUB_OUTPUT||"")return bx("OUTPUT",yL(t,e));process.stdout.write(cq.EOL),pu("set-output",{name:t},hu(e))}o(IN,"setOutput");function wN(t){process.exitCode=aq.Failure,dg(t)}o(wN,"setFailed");function np(){return process.env.RUNNER_DEBUG==="1"}o(np,"isDebug");function R(t){pu("debug",{},t)}o(R,"debug");function dg(t,e={}){pu("error",AL(e),t instanceof Error?t.toString():t)}o(dg,"error");function ut(t,e={}){pu("warning",AL(e),t instanceof Error?t.toString():t)}o(ut,"warning");function O(t){process.stdout.write(t+cq.EOL)}o(O,"info");function UJe(t){gL("group",t)}o(UJe,"startGroup");function qJe(){gL("endgroup")}o(qJe,"endGroup");function kr(t,e){return MJe(this,void 0,void 0,function*(){UJe(t);let r;try{r=yield e()}finally{qJe()}return r})}o(kr,"group");function $a(t,e){if(process.env.GITHUB_STATE||"")return bx("STATE",yL(t,e));pu("save-state",{name:t},hu(e))}o($a,"saveState");function kce(t){return process.env[`STATE_${t}`]||""}o(kce,"getState");var WI=N(require("fs"),1),b$=N(require("os"),1),I$=N(require("path"),1);var Oce=N(require("os"),1);function n0(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(n0,"toCommandValue");function Lce(t,e,r){let n=new lq(t,e,r);process.stdout.write(n.toString()+Oce.EOL)}o(Lce,"issueCommand");var Pce="::",lq=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=Pce+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}=${HJe(i)}`)}}return e+=`${Pce}${GJe(this.message)}`,e}};function GJe(t){return n0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(GJe,"escapeData");function HJe(t){return n0(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(HJe,"escapeProperty");var qce=N(require("os"),1);var Mce=require("os"),i0=require("fs");var uq=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:VJe,appendFile:zJe,writeFile:$Je}=i0.promises,Fce="GITHUB_STEP_SUMMARY";var dq=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return uq(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[Fce];if(!e)throw new Error(`Unable to find environment variable for $${Fce}. Check if your runtime environment supports job summaries.`);try{yield VJe(e,i0.constants.R_OK|i0.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let i=Object.entries(n).map(([s,a])=>` ${s}="${a}"`).join("");return r?`<${e}${i}>${r}</${e}>`:`<${e}${i}>`}write(e){return uq(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?$Je:zJe)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return uq(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(Mce.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),i=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(i).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",i=e.map(a=>this.wrap("li",a)).join(""),s=this.wrap(n,i);return this.addRaw(s).addEOL()}addTable(e){let r=e.map(i=>{let s=i.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:u,rowspan:d}=a,f=c?"th":"td",h=Object.assign(Object.assign({},u&&{colspan:u}),d&&{rowspan:d});return this.wrap(f,l,h)}).join("");return this.wrap("tr",s)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:i,height:s}=n||{},a=Object.assign(Object.assign({},i&&{width:i}),s&&{height:s}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,i=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",s=this.wrap(i,e);return this.addRaw(s).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),i=this.wrap("blockquote",e,n);return this.addRLine truncated
|
||||||
|
`),e=e.replace(/\r/g,`
|
||||||
|
`));let i=e.split(`
|
||||||
|
`).map(s=>s.trim());for(let s of i)!s||s.startsWith("#")||n.patterns.push(new y0(s));return n.searchPaths.push(...zq(n.patterns)),n})}static stat(e,r,n){return Xq(this,void 0,void 0,function*(){let i;if(r.followSymbolicLinks)try{i=yield gg.promises.stat(e.path)}catch(s){if(s.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){Vo(`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 gg.promises.lstat(e.path);if(i.isDirectory()&&r.followSymbolicLinks){let s=yield gg.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===s)){Vo(`Symlink cycle detected for path '${e.path}' and realpath '${s}'`);return}n.push(s)}return i})}};var P7e=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 Ede(t,e){return P7e(this,void 0,void 0,function*(){return yield HN.create(t,e)})}o(Ede,"create");var o_=N(require("crypto"),1),bg=N(require("fs"),1),cp=N(require("path"),1),fhe=N(uhe(),1),hhe=N(require("util"),1);var B0;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(B0||(B0={}));var Wi;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Wi||(Wi={}));var io;(function(t){t.GNU="gnu",t.BSD="bsd"})(io||(io={}));var n_=2,i_=5e3,E3=5e3,C3=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,dhe=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,x0="cache.tar",b3="manifest.txt",LYt=10*Math.pow(1024,3),s_="cache read denied:";var Cg=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())})},Vet=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)}},zet="1.0";function v0(){return Cg(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,o_.randomUUID());return yield Ru(r),r})}o(v0,"createTempDirectory");function qc(t){return bg.statSync(t).size}o(qc,"getArchiveFileSizeInBytes");function I3(t){return Cg(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 Ede(t.join(`
|
||||||
|
`),{implicitDescendants:!1});try{for(var u=!0,d=Vet(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(I3,"resolvePaths");function N0(t){return Cg(this,void 0,void 0,function*(){return hhe.promisify(bg.unlink)(t)})}o(N0,"unlinkFile");function phe(t){return Cg(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),R(`Checking ${e} ${r.join(" ")}`);try{yield ro(`${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(phe,"getVersion");function _0(){return Cg(this,void 0,void 0,function*(){let t=yield phe("zstd",["--quiet"]),e=fhe.clean(t);return R(`zstd version: ${e}`),t===""?Wi.Gzip:Wi.ZstdWithoutLong})}o(_0,"getCompressionMethod");function lf(t){return t===Wi.Gzip?B0.Gzip:B0.Zstd}o(lf,"getCacheFileName");function Ahe(){return Cg(this,void 0,void 0,function*(){return bg.existsSync(C3)?C3:(yield phe("tar")).toLowerCase().includes("gnu tar")?ci("tar"):""})}o(Ahe,"getGnuTarPathOnWindows");function w3(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}o(w3,"assertDefined");function Ig(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(zet),o_.createHash("sha256").update(n.join("|")).digest("hex")}o(Ig,"getCacheVersion");function mhe(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}o(mhe,"getRuntimeToken");var R0=N(require("http"),1),x3=N(require("https"),1);function S3(t){let e=t.protocol==="https:";if($et(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 c_(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new c_(`http://${r}`)}else return}o(S3,"getProxyUrl");function $et(t){if(!t.hostname)return!1;let e=t.hostname;if(jet(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($et,"checkBypass");function jet(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(jet,"isLoopbackAddress");var c_=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 uf=N(um(),1),ghe=N(Xd(),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 Ji;(function(t){t.Accept="accept",t.ContentType="content-type"})(Ji||(Ji={}));var Pu;(function(t){t.ApplicationJson="application/json"})(Pu||(Pu={}));var Jet=[Pr.MovedPermanently,Pr.ResourceMoved,Pr.SeeOther,Pr.TemporaryRedirect,Pr.PermanentRedirect],Yet=[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout],Ket=["OPTIONS","GET","DELETE","HEAD"],Xet=10,Zet=5,Gc=class t extends Error{static{o(this,"HttpClientError")}const
Line truncated
|
||||||
|
${ctt.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function p_(t){return t instanceof Yi?!0:up(t)&&t.name==="RestError"}o(p_,"isRestError");function Is(t,e){return Buffer.from(t,e)}o(Is,"stringToUint8Array");var A_=N(require("node:http"),1),m_=N(require("node:https"),1),O3=N(require("node:zlib"),1),Phe=require("node:stream");var jo=D0("ts-http-runtime");var ltt={};function Q0(t){return t&&typeof t.pipe=="function"}o(Q0,"isReadableStream");function khe(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(khe,"isStreamComplete");function Ohe(t){return t&&typeof t.byteLength=="number"}o(Ohe,"isArrayBuffer");var g_=class extends Phe.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}},L3=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 Hc("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 Ya;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=htt(c);u!==null&&e.headers.set("Content-Length",u)}let l;try{if(c&&e.onUploadProgress){let g=e.onUploadProgress,m=new g_(g);m.on("error",E=>{jo.error("Error in upload progress",E)}),Q0(c)?c.pipe(m):m.end(c),c=m}let u=await this.makeRequest(e,r,c);i!==void 0&&clearTimeout(i);let d=utt(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 g_(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 ftt(l),h}finally{if(e.abortSignal&&n){let u=Promise.resolve();Q0(c)&&(u=khe(c));let d=Promise.resolve();Q0(l)&&(d=khe(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?A_.default.request(c,l):m_.default.request(c,l);d.once("error",f=>{u(new Yi(f.message,{code:f.code??Yi.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let f=new Hc("The operation was aborted. Rejecting from abort signal callback while making request.");d.destroy(f),u(f)}),n&&Q0(n)?n.pipe(d):n?typeof n=="string"||Buffer.isBuffer(n)?d.end(n):Ohe(n)?d.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(jo.error("Unrecognized body type",n),u(new Yi("Unrecognized body type"))):d.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?A_.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new A_.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return m_.default.globalAgent;let i=e.tlsSettings??ltt,s=this.cachedHttpsAgents.get(i);return s&&s.options.keepAlive===!n||(jo.info("No cached TLS Agent exist, creating a new Agent"),s=new m_.default.Agent({keepAlive:!n,...i}),this.cachedHttpsAgents.set(i,s)),s}}};function utt(t){let e=so();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(utt,"getResponseHeaders");function dtt(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=O3.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=O3.default.createInflate();return t.pipe(n),n}return t}o(dtt,"getDecodedResponseStream");function ftt(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 Yi(`Error reading response as text: ${i.message}`,{code:Yi.PARSE_ERROR}))})})}o(ftt,"streamToText");function htt(t){return t?Buffer.isBuffer(t)?t.length:
Line truncated
|
||||||
|
`;return e}o(Vrt,"encodeHeaders");function zrt(t){return t instanceof Uint8Array?t.byteLength:q_(t)?t.size===-1?void 0:t.size:void 0}o(zrt,"getLength");function $rt(t){let e=0;for(let r of t){let n=zrt(r);if(n===void 0)return;e+=n}return e}o($rt,"getTotalLength");async function jrt(t,e,r){let n=[Is(`--${r}`,"utf-8"),...e.flatMap(s=>[Is(`\r
|
||||||
|
`,"utf-8"),Is(Vrt(s.headers),"utf-8"),Is(`\r
|
||||||
|
`,"utf-8"),s.body,Is(`\r
|
||||||
|
--${r}`,"utf-8")]),Is(`--\r
|
||||||
|
\r
|
||||||
|
`,"utf-8")],i=$rt(n);i&&t.headers.set("Content-Length",i),t.body=await Upe(n)}o(jrt,"buildRequestBody");var O0="multipartPolicy",Wrt=70,Jrt=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function Yrt(t){if(t.length>Wrt)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!Jrt.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}o(Yrt,"assertValidBoundary");function H_(){return{name:O0,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",i=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!i)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,s,a]=i;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?Yrt(r):r=Hrt(),t.headers.set("Content-Type",`${s}; boundary=${r}`),await jrt(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}o(H_,"multipartPolicy");function V_(){return h_()}o(V_,"createEmptyPipeline");var qpe=u_({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),Per=qpe.logger;function $c(t){return qpe.createClientLogger(t)}o($c,"createClientLogger");var jc=$c("core-rest-pipeline");function rG(t={}){return E_({logger:jc.info,...t})}o(rG,"logPolicy");var nG=C_;function iG(t={}){return b_(t)}o(iG,"redirectPolicy");var z_=N(require("node:os"),1),$_=N(require("node:process"),1);function Gpe(){return"User-Agent"}o(Gpe,"getHeaderName");async function Hpe(t){if($_.default&&$_.default.versions){let e=`${z_.default.type()} ${z_.default.release()}; ${z_.default.arch()}`,r=$_.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(Hpe,"setPlatformSpecificData");var j_="1.22.2";function int(t){let e=[];for(let[r,n]of t){let i=n?`${r}/${n}`:r;e.push(i)}return e.join(" ")}o(int,"getUserAgentString");function Vpe(){return Gpe()}o(Vpe,"getUserAgentHeaderName");async function W_(t){let e=new Map;e.set("core-rest-pipeline",j_),await Hpe(e);let r=int(e);return t?`${t} ${r}`:r}o(W_,"getUserAgentValue");var zpe=Vpe(),$pe="userAgentPolicy";function sG(t={}){let e=W_(t.userAgentPrefix);return{name:$pe,async sendRequest(r,n){return r.headers.has(zpe)||r.headers.set(zpe,await e),n(r)}}}o(sG,"userAgentPolicy");var lo=class extends Error{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function oG(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:i}=e??{};return new Promise((s,a)=>{function c(){a(new lo(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(oG,"createAbortablePromise");var lnt="The delay was aborted.";function L0(t,e){let r,{abortSignal:n,abortErrorMsg:i}=e??{};return oG(s=>{r=setTimeout(s,t)},{cleanupBeforeAbort:o(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:i??lnt})}o(L0,"delay");function ff(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(ff,"getErrorMessage");function jpe(t){return up(t)}o(jpe,"isError");function Rg(){return lp()}o(Rg,"randomUUID");var Lt=hp;var Wpe=Symbol("rawContent");function cG(t){return typeof t[Wpe]=="function"}o(cG,"hasRawContent");function Jpe(t){return cG(t)?t[Wpe]():t}o(Jpe,"getRawContent");var J_=O0;function lG(){let t=H_();return{name:J_,sendRequest:o(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)cG(n.body)&&(n.body=Jpe(n.body));return t.sendRequest(e,r)},"sendRequest")}}o(lG,"multipartPolicy");var uG=I_;function dG(){return w_()}o(dG,"decompressResponsePolicy");function fG(t={}){return x_(t)}o(fG,"defaultRetryPolicy");function hG(){return v_()}o(hG,"formDataPolicy");function hf(t){return K3(t)}o(hf,"getDefaultProxySettings");function pG(t,e){return F_(t,e)}o(pG,"proxyPolicy");var Ype="setClientRequestIdPolicy";function AG(t="x-ms-client-request-id"){return{name:Ype,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}o(AG,"setClientRequestIdPolicy");function mG(t){return M_(t)}o(mG,"agentPolicy");function gG(t){return U_(t)}o(gG,"tlsPolicy");var Dg={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function Kpe(t={}){let e=new yG(t.parentContext);return t.span&&(e=e.setValue(Dg.span,t.span)),t.namespace&&(e=e.setValue(Dg.namespace,t.namespace)),e}o(Kpe,"createTracingContext");var yG=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--),!Qit(l)){let f;return l.trim().length===0?f="Invalid space after '<'.":f="Tag '"+l+"' is an invalid name.",en("InvalidTag",f,Ki(t,s))}let u=Nit(t,s);if(u===!1)return en("InvalidAttr","Attributes for '"+l+"' have open quote.",Ki(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=kAe(d,e);if(h===!0)n=!0;else return en(h.err.code,h.err.msg,Ki(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.",Ki(t,a));if(r.length===0)return en("InvalidTag","Closing tag '"+l+"' has not been opened.",Ki(t,a));{let f=r.pop();if(l!==f.tagName){let h=Ki(t,f.tagStartPos);return en("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+h.line+", col "+h.col+") instead of closing tag '"+l+"'.",Ki(t,a))}r.length==0&&(i=!0)}}else return en("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Ki(t,s));else{let f=kAe(d,e);if(f!==!0)return en(f.err.code,f.err.msg,Ki(t,s-d.length+f.err.line));if(i===!0)return en("InvalidXml","Multiple possible root nodes found.",Ki(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=QAe(t,s);continue}else if(t[s+1]==="?"){if(s=DAe(t,++s),s.err)return s}else break;else if(t[s]==="&"){let f=Rit(t,s);if(f==-1)return en("InvalidChar","char '&' is not expected.",Ki(t,s));s=f}else if(i===!0&&!RAe(t[s]))return en("InvalidXml","Extra text at the end",Ki(t,s));t[s]==="<"&&s--}}else{if(RAe(t[s]))continue;return en("InvalidChar","char '"+t[s]+"' is not expected.",Ki(t,s))}if(n){if(r.length==1)return en("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Ki(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(cT,"validate");function RAe(t){return t===" "||t===" "||t===`
|
||||||
|
`||t==="\r"}o(RAe,"isWhiteSpace");function DAe(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.",Ki(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}o(DAe,"readPI");function QAe(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(QAe,"readCommentAndCDATA");var xit='"',vit="'";function Nit(t,e){let r="",n="",i=!1;for(;e<t.length;e++){if(t[e]===xit||t[e]===vit)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(Nit,"readAttributeStr");var _it=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function kAe(t,e){let r=oT(t,_it),n={};for(let i=0;i<r.length;i++){if(r[i][1].length===0)return en("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",J0(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return en("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",J0(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return en("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",J0(r[i]));let s=r[i][2];if(!Dit(s))return en("InvalidAttr","Attribute '"+s+"' is an invalid name.",J0(r[i]));if(!Object.prototype.hasOwnProperty.call(n,s))n[s]=1;else return en("InvalidAttr","Attribute '"+s+"' is repeated.",J0(r[i]))}return!0}o(kAe,"validateAttributeString");function Tit(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(Tit,"validateNumberAmpersand");function Rit(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Tit(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(Rit,"validateAmpersand");function en(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}o(en,"getErrorObject");function Dit(t){return OG(t)}o(Dit,"validateAttrName");function Qit(t){return OG(t)}o(Qit,"validateTagName");function Ki(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}o(Ki,"getLineNumberForPosition");function J0(t){return t.startIndex+t[1].length}o(J0,"getPositionFromMatch");var PAe={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"},OAe={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"},LAe={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 xs("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let i=this.options,s=new X0(i.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let u=t.charCodeAt(c+1);if(u===47){let d=Lg(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=VG(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=zG(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 xs(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=Lg(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=Lg(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=zG(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}=VG(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=rst(h),f!==e.tagname&&this.matcher.push(f,{},B),f!==p&&g&&(C=this.buildAttributesMap(p,this.matcher,f),C&&(I=tst(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 $=this.readStopNodeData(t,h,m+1);if(!$)throw new Error(`Unexpected end of ${h}`);c=$.i,M=$.tagContent}let v=new xs(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}=VG(i.transformTagName,f,p,i));let M=new xs(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 xs(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 xs(f);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),C&&(M[":@"]=C),this.addChild(r,M,this.readonlyMatcher,Q),r=M}n="",c=m}}}else n+=t[c];return e.child},"parseXml");function cst(t,e,r,n){this.options.captureMetaData||(n=void 0);let i=this.options.jPath?r.toString():r,s=this.options.updateTag(e.tagname,i,e[":@"]);s===!1||(typeof s=="string"&&(e.tagname=s),t.addChild(e,n))}o(cst,"addChild");function lst(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(lst,"replaceEntitiesValue");function ust(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(ust,"saveTextToParentTag");function dst(){return this.stopNodeExpressionsSet.Line truncated
|
||||||
|
`;function Cst(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(KG(r)==="?xml"){let i=r[":@"];if(i){let s=e.attributeNamePrefix+"version";if(i[s])return i[s]}}return"1.0"}o(Cst,"detectXmlVersionFromArray");function nme(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(nme,"resolveTagName");function YG(t,e){let r="";e.format&&(r=Est);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 ho(c)):c instanceof ho&&n.push(c)}let i=Cst(t,e),s=new Yc;return ime(t,e,r,s,n,i)}o(YG,"toXml");function ime(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=JG(l,e),l}return""}for(let l=0;l<t.length;l++){let u=t[l],d=KG(u);if(d===void 0)continue;let h=d===e.textNodeName||d===e.cdataPropName||d===e.commentPropName||d[0]==="?"?d:nme(d,!1,e,n,s),p=bst(u[":@"],e);n.push(h,p);let g=wst(n,i);if(h===e.textNodeName){let I=u[d];g||(I=e.tagValueProcessor(h,I),I=JG(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=hT(I);a+=`<![CDATA[${B}]]>`,c=!1,n.pop();continue}else if(h===e.commentPropName){let I=u[d][0][e.textNodeName],B=fT(I);a+=r+`<!--${B}-->`,c=!0,n.pop();continue}else if(h[0]==="?"){let I=rme(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=rme(u[":@"],e,g,n,s),y=r+`<${h}${E}`,C;g?C=sme(u[d],e):C=ime(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(ime,"arrToStr");function bst(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]=mf(t[i]),n=!0}return n?r:null}o(bst,"extractAttributeValues");function sme(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=KG(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=Ist(i[":@"],e),c=sme(i[s],e);!c||c.length===0?r+=`<${s}${a}/>`:r+=`<${s}${a}>${c}</${s}>`}}}return r}o(sme,"getRawContent");function Ist(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)}="${mf(i)}"`}return r}o(Ist,"attr_to_str_raw");function KG(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(KG,"propName");function rme(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:nme(c,!0,e,n,i),u;r?u=t[a]:(u=e.attributeValueProcessor(a,t[a]),u=JG(u,e)),u===!0&&e.suppressBooleanAttributes?s+=` ${l}`:s+=` ${l}="${mf(u)}"`}return s}o(rme,"attr_to_str");function wst(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(wst,"checkStopNode");function JG(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(JG,"replaceEntitiesValue");function XG(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(XG,"getIgnoreAttributesFn");var Sst={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 Ns(t){if(this.options=Object.assign({},Sst,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(Ns,"Builder");function Bst(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(Bst,"detectXmlVersionFromObj");function ZG(t,e,r,n,i){return!r.sanitizeName||yp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}o(ZG,"resolveTagName");Ns.prototype.build=function(t){if(this.options.preserveOrder)return YG(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Yc,r=Bst(t,this.options);return this.j2x(t,0,e,r).val}};Ns.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:ZG(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=ZG(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=ZG(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}};Ns.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+'="'+mf(e)+'"'};function xst(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(xst,"processTextOrObjNode");Ns.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]=mf(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]=mf(t[n]),r=!0)}return r?e:null};Ns.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)=>ST(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=IT(e.url),s={};if(i){let a=[];for(let c in i)if(Object.prototype.hasOwnProperty.call(i,c)){let l=c.toLowerCase();s[l]=i[c],a.push(l)}a.sort();for(let c of a)n+=`
|
||||||
|
${c}:${decodeURIComponent(s[c])}`}return n}};var Or=class extends bp{static{o(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new nI(e,r,this)}computeHMACSHA256(e){return(0,hme.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var Nn=$c("storage-common");var Ko;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(Ko||(Ko={}));var yf={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Ko.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},Pst=new lo("The operation was aborted."),iI=class extends Kc{static{o(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=yf){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:yf.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):yf.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:yf.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:yf.maxRetryDelayInMs):yf.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:yf.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:yf.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=CT(i.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(i.url=gf(i.url,Uu.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 Ko.EXPONENTIAL:i=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case Ko.FIXED:i=this.retryOptions.retryDelayInMs;break}else i=Math.random()*1e3;return Nn.info(`RetryPolicy: Delay for ${i}ms`),wT(i,n,Pst)}};var sI=class{static{o(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new iI(e,r,this.retryOptions)}};var Ost="storageBrowserPolicy";function pme(){return{name:Ost,async sendRequest(t,e){return Lt||((t.method==="GET"||t.method==="HEAD")&&(t.url=gf(t.url,Uu.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(Ve.COOKIE),t.headers.delete(Ve.CONTENT_LENGTH)),e(t)}}}o(pme,"storageBrowserPolicy");var Lst="StorageCorrectContentLengthPolicy";function Ame(){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:Lst,async sendRequest(e,r){return t(e),r(e)}}}o(Ame,"storageCorrectContentLengthPolicy");var Fst="storageRetryPolicy",Mg={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:Ko.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},Mst=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],Ust=new lo("The operation was aborted.");function mme(t={}){let e=t.retryPolicyType??Mg.retryPolicyType,r=t.maxTries??Mg.maxTries,n=t.retryDelayInMs??Mg.retryDelayInMs,i=t.maxRetryDelayInMs??Mg.maxRetryDelayInMs,s=t.secondaryHost??Mg.secondaryHost,a=t.tryTimeoutInMs??Mg.tryTimeoutInMs;function c({isPrimaryRetry:u,attempt:d,response:f,error:h}){if(d>=r)return
Line truncated
|
||||||
|
`)+`
|
||||||
|
`+n(s)+i(s),c=(0,gme.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)=>ST(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=IT(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:qst,async sendRequest(s,a){return e(s),a(s)}}}o(iH,"storageSharedKeyCredentialPolicy");var Gst="storageRequestFailureDetailsParserPolicy";function yme(){return{name:Gst,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(yme,"storageRequestFailureDetailsParserPolicy");var Eme=require("node:crypto");var BT=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,Eme.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var xT="12.31.0",vT="2026-02-06";var NT="https://storage.azure.com/.default",qu={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Ka="",sH="*",Hst=1*1024*1024;var Vst=4*Hst;var Cme="AES256",bme="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",Ime=["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"],wme=["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"],Sme="BlobUsesCustomerSpecifiedEncryption",Bme="BlobDoesNotUseCustomerSpecifiedEncryption",xme=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Gu(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(Gu,"isPipelineLike");var oI=class{static{o(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function tn(t,e={}){t||(t=new Er);let r=new oI([],e);return r._credential=t,r}o(tn,"newPipeline");function zst(t){let e=[$st,vme,jst,Wst,Jst,Yst,Xst];if(t.factories.length){let r=t.factories.filter(n=>!e.some(i=>i(n)));if(r.length){let n=r.some(i=>Kst(i));return{wrappedPolicies:kG(r),afterRetry:n}}}}o(zst,"processDownlevelPipeline");function oH(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?PG(e):nH(),t._coreHttpClient=n);let i=t._corePipeline;if(!i){let s=`azsdk-js-azure-storage-blob/${xT}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${s}`:`${s}`;i=G0({...r,loggingOptions:{additionalAllowedHeaderNames:Ime,additionalAllowedQueryParameters:wme,logger:AT.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:pT,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:tH,serializerOptions:{xml:{xmlCharKey:"#"}}}}),i.removePolicy({phase:"Retry"}),i.removePolicy({name:uG}),i.addPolicy(Ame()),i.addPolicy(mme(r.retryOptions),{phase:"R
Line truncated
|
||||||
|
`),s=e.computeHMACSHA256(i);return{sasQueryParameters:new rc(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(zat,"generateBlobSASQueryParameters20150405");function $at(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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($at,"generateBlobSASQueryParameters20181109");function jat(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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(jat,"generateBlobSASQueryParameters20201206");function Wat(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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(Wat,"generateBlobSASQueryParametersUDK20181109");function Jat(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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(Jat,"generateBlobSASQueryParametersUDK20200210");function Yat(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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(Yat,"generateBlobSASQueryParametersUDK20201206");function Kat(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=pl.parse(t.permissions.toString()).toString():i=Al.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?tc(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 rc(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(Kat,"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:vT;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}o(Tp,"SASSignatureValuesSanityCheckAndAutofill");var yI=class{static{o(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=Rg()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Ka||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Ka||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=>Ne(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!==Ka||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Ka||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=Ne(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!==Ka||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Ka||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=>Ne(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!==Ka||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Ka||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"}};Kg.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var kp=class extends Error{static{o(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
|
||||||
|
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};kp.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var NI=class extends Error{static{o(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var alt=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())})},Y5=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 Tye(t,e,r){return alt(this,void 0,void 0,function*(){var n;let i=new nc(t),s=i.getBlockBlobClient(),a=new Y5((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 DR(`uploadCacheArchiveSDK: upload failed with status code ${l._response.status}`);return l}catch(l){throw ut(`uploadCacheArchiveSDK: internal error uploading cache archive: ${l.message}`),l}finally{a.stopDisplayTimer()}})}o(Tye,"uploadCacheArchiveSDK");var Dye=N(require("buffer"),1),ml=N(require("fs"),1),Qye=N(require("stream"),1),kye=N(require("util"),1);var QR=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 kR(t){return t?t>=200&&t<300:!1}o(kR,"isSuccessStatusCode");function clt(t){return t?t>=500:!0}o(clt,"isServerErrorStatusCode");function llt(t){return t?[Pr.BadGateway,Pr.ServiceUnavailable,Pr.GatewayTimeout].includes(t):!1}o(llt,"isRetryableStatusCode");function ult(t){return QR(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}o(ult,"sleep");function Rye(t,e,r){return QR(this,arguments,void 0,function*(n,i,s,a=n_,c=i_,l=void 0){let u="",d=1;for(;d<=a;){let f,h,p=!1;try{f=yield i()}catch(g){l&&(f=l(g)),p=!0,u=g.message}if(f&&(h=s(f),!clt(h)))return f;if(h&&(p=llt(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 ult(c),d++}throw Error(`${n} failed: ${u}`)})}o(Rye,"retry");function _I(t,e){return QR(this,arguments,void 0,function*(r,n,i=n_,s=i_){return yield Rye(r,n,a=>a.statusCode,i,s,a=>{if(a instanceof Gc)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}o(_I,"retryTypedResponse");function Xg(t,e){return QR(this,arguments,void 0,function*(r,n,i=n_,s=i_){return yield Rye(r,n,a=>a.message.statusCode,i,s)})}o(Xg,"retryHttpClientResponse");var ra=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 ra(this,void 0,void 0,function*(){yield kye.promisify(Qye.pipeline)(t.message,e)})}o(dlt,"pipeResponseToStream");var PR=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(ylt,"printCachesListForDiagnostics");function tz(t,e,r){return Ts(this,void 0,void 0,function*(){let n=new jye.URL(t),i=Fye(r);n.hostname.endsWith(".blob.core.windows.net")?i.useAzureSdk?yield Oye(t,e,i):i.concurrentBlobDownloads?yield Pye(t,e,i):yield OR(t,e):yield OR(t,e)})}o(tz,"downloadCache");function Jye(t,e,r){return Ts(this,void 0,void 0,function*(){let n=ez(),i=Ig(e,r?.compressionMethod,r?.enableCrossOsArchive),s={key:t,version:i,cacheSize:r?.cacheSize};return yield _I("reserveCache",()=>Ts(this,void 0,void 0,function*(){return n.postJson(RI("caches"),s)}))})}o(Jye,"reserveCache");function $ye(t,e){return`bytes ${t}-${e}/*`}o($ye,"getContentRange");function Elt(t,e,r,n,i){return Ts(this,void 0,void 0,function*(){R(`Uploading chunk of size ${i-n+1} bytes at offset ${n} with content range: ${$ye(n,i)}`);let s={"Content-Type":"application/octet-stream","Content-Range":$ye(n,i)},a=yield Xg(`uploadChunk (start: ${n}, end: ${i})`,()=>Ts(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),s)}));if(!kR(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}o(Elt,"uploadChunk");function Clt(t,e,r,n){return Ts(this,void 0,void 0,function*(){let i=qc(r),s=RI(`caches/${e.toString()}`),a=Zg.openSync(r,"r"),c=K5(n),l=w3("uploadConcurrency",c.uploadConcurrency),u=w3("uploadChunkSize",c.uploadChunkSize),d=[...new Array(l).keys()];R("Awaiting all uploads");let f=0;try{yield Promise.all(d.map(()=>Ts(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 Elt(t,s,()=>Zg.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{Zg.closeSync(a)}})}o(Clt,"uploadFile");function blt(t,e,r){return Ts(this,void 0,void 0,function*(){let n={size:r};return yield _I("commitCache",()=>Ts(this,void 0,void 0,function*(){return t.postJson(RI(`caches/${e.toString()}`),n)}))})}o(blt,"commitCache");function rz(t,e,r,n){return Ts(this,void 0,void 0,function*(){if(K5(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield Tye(r,e,n)}else{let s=ez();R("Upload cache"),yield Clt(s,t,e,n),R("Commiting cache");let a=qc(e);O(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield blt(s,t,a);if(!kR(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);O("Cache saved successfully")}})}o(rz,"saveCache");var HEe=N(OEe(),1),sn=N(nn(),1),mo=N(nn(),1),Mp=N(nn(),1),Up=N(nn(),1),qp=N(nn(),1);var Yz=N(nn(),1),Kz=N(nn(),1),UEe=N(nn(),1),qEe=N(nn(),1),GEe=N(nn(),1);var jz=N(nn(),1),Wz=N(nn(),1),LEe=N(nn(),1),FEe=N(nn(),1),MEe=N(nn(),1);var Jz=class extends MEe.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,FEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,LEe.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?Wz.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,jz.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,jz.WireType.Varint).int64(e.permission);let i=n.writeUnknownFields;return i!==!1&&(i==!0?Wz.UnknownFieldHandler.onWrite:i)(this.typeName,e,r),r}},w2=new Jz;var Xz=class extends GEe.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(()=>w2,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,qEe.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,UEe.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(w2.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?Kz.UnknownFieldHandler.onRead:u)(this.typeName,s,c,l,d)}}return s}internalBinaryWrite(e,r,n){e.repositoryId!==
Line truncated
|
||||||
|
`));let n=yield h$(r,"create");yield p$(n,t)})}o(m$,"createTar");var Ay=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())})},oc=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)}},g$="cache write denied:",v2=class t extends Gp{static{o(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},jEe=s_,N2=class t extends Error{static{o(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},_2=class t extends Error{static{o(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function WEe(t){if(!t||t.length===0)throw new oc("Path Validation Error: At least one directory or file path is required")}o(WEe,"checkPaths");function y$(t){if(t.length>512)throw new oc(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new oc(`Key Validation Error: ${t} cannot contain commas.`)}o(y$,"checkKey");function E$(){return TI()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}o(E$,"isFeatureAvailable");function JEe(t,e,r,n){return Ay(this,arguments,void 0,function*(i,s,a,c,l=!1){let u=TI();R(`Cache service version: ${u}`),WEe(i);let d=Z5();if(!Uye(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 Odt(i,s,a,c,l):yield Pdt(i,s,a,c,l)})}o(JEe,"restoreCache");function Pdt(t,e,r,n){return Ay(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 oc("Key Validation Error: Keys are limited to a maximum of 10.");for(let p of d)y$(p);let f=yield _0(),h="";try{let p;try{p=yield Wye(d,i,{compressionMethod:f,enableCrossOsArchive:l})}catch(m){let E=(u=m?.message)!==null&&u!==void 0?u:"";throw E.includes(jEe)?new N2(E):m}if(!p?.archiveLocation)return;if(c?.lookupOnly)return O("Lookup only - skipping download"),p.cacheKey;h=jI.join(yield v0(),lf(f)),R(`Archive Path: ${h}`),yield tz(p.archiveLocation,h,c),np()&&(yield $I(h,f));let g=qc(h);return O(`Cache Size: ~${Math.round(g/(1024*1024))} MB (${g} B)`),yield A$(h,f),O("Cache restored successfully"),p.cacheKey}catch(p){let g=p;if(g.name===oc.name)throw p;g instanceof Gc&&typeof g.statusCode=="number"&&g.statusCode>=500?dg(`Failed to restore: ${p.message}`):ut(`Failed to restore: ${p.message}`)}finally{try{yield N0(h)}catch(p){R(`Failed to delete archive: ${p}`)}}})}o(Pdt,"restoreCacheV1");function Odt(t,e,r,n){return Ay(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 oc("Key Validation Error: Keys are limited to a maximum of 10.");for(let h of d)y$(h);let f="";try{let h=f$(),p=yield _0(),g={key:s,restoreKeys:a,version:Ig(i,p,l)},m;try{m=yield h.GetCacheEntryDownloadURL(g)}catch(C){let I=(u=C?.message)!==null&&u!==void 0?u:"";throw I.includes(jEe)?new N2(I):C}if(!m.ok){R(`Cache not found for version ${g.version} of keys: ${d.join(", ")}`);return}if(g.key!==m.matchedKey?O(`Cache hit for restore-key: ${m.matchedKey}`):O(`Cache hit for: ${m.matchedKey}`),c?.lookupOnly)return O("Lookup only - skipping download"),m.matchedKey;f=jI.join(yield v0(),lf(p)),R(`Archive path: ${f}`),R(`Starting download of archive to: ${f}`),yield tz(m.signedDownloadUrl,f,c);let y=qc(f);return O(`Cache Size: ~${Math.round(y/(1024*1024))} MB (${y} B)`),np()&&(yield $I(f,p)),yield A$(f,p),O("Cache restored successfully"),m.matchedKey}catch(h){let p=h;if(p.name===oc.name)throw h;p instanceof Gc&&typeof p.statusCode=="number"&&p.statusCode>=500?dg(`Failed to restore: ${h.message}`):ut(`Failed to restore: ${h.message}`)}finally{try{f&&(yield N0(f))}catch(h){R(`Failed to delete archive: ${h}`)}}})}o(Odt,"restoreCacheV2");function C$(t,e,r){return Ay(this,arguments,void 0,function*(n,i,s,a=!1){let c=TI();R(`Cache service version: ${c}`),WEe(n),y$(i);let l=Z5();return qye(l)?c==="v2"?yield Fdt(n,i,s,a):yield Ldt(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(C$,"saveCache");function Ldt(t,e,r){return Ay(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:$,delimiterDiscovered:D,delimiterBufPrevious:H,rawBuffer:V,escapeIsQuote:J}=this.state;if(!D&&u){let z;if(H===void 0?z=n:H!==void 0&&n===void 0?z=H:z=Buffer.concat([H,n]),n=void 0,i||z.length>u.size)this.options.delimiter=[Buffer.from(cwe(z,this.options.delimiter_auto))],this.state.previousBuf=z,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=z;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($===!1)if(c===!1)this.state.bomSkipped=!0;else if(ae.length<3){if(i===!1){this.state.previousBuf=ae;return}}else{for(let z in Ry)if(Ry[z].compare(ae,0,Ry[z].length)===0){let we=Ry[z].length;this.state.bufBytesStart+=we,ae=ae.slice(we);let Be=Ty({...this.original_options,encoding:z});for(let st in Be)this.options[st]=Be[st];({comment:B,escape:Q,quote:M}=this.options);break}this.state.bomSkipped=!0}let Ae=ae.length,Y;for(Y=0;Y<Ae&&!this.__needMoreData(Y,Ae,i);Y++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),I!==-1&&this.info.lines>I){this.state.stop=!0,a();return}this.state.quoting===!1&&v.length===0&&this.__autoDiscoverRecordDelimiter(ae,Y)&&(v=this.options.record_delimiter);let z=ae[Y];if(g===!0&&V.append(z),(z===lyt||z===uyt)&&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,z)&&Y+Q.length<Ae)if(J){if(this.__isQuote(ae,Y+Q.length)){this.state.escaping=!0,Y+=Q.length-1;continue}}else{this.state.escaping=!0,Y+=Q.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(ae,Y))if(this.state.quoting===!0){let st=ae[Y+M.length],Ct=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,z)&&this.__isQuote(ae,Y+Q.length))Y+=Q.length-1;else if(!st||hn||oi||hr||Ct){this.state.quoting=!1,this.state.wasQuoting=!0,Y+=M.length-1;continue}else if(m===!1){let pr=this.__error(new ft("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(),Ct=Object.keys(Ry).map(hn=>Ry[hn].equals(this.state.field.toString())?hn:!1).filter(Boolean)[0],hr=this.__error(new ft("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))}`,Ct?`(${Ct} 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(z,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,z)!==0){this.state.commenting=!0;continue}let Ct=this.__isDelimiter(ae,Y,z);if(Ct!==0){this.info.bytes=this.state.bufBytesStart+Y;let hr=this.__onField();if(hr!==void 0)return hr;Y+=Ct-1;continue}}}if(this.state.commenting===!1&&p!==0&&this.state.record_length+this.state.field.length>p)return this.__error(new ft("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 bo=o(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=_D(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(li(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let i=bo(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=li(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 ci("powershell",!0),i=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),s=[];if(r)for(let a in r)s.push(`-${a} '${r[a].replace(/'/g,"''").replace(/"|\n|\r/g,"")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${i}' ${s.join(" ")}`]}}static isDirectory(e){try{return uwe.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 Vj.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 Vj.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return dwe.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=Aw.default.resolve(e);return Aw.default.resolve(r).startsWith(n.endsWith(Aw.default.sep)?n:`${n}${Aw.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),i=Math.floor(r%3600/60),s=r%60,a=[];return n&&a.push(`${n}h`),i&&a.push(`${i}m`),(s||a.length===0)&&a.push(`${s}s`),a.join("")}};var on=class t{static{o(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||mw.default.join(fwe.default.homedir(),".docker")}static configFile(){let e=mw.default.join(t.configDir,"config.json");if(zj.default.existsSync(e))return JSON.parse(zj.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await ci("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}ca
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 dSe=N(require("crypto"),1);var TD=require("fs"),pwe=require("os");var Dy=class{static{o(this,"Context")}constructor(){var e,r,n;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,TD.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,TD.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${pwe.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 Jj=N(Ewe(),1),Cwe=N(Xd(),1);var wyt=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 bwe(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(bwe,"getAuthString");function Iwe(t){return new Jj.HttpClient().getAgent(t)}o(Iwe,"getProxyAgent");function Syt(t){return new Jj.HttpClient().getAgentDispatcher(t)}o(Syt,"getProxyAgentDispatcher");function wwe(t){let e=Syt(t);return o((n,i)=>wyt(this,void 0,void 0,function*(){return(0,Cwe.fetch)(n,Object.assign(Object.assign({},i),{dispatcher:e}))}),"proxyFetch")}o(wwe,"getProxyFetch");function Swe(){return process.env.GITHUB_API_URL||"https://api.github.com"}o(Swe,"getApiBaseUrl");function Yj(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(Yj,"getUserAgentWithOrchestrationId");function Tf(){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(Tf,"getUserAgent");function LD(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)=>LD.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(LD,"register");function Bwe(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(Bwe,"addHook");function xwe(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(xwe,"removeHook");var vwe=Function.bind,Nwe=vwe.bind(vwe);function _we(t,e,r){let n=Nwe(xwe,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]=Nwe(Bwe,null).apply(null,s)})}o(_we,"bindApi");function xyt(){let t=Symbol("Singular"),e={registry:{}},r=LD.bind(null,e,t);return _we(r,e,t),r}o(xyt,"Singular");function vyt(){let t={registry:{}},e=LD.bind(null,
Line truncated
|
||||||
|
`+t.errors.map(e=>` - ${e.message}`).join(`
|
||||||
|
`)}o(rEt,"_buildMessageForResponseErrors");var nEt=class extends Error{static{o(this,"GraphqlResponseError")}constructor(t,e,r){super(rEt(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},iEt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],sEt=["query","method","url"],Kwe=/\/api\/v3\/?$/;function oEt(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(sEt.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)=>iEt.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 Kwe.test(s)&&(i.url=s.replace(Kwe,"/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 nEt(i,c,a.data)}return a.data.data})}o(oEt,"graphql");function r8(t,e){let r=t.defaults(e);return Object.assign(o((i,s)=>oEt(r,i,s),"newApi"),{defaults:r8.bind(null,r),endpoint:r.endpoint})}o(r8,"withDefaults");var cwr=r8(Cw,{headers:{"user-agent":`octokit-graphql.js/${tEt} ${Tf()}`},method:"POST",url:"/graphql"});function Xwe(t){return r8(t,{method:"POST",url:"/graphql"})}o(Xwe,"withCustomRequest");var n8="(?:[a-zA-Z0-9_-]+)",Zwe="\\.",eSe=new RegExp(`^${n8}${Zwe}${n8}${Zwe}${n8}$`),aEt=eSe.test.bind(eSe);async function cEt(t){let e=aEt(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}o(cEt,"auth");function lEt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}o(lEt,"withAuthorizationPrefix");async function uEt(t,e,r,n){let i=e.endpoint.merge(r,n);return i.headers.authorization=lEt(t),e(i)}o(uEt,"hook");var tSe=o(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(cEt.bind(null,e),{hook:uEt.bind(null,e)})},"createTokenAuth2");var i8="7.0.6";var rSe=o(()=>{},"noop"),dEt=console.warn.bind(console),fEt=console.error.bind(console);function hEt(t={}){return typeof t.debug!="function"&&(t.debug=rSe),typeof t.info!="function"&&(t.info=rSe),typeof t.warn!="function"&&(t.warn=dEt),typeof t.error!="function"&&(t.error=fEt),t}o(hEt,"createLogger");var nSe=`octokit-core.js/${i8} ${Tf()}`,Py=class{static{o(this,"Octokit")}static VERSION=i8;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 Twe.Collection,n={baseUrl:Cw.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${nSe}`:nSe,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=Cw.defaults(n),this.graphql=Xwe(this.request).defaults(n),this.log=hEt(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=tSe(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 s8="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 p8=N(require("fs"),1),A8=N(require("path"),1);var $D=class t{static{o(this,"History")}buildx;constructor(e){this.buildx=e?.buildx||new Qt}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 _e.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=A8.default.join(gt.tmpDir(),"export");O(`exporting build record to ${s}`),p8.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=A8.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 _e.getExecOutput(u.command,u.args);let d=p8.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 iOe=N(require("fs"),1),KY=N(require("path"),1);var ASe=N(require("os"),1);function Bw(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(Bw,"toCommandValue");function m8(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(m8,"toCommandProperties");function xw(t,e,r){let n=new g8(t,e,r);process.stdout.write(n.toString()+ASe.EOL)}o(xw,"issueCommand");var pSe="::",g8=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=pSe+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}=${QEt(i)}`)}}return e+=`${pSe}${DEt(this.message)}`,e}};function DEt(t){return Bw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(DEt,"escapeData");function QEt(t){return Bw(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(QEt,"escapeProperty");var ESe=N(require("os"),1);var gSe=require("os"),vw=require("fs");var y8=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:kEt,appendFile:PEt,writeFile:OEt}=vw.promises,mSe="GITHUB_STEP_SUMMARY";var E8=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return y8(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[mSe];if(!e)throw new Error(`Unable to find environment variable for $${mSe}. Check if your runtime environment supports job summaries.`);try{yield kEt(e,vw.constants.R_OK|vw.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let i=Object.entries(n).map(([s,a])=>` ${s}="${a}"`).join("");return r?`<${e}${i}>${r}</${e}>`:`<${e}${i}>`}write(e){return y8(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?OEt:PEt)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return y8(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(gSe.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()}},xSr=new E8;var C8=N(require("os"),1);var RSr=C8.default.platform(),DSr=C8.Line truncated
|
||||||
|
`," Line feed \\n"]]),yBe=new Map([...$6,["\\"," Backslash \\"],["/"," Forward slash /"]]);function EBe(t){if(!t)throw new Error("Provided artifact name input during validation is empty");for(let[e,r]of yBe)if(t.includes(e))throw new Error(`The artifact name is not valid: ${t}. Contains the following character: ${r}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(yBe.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(EBe,"validateArtifactName");function j6(t){if(!t)throw new Error("Provided file path input during validation is empty");for(let[e,r]of $6)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($6.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(j6,"validateFilePath");var wBe=N(IBe(),1);function kl(){return`@actions/artifact-${wBe.version}`}o(kl,"getUserAgentString");var eE=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"}},dc=class extends Error{static{o(this,"InvalidResponseError")}constructor(e){super(e),this.name="InvalidResponseError"}},od=class extends Error{static{o(this,"ArtifactNotFoundError")}constructor(e="Artifact not found"){super(e),this.name="ArtifactNotFoundError"}},Pf=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"}},ad=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"}};ad.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 kQ=new Error("Failed to get backend IDs: The provided JWT token is invalid and/or missing claims");function Pl(){let t=WD(),e=VD(t);if(!e.scp)throw kQ;let r=e.scp.split(" ");if(r.length===0)throw kQ;for(let n of r){let i=n.split(":");if(i?.[0]!=="Actions.Results")continue;if(i.length!==3)throw kQ;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 kQ}o(Pl,"getBackendIdsFromToken");function SBe(t){if(t)try{let r=new URL(t).searchParams.get("sig");r&&(jD(r),jD(encodeURIComponent(r)))}catch(e){Ze(`Failed to parse URL: ${t} ${e instanceof Error?e.message:String(e)}`)}}o(SBe,"maskSigUrl");function BBe(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"&&SBe(t.signed_upload_url),"signed_url"in t&&typeof t.signed_url=="string"&&SBe(t.signed_url)}o(BBe,"maskSecretUrls");var PQ=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},W6=class{static{o(this,"ArtifactHttpClient")}constructor(e,r,n,i){this.maxAttempts=5,this.baseRetryIntervalMilliseconds=3e3,this.retryMultiplier=1.5;let s=WD();this.baseUrl=bSe(),r&&(this.maxAttempts=r),n&&(this.baseRetryIntervalMilliseconds=n),i&&(this.retryMultiplier=i),this.httpClient=new Mo(e,[new ef(s)])}request(e,r,n,i){return PQ(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(()=>PQ(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 PQ(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(BBe(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(ad.isNetworkErrorCode(c?.code))throw new ad(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 PQ(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 Ol(t){let e=new W6(kl(),t?.maxAttempts,t?.retryIntervalMs,t?.retryMultiplier);return new QQ(e)}o(Ol,"internalArtifactTwirpClient");var rE=N(require("fs"),1);var tE=require("path");function xBe(t){if(!rE.existsSync(t))throw new Error(`The provided rootDirectory ${t} does not exist`);if(!rE.statSync(t).isDirectory())throw new Error(`The provided rootDirectory ${t} is not a valid directory`);ct("Root directory input is valid!")}o(xBe,"validateRootDirectory");function vBe(t,e){let r=[];e=(0,tE.normalize)(e),e=(0,tE.resolve)(e);for(let n of t){let i=rE.lstatSync(n,{throwIfNoEntry:!1});if(!i)throw new Error(`File ${n} does not exist`);if(i.isDirectory()){let s=n.replace(e,"");j6(s),r.push({sourcePath:null,destinationPath:s,stats:i})}else{if(n=(0,tE.normalize)(n),n=(0,tE.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,"");j6(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&&mi("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: ${UPe(d)}`);try{ct(`Starting download of artifact to: ${r}`);let f=yield qPe(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(HPe,"downloadArtifactInternal");function VPe(){return ZE(this,arguments,void 0,function*(t=ISe()){return(yield oLt(t))?Ze(`Artifact destination folder already exists: ${t}`):(Ze(`Artifact destination folder does not exist, creating: ${t}`),yield WY.default.mkdir(t,{recursive:!0})),t})}o(VPe,"resolveOrCreateDirectory");var cLt=5,lLt=[400,401,403,404,422];function eC(t,e=cLt,r=lLt){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(eC,"getRetryOptions");var zPe="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=zPe;var WPe=N($Pe(),1);var uLt="0.0.0-development";function dLt(t){return t.request!==void 0}o(dLt,"isRequestError");async function jPe(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(jPe,"errorRequest");async function fLt(t,e,r,n){let i=new WPe.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(hLt.bind(null,t,e,r),n)}o(fLt,"wrapRequest");async function hLt(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 rd(i.data.errors[0].message,500,{request:n,response:i});return jPe(t,e,s,n)}return i}o(hLt,"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",jPe.bind(null,r,n)),t.hook.wrap("request",fLt.bind(null,r,n))),n}o(OA,"retry");OA.VERSION=uLt;var JPe=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 eP(t,e,r,n,i){return JPe(this,void 0,void 0,function*(){var s;let[a,c]=eC(DA),l={log:void 0,userAgent:kl(),previews:void 0,retry:a,request:c},d=yield rh(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 dc(`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 od(`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(eP,"getArtifactPublic");function YPe(t){return JPe(this,void 0,void 0,function*(){var e;let r=Ol(),{workflowRunBackendId:n,workflowJobRunBackendId:i}=Pl(),s={workflowRunBackendId:n,workflowJobRunBackendId:i,nameFilter:bn.create({value:t})},a=yield r.ListArtifacts(s);if(a.artifacts.length===0)throw new od(`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?wo.toDate(c.createdAt):void 0,digest:(e=c.digest)===null||e===void 0?void 0:e.value}}})}o(YPe,"getArtifactInternal");var KPe=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 XPe(t,e,r,n,i){return KPe(this,void 0,void 0,function*(){var s;let[a,c]=eC(DA),l={log:void 0,userAgent:kl(),previews:void 0,retry:a,request:c},u=rh(i,l,OA,PA),d=yield eP(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 dc(`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(XPe,"deleteArtifactPublic");function ZPe(t){return KPe(this,void 0,void 0,function*(){let e=Ol(),{workflowRunBackendId:r,workflowJobRunBackendId:n}=Pl(),i={workflowRunBackendId:r,workflowJobRunBackendId:n,nameFilter:bn.create({value:t})},s=yield e.ListArtifacts(i);if(s.artifacts.length===0)throw new od(`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(ZPe,"deleteArtifactInternal");var eOe=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())})},tP=BSe(),rP=100,pLt=Math.ceil(tP/rP);function tOe(t,e,r,n){return eOe(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]=eC(DA),h={log:void 0,userAgent:kl(),previews:void 0,retry:d,request:f},p=rh(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:rP,page:g}),E=Math.ceil(m.total_count/rP),y=m.total_count;y>tP&&(mi(`Workflow run ${i} has ${y} artifacts, exceeding the limit of ${tP}. Results will be incomplete as only the first ${tP} 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:rP,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=nOe(u)),ct(`Found ${u.length} artifact(s)`),{artifacts:u}})}o(tOe,"listArtifactsPublic");function rOe(){return eOe(this,arguments,void 0,function*(t=!1){let e=Ol(),{workflowRunBackendId:r,workflowJobRunBackendId:n}=Pl(),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?wo.toDate(c.createdAt):void 0,digest:(l=c.digest)===null||l===void 0?void 0:l.value}});return t&&(a=nOe(a)),ct(`Found ${a.length} artifact(s)`),{artifacts:a}})}o(rOe,"listArtifactsInternal");function nOe(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(nOe,"filterLatest");var hB=function(t,e,r,n){function i(s){return s instanceof r?s:new r(function(a){a(s)})}return o(i,"adopt"),new(r||(r=Promise))(function(s,a){function c(d){try{u(n.next(d))}catch(f){a(f)}}o(c,"fulfilled");function l(d){try{u(n.throw(d))}catch(f){a(f)}}o(l,"rejected");function u(d){d.done?s(d.value):i(d.value).then(c,l)}o(u,"step"),u((n=n.apply(t,e||[])).next())})},ALt=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i
Line truncated
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions is operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),s}})}downloadArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Oy())throw new Pf;if(r?.findBy){let{findBy:{repositoryOwner:n,repositoryName:i,token:s}}=r,a=ALt(r,["findBy"]);return GPe(e,n,i,s,a)}return HPe(e,r)}catch(n){throw mi(`Download Artifact failed with error: ${n}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}listArtifacts(e){return hB(this,void 0,void 0,function*(){try{if(Oy())throw new Pf;if(e?.findBy){let{findBy:{workflowRunId:r,repositoryOwner:n,repositoryName:i,token:s}}=e;return tOe(r,n,i,s,e?.latest)}return rOe(e?.latest)}catch(r){throw mi(`Listing Artifacts failed with error: ${r}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),r}})}getArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Oy())throw new Pf;if(r?.findBy){let{findBy:{workflowRunId:n,repositoryOwner:i,repositoryName:s,token:a}}=r;return eP(e,n,i,s,a)}return YPe(e)}catch(n){throw mi(`Get Artifact failed with error: ${n}.
|
||||||
|
|
||||||
|
Errors can be temporary, so please try again and optionally run the action with debug mode enabled for more information.
|
||||||
|
|
||||||
|
If the error persists, please check whether Actions and API requests are operating normally at [https://githubstatus.com](https://www.githubstatus.com).`),n}})}deleteArtifact(e,r){return hB(this,void 0,void 0,function*(){try{if(Oy())throw new Pf;if(r?.findBy){let{findBy:{repositoryOwner:n,repositoryName:i,workflowRunId:s,token:a}}=r;return XPe(e,s,n,i,a)}return ZPe(e)}catch(n){throw mi(`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 Zkr=new tC;var nP=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=KY.default.basename(e.filename),n=new tC;O(`Uploading ${r} as an artifact`);let i=KY.default.dirname(e.filename),s=await n.uploadArtifact(r,[e.filename],i,{retentionDays:e.retentionDays,skipArchive:!0});if(!s.id)throw new dc("Cannot upload artifact");let a=s.size??iOe.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 AK=N(sOe(),1);var Pt=Symbol("NOT_RESOLVED");function Oi(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(Oi,"defineScalarTag");function lK(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(lK,"defineSequenceTag");function aP(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(aP,"defineMappingTag");var mLt=Oi("tag:yaml.org,2002:str",{resolve:o(t=>t,"resolve"),identify:o(t=>typeof t=="string","identify")}),gLt=["","~","null","Null","NULL"],yLt=Oi("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>gLt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),ELt=Oi("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")}),CLt=["","~","null","Null","NULL"],bLt=Oi("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:o(t=>CLt.indexOf(t)!==-1?null:Pt,"resolve"),identify:o(t=>t===null,"identify"),represent:o(()=>"null","represent")}),ILt=["true","True","TRUE"],wLt=["false","False","FALSE"],SLt=Oi("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","T","f","F"],resolve:o(t=>ILt.indexOf(t)!==-1?!0:wLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),BLt=["true"],xLt=["false"],vLt=Oi("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","f"],resolve:o(t=>BLt.indexOf(t)!==-1?!0:xLt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),NLt=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"],_Lt=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"],TLt=Oi("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:o(t=>NLt.indexOf(t)!==-1?!0:_Lt.indexOf(t)!==-1?!1:Pt,"resolve"),identify:o(t=>Object.prototype.toString.call(t)==="[object Boolean]","identify"),represent:o(t=>t?"true":"false","represent")}),RLt=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"),DLt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function QLt(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(QLt,"parseYamlInteger$2");function kLt(t,e){if(e){if(!DLt.test(t))return Pt}else if(!RLt.test(t))return Pt;let r=QLt(t);return Number.isFinite(r)?r:Pt}o(kLt,"resolveYamlInteger$2");var pOe=Oi("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:kLt,identify:o(t=>Number.isInteger(t)&&!Object.is(t,-0)&&t.toString(10).indexOf("e")<0,"identify"),represent:o(t=>t.toString(10),"represent")}),PLt=new RegExp("^-?(?:0|[1-9][0-9]*)$"),OLt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function LLt(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(LLt,"parseYamlInteger$1");function FLt(t,e){if(e){if(!OLt.test(t))return Pt}else if(!PLt.tes
Line truncated
|
||||||
|
${l}`}let f=XY(t.buffer,i[c],s[c],t.position,d);l+=`${" ".repeat(r.indent)}${ZY((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=XY(t.buffer,i[c+h],s[c+h],t.position-(i[c]-i[c+h]),d);l+=`${" ".repeat(r.indent)}${ZY((t.line+h+1).toString(),u)} | ${p.str}
|
||||||
|
`}return l.replace(/\n$/,"")}o(SFt,"makeSnippet");function cOe(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(cOe,"formatError");var BFt=class gOe extends Error{static{o(this,"YAMLException")}reason;mark;constructor(e,r){super(),this.name="YAMLException",this.reason=e,this.mark=r,this.message=cOe(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${cOe(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=SFt(c),new gOe(n,c)}},rC={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},oh={BLOCK:1,FLOW:2},dK={CLIP:1,STRIP:2,KEEP:3};function lOe(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(lOe,"simpleEscapeSequence");var xFt=new Array(256),vFt=new Array(256);for(let t=0;t<256;t++)xFt[t]=lOe(t)?1:0,vFt[t]=lOe(t);var fPr=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"});function eK(t){return encodeURI(t).replace(/!/g,"%21")}o(eK,"tagPercentEncode");function yOe(t){let e=t;return e.charCodeAt(0)===33?(e=e.slice(1),`!${eK(e)}`):e.slice(0,18)==="tag:yaml.org,2002:"?`!!${eK(e.slice(18))}`:`!<${eK(e)}>`}o(yOe,"tagNameShort");var NFt={filename:"",schema:CFt,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};var nK=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`,EOe=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`,hPr=new RegExp(`^(?:${nK})*$`),pPr=new RegExp(`^(?:${EOe})+$`),APr=new RegExp(`^(?:!(?:${nK})*|${EOe}(?:${nK})*)$`),_Ft={filename:"",maxDepth:100};var mPr={..._Ft,...NFt};var LA=Symbol("INVALID");function TFt(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(TFt,"buildRepresentTypes");function RFt(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(RFt,"matchTag");function mB(t,e){if(!t.noRefs&&e!==null&&typeof e=="object"){let u=t.refs.get(e);if(u)return u.anchor===void 0&&(u.anchor=`ref_${t.refCounter++}`),{kind:"alias",anchor:u.anchor}}let r=RFt(t,e);if(!r){if(e===void 0||t.skipInvalid)return LA;throw new BFt(`unacceptable kind of an object to dump ${Object.prototype.toString.call(e)}`)}let{tag:n,tagName:i,implicitTag:s}=r,a=s?i:yOe(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:oh.BLOCK,items:[]};t.noRefs||t.refs.set(e,d);for(let f=0,h=u.length;f<h;f+=1){let p=mB(t,u[f]);p===LA&&u[f]===void 0&&(p=mB(t,null)),p!==LA&&d.items.push(p)}return d}let c=n.represent(e),l={kind:"mapping",tag:a,tagged:!s,style:oh.BLOCK,items:[]};t.noRefs||t.refs.set(e,l);for(let[u,d]of c){let f=mB(t,u);if(f===LA)continue;let h=mB(t,d);h!==LA&&l.items.push({key:f,value:h})}return l}o(mB,"build");function DFt(t,e,r={}){let n=mB({representTypes:TFt(e),noRefs:r.noRefs??!1,skipInvalid:r.skipInvalid??!1,refs:new Map,refCounter:0},t);return[{contents:n===LA?null:n,directives:[]}]}o(DFt,"jsToAst");var QFt=Symbol("visit:break"),COe=Symbol("visit:skip");function sP(t,e,r){let n=e(t,r);if(n===QFt)return!0;if(n===COe)return!1;let i=r.depth+1;switch(t.kind){case"sequence":for(let s of t.items)if(sP(s,e,{depth:i,parent:t,isKey:!1}))return!0;break;case"mapping":for(let{key:s,value:a}of t.items)if(sP(s,e,{depth:i,parent:t,isKey:!0})||sP(a,e,{depth:i,parent:t,isKey:!1}))return!0;break}return!1}o(sP,"visitNode");function uOe(t,e){for(let r of t)if(r.contents&&sP(r.contents,e,{depth:0,parent:null,isKey:!1}))return}o(uOe,"visit");function uP(t,e){return(t&1<<e)!==0}o(uP,"hasBit");var dOe={applyQuoteFlowKeysOption:kFt,doubleQuoteForInvisibles:PFt,doubleQuoteWhitespaceOnly:OFt,applyForceQuotesOption:LFt,tryLongOrMultilineAsBlock:FFt,quoteInvalidPlain:MFt,fallbackToDoubleQuoted:UFt};function bOe(t){return t.presenterOptions.quoteStyle==="single"&&uP(t.allowedStylesMask,it.SINGLE_QUOTED)?it.SINGLE_QUOTED:it.DOUBLE_QUOTED}o(bOe,"_preferredQuotedStyle");function kFt(t){t.presenterOptions.quoteFlowKeys&&(!t.isKey||!t.flowOnly||t.style!==it.PLAIN||(t.style=it.DOUBLE_QUOTED))}o(kFt,"applyQuoteFlowKeysOption");function PFt(t){t.style===it.PLAIN&&/[\t\x7F-\xA0\u2028\u2029\uFEFF\uFFFE\uFFFF]/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(PFt,"doubleQuoteForInvisibles");function OFt(t){t.style===it.PLAIN&&/^\s+$/.test(t.node.value)&&(t.style=it.DOUBLE_QUOTED)}o(OFt,"doubleQuoteWhitespaceOnly");function LFt(t){t.presenterOptions.forceQuotes&&(t.isKey||t.style!==it.PLAIN||(t.style=t.node.value.includes(`
|
||||||
|
`)?it.DOUBLE_QUOTED:bOe(t)))}o(LFt,"applyForceQuotesOption");function FFt(t){if(t.style!==it.PLAIN||t.isKey)return;let e=t.node.value,r=e.indexOf(`
|
||||||
|
`)!==-1;if(!uP(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(FFt,"tryLongOrMultilineAsBlock");function MFt(t){t.style===it.PLAIN&&!uP(t.allowedStylesMask,it.PLAIN)&&(t.style=bOe(t))}o(MFt,"quoteInvalidPlain");function UFt(t){uP(t.allowedStylesMask,t.style)||(t.style=it.DOUBLE_QUOTED)}o(UFt,"fallbackToDoubleQuoted");function AB(t,e){return t|1<<e}o(AB,"setBit");var qFt="[\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]",GFt="[\\n\\r]",HFt="\\uFEFF",fK="[ \\t]",IOe=`(?:(?!(?:${GFt}|${HFt}))${qFt})`,dP=`(?:(?!${fK})${IOe})`,wOe="[\\x09\\x20-\\uD7FF\\uE000-\\uFFFF\\u{10000}-\\u{10FFFF}]",SOe="[-?:,\\[\\]{}#&*!|>'\"%@`]",VFt="[,\\[\\]{}]",iK=dP,sK=`(?:(?!${VFt})${dP})`,zFt=`(?:(?:(?!${SOe})${dP})|[?:-](?=${iK}))`,$Ft=`(?:(?:(?!${SOe})${dP})|[?:-](?=${sK}))`,BOe=`(?:(?:(?![:#])${iK})|:(?=${iK}))#*`,xOe=`(?:(?:(?![:#])${sK})|:(?=${sK}))#*`,vOe=`(?:${fK}*${BOe})*`,NOe=`(?:${fK}*${xOe})*`,_Oe=`${zFt}#*${vOe}`,TOe=`${$Ft}#*${NOe}`,jFt=_Oe,WFt=TOe,JFt=`\\n+${BOe}${vOe}`,YFt=`\\n+${xOe}${NOe}`,KFt=`${_Oe}(?:${JFt})*`,XFt=`${TOe}(?:${YFt})*`,ZFt=new RegExp(`^(?:${KFt})$`,"u"),eMt=new RegExp(`^(?:${XFt})$`,"u"),tMt=new RegExp(`^(?:${jFt})$`,"u"),rMt=new RegExp(`^(?:${WFt})$`,"u"),nMt=new RegExp(`^(?:${wOe})*$`,"u"),iMt=new RegExp(`^(?:${wOe}|\\n)*$`,"u"),sMt=new RegExp(`^(?:${IOe}|\\n)*$`,"u"),oMt=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/,hK=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/m;function aMt(t){let e=t.node.value;if(e!==""){if(!(t.isKey?t.flowOnly?rMt:tMt:t.flowOnly?eMt:ZFt).test(e)||t.shiftOfFirstLine===0&&oMt.test(e))return!1;if(t.shiftOfContent===0){let n=e.indexOf(`
|
||||||
|
`);if(n!==-1){let i=e.slice(n+1);if(hK.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(aMt,"canUsePlain");function cMt(t){let e=t.node.value;if(!(t.isKey?nMt:iMt).test(e)||/[ \t]\n|\n[ \t]/.test(e))return!1;if(!t.isKey&&t.shiftOfContent===0){let r=e.indexOf(`
|
||||||
|
`);if(r!==-1&&hK.test(e.slice(r+1)))return!1}return!0}o(cMt,"canUseSingleQuoted");function lMt(t){if(t.flowOnly||!sMt.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&&hK.test(t.node.value))}o(lMt,"canUseBlock");function uMt(t){let e=AB(0,it.DOUBLE_QUOTED);aMt(t)&&(e=AB(e,it.PLAIN)),cMt(t)&&(e=AB(e,it.SINGLE_QUOTED)),lMt(t)&&(e=AB(AB(e,it.LITERAL_BLOCK),it.FOLDED_BLOCK)),t.allowedStylesMask=e}o(uMt,"detectAllowedStyles");function dMt(t){switch(t.style){case it.PLAIN:return fMt(t);case it.SINGLE_QUOTED:return hMt(t);case it.LITERAL_BLOCK:return pMt(t);case it.FOLDED_BLOCK:return AMt(t);case it.DOUBLE_QUOTED:return mMt(t)}}o(dMt,"renderScalar");function fMt(t){return ROe(t.node.value,t.shiftOfContent)}o(fMt,"renderPlain");function hMt(t){return`'${ROe(t.node.value,t.shiftOfContent).replace(/'/g,"''")}'`}o(hMt,"renderSingleQuoted");function pMt(t){let e=t.node.value;return"|"+QOe(e,t.shiftOfParent,t.shiftOfContent)+kOe(DOe(e,t.shiftOfContent))}o(pMt,"renderLiteralBlock");function AMt(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)),">"+QOe(e,t.shiftOfParent,t.shiftOfContent)+kOe(DOe(yMt(e,n),t.shiftOfContent))}o(AMt,"renderFoldedBlock");function mMt(t){return`"${bMt(t.node.value)}"`}o(mMt,"renderDoubleQuoted");function ROe(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(ROe,"encodeFlowBreaks");function DOe(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(DOe,"indentString");function gMt(t){return/^\n* /.test(t)}o(gMt,"needIndentIndicator");function QOe(t,e,r){let n=gMt(t)?String(r-e):"",i=t[t.length-1]===`
|
||||||
|
`;return`${n}${i&&(t[t.length-2]===`
|
||||||
|
`||t===`
|
||||||
|
`)?"+":i?"":"-"}
|
||||||
|
`}o(QOe,"blockHeader");function kOe(t){return t[t.length-1]===`
|
||||||
|
`?t.slice(0,-1):t}o(kOe,"dropEndingNewline");function oK(t){return t===" "||t===" "}o(oK,"isMoreIndented");function fOe(t,e){if(t===""||oK(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(fOe,"foldLine");function yMt(t,e){let r=/(\n+)([^\n]*)/g,n=t.indexOf(`
|
||||||
|
`);n===-1&&(n=t.length),r.lastIndex=n;let i=fOe(t.slice(0,n),e),s=t[0]===`
|
||||||
|
`||oK(t[0]),a,c;for(;c=r.exec(t);){let l=c[1],u=c[2];a=u!==""&&oK(u[0]),i+=l+(!s&&!a&&u!==""?`
|
||||||
|
`:"")+fOe(u,e),s=a}return i}o(yMt,"foldBlockScalar");var EMt=/["\\\x00-\x1F\x7F-\xA0\u2028\u2029\uD800-\uDFFF\uFEFF\uFFFE\uFFFF]/gu;function CMt(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(CMt,"escapeCharacter");function bMt(t){return t.replace(EMt,CMt)}o(bMt,"escapeString");var oP=10,pK={indent:2,seqNoIndent:!1,seqInlineFirst:!0,lineWidth:80,flowBracketPadding:!1,flowSkipCommaSpace:!1,flowSkipColonSpace:!1,quoteFlowKeys:!1,quoteStyle:"single",forceQuotes:!1,scalarStyleRules:Object.keys(dOe).map(t=>Reflect.get(dOe,t)),tagBeforeAnchor:!1};function IMt(t){return t.tagged?t.tag:yOe(t.tag)}o(IMt,"nodeTagShort");function wMt(t){let e={...pK,...t};return e.flowSkipColonSpace&&(e.quoteFlowKeys=!0),{...e,defaultScalarTagName:e.schema.defaultScalarTag.tagName,openEnded:!1}}o(wMt,"createPresenterState");function aK(t,e){return`
|
||||||
|
${" ".repeat(t.indent*e)}`}o(aK,"generateNextLine");function SMt(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(SMt,"scalarLayout");function BMt(t,e,r){let n="";for(let s=0,a=r.items.length;s<a;s+=1){let c=Id(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(BMt,"writeFlowSequence");function hOe(t,e,r,n){let i="";for(let s=0,a=r.items.length;s<a;s+=1){let c=Id(t,e+1,r.items[s],r,{block:!0,compact:t.seqInlineFirst,isblockseq:!0}).text;(!n||i!=="")&&(i+=aK(t,e)),c===""||oP===c.charCodeAt(0)?i+="-":i+="- ",i+=c}return i}o(hOe,"writeBlockSequence");function xMt(t,e,r){let n="";for(let{key:s,value:a}of r.items){let c="";n!==""&&(c+=`,${t.flowSkipCommaSpace?"":" "}`);let l=Id(t,e,s,r,{iskey:!0}),u=l.text,d=Id(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(xMt,"writeFlowMapping");function vMt(t,e,r,n){let i="";for(let s=0,a=r.items.length;s<a;s+=1){let c="";(!n||i!=="")&&(c+=aK(t,e));let{key:l,value:u}=r.items[s],d=(l.kind==="mapping"||l.kind==="sequence")&&l.style===oh.BLOCK&&l.items.length!==0||l.kind==="scalar"&&(l.style===it.LITERAL_BLOCK||l.style===it.FOLDED_BLOCK),f=d?Id(t,e+1,l,r,{block:!0,compact:!0,isblockseq:!cK(t,l,e+1)}):Id(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&&oP===h.charCodeAt(0)?c+="?":c+="? "),c+=h,m&&(c+=aK(t,e));let E=Id(t,e+1,u,r,{block:!0,compact:m,isblockseq:m&&!cK(t,u,e+1)}).text,y=l.kind==="scalar"&&f.noBody&&(l.tagged||l.anchor!==void 0),C=!m&&(l.kind==="alias"||y)?" ":"";E===""||oP===E.charCodeAt(0)?c+=`${C}:`:c+=`${C}: `,c+=E,i+=c}return i}o(vMt,"writeBlockMapping");function cK(t,e,r){return e.kind==="alias"?!0:e.tagged||e.anchor!==void 0||t.indent<2&&r>0}o(cK,"cannotBeCompact");function Id(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;cK(t,r,e)&&(l=!1);let d,f=r.tagged,h=s&&(r.kind==="mapping"||r.kind==="sequence")&&r.style===oh.BLOCK&&r.items.length!==0;if(r.kind==="mapping")h?d=vMt(t,e,r,l):d=xMt(t,e,r);else if(r.kind==="sequence")h?t.seqNoIndent&&!c&&e>0?d=hOe(t,e-1,r,l):d=hOe(t,e,r,l):d=BMt(t,e,r);else{let m=SMt(t,r,n,e,a,!s);uMt(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?IMt(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)===oP?"":" ";g=`${m.join(" ")}${C}${d}`}return{text:g,noBody:p}}o(Id,"writeNode");function NMt(t){return(t.kind==="sequence"||t.kind==="mapping")&&t.style===oh.BLOCK&&t.items.length!==0&&!t.tagged&&t.anchor===void 0}o(NMt,"rootStartsOwnLine");function _Mt(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(_Mt,"writeDocumentDirectives");function TMt(t,e){let r=wMt(e),n="",i=!1;for(let s=0;s<t.length;s+=1){let a=t[s];r.openEnded=!1;let c=_Mt(a),l=c!=="",u=a.explicitStart||l||s>0&&!i;if(n+=c,a.contents===null)u&&(n+=`---
|
||||||
|
`);else if(u){let d=Id(r,0,a.contents,null,{block:!0,compact:!0}).text,f=d===""?"":l||NMt(a.contents)?`
|
||||||
|
`:" ";n+=`---${f}${d}
|
||||||
|
`}else n+=Id(r,0,a.contents,null,{block:!0,compact:!0}).text+`
|
||||||
|
`;i=a.explicitEnd||r.openEnded,i&&(n+=`...
|
||||||
|
`)}return n}o(TMt,"present");var RMt={...pK,schema:IFt,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:o(()=>{},"transform")};function DMt(t,e){let r=String(t),n=String(e);return r<n?-1:r>n?1:0}o(DMt,"defaultCompareFn");function POe(t,e={}){let r={...RMt,...e},n=DFt(t,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0&&uOe(n,(i,s)=>{if(!(s.depth<r.flowLevel))return(i.kind==="sequence"||i.kind==="mapping")&&(i.style=oh.FLOW),COe}),r.sortKeys){let i=r.sortKeys===!0?DMt:r.sortKeys;uOe(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),TMt(n,{...fFt(r,Object.keys(pK)),schema:r.schema})}o(POe,"dump");var gPr=rC.DOCUMENT,yPr=rC.SEQUENCE,EPr=rC.MAPPING,CPr=rC.SCALAR,bPr=rC.ALIAS,IPr=rC.POP,wPr=it.PLAIN,SPr=it.SINGLE_QUOTED,BPr=it.DOUBLE_QUOTED,xPr=it.LITERAL_BLOCK,vPr=it.FOLDED_BLOCK,NPr=oh.BLOCK,_Pr=oh.FLOW,TPr=dK.CLIP,RPr=dK.STRIP,DPr=dK.KEEP;var OOe=N(require("os"),1);var fP=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?OOe.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=KU.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(AK.default.encode(u),"text").addRaw("</details>"):c.addRaw("<strong>Error</strong>").addBreak().addRaw("<p>").addCodeBlock(AK.default.encode(u),"text").addRaw("</p>"),c.addRaw("</blockquote>"))}e.inputs&&c.addRaw("<details><summary><strong>Build inputs</strong></summary>").addCodeBlock(POe(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=bo(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=bo(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&&Pc(s),[i,s]}};var gK=N(require("fs"),1),LOe=N(require("path"),1);var hP=class t{static{o(this,"Bake")}buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new Qt,this.metadataFilename=`bake-metadata-${re.generateRandomString()}.json`}getMetadataFilePath(){return LOe.default.join(gt.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!gK.default.existsSync(e))return;let r=gK.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 _e.getExecOutput(c.command,c.args,r).then(l=>{if(l.stderr.length>0&&l.exitCode!=0)throw new Error(`cannot parse bake definitions: ${l.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);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=bo(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=bo(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=bo(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=bo(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,
Line truncated
|
||||||
|
`)[0])}static async isHeadDetached(){return await t.exec(["branch","--show-current"]).then(e=>e.length==0)}static async getDetachedRef(){let e=await t.exec(["show","-s","--pretty=%D"]);R(`detached HEAD ref: ${e}`);let r=e.replace(/^grafted, /,"").trim();if(r==="HEAD")return await t.inferRefFromHead();let n=r.match(/^HEAD, (.*)$/);if(!n||!n[1])throw new Error(`Cannot find detached HEAD ref in "${e}"`);let i=n[1].trim();if(i.startsWith("tag: "))return await t.findDetachedTagRef(i,e);if(i.match(/^pull\/\d+\/(head|merge)$/))return`refs/${i}`;let a=i.match(/^[^/]+\/[^/]+, (.+)$/);if(a)return`refs/heads/${a[1].trim()}`;let c=i.match(/^[^/]+\/(.+)$/);if(c)return`refs/heads/${c[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${e}"`)}static async exec(e=[]){return await _e.getExecOutput("git",e,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr);return r.stdout.trim()})}static async inferRefFromHead(){let e=await t.findContainingRef("refs/heads/");if(e)return e;let r=await t.findContainingRef("refs/remotes/");if(r){let s=r.match(/^refs\/remotes\/[^/]+\/(.+)$/);return s?`refs/heads/${s[1]}`:r}let n=await t.exec(["tag","--contains","HEAD"]),[i]=n.split(`
|
||||||
|
`).map(s=>s.trim()).filter(s=>s.length>0);if(i)return`refs/tags/${i}`;throw new Error("Cannot infer ref from detached HEAD")}static async findDetachedTagRef(e,r){let i=(await t.exec(["for-each-ref","--format=%(refname)","--points-at","HEAD","refs/tags/"])).split(`
|
||||||
|
`).map(s=>s.trim()).filter(s=>s.length>0).sort((s,a)=>a.length-s.length);for(let s of i){let a=`tag: ${s.slice(10)}`;if(e===a||e.startsWith(`${a}, `))return s}if(i.length===1)return i[0];throw new Error(`Cannot find detached tag ref in "${r}"`)}static async findContainingRef(e){let r=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e]),[n]=r.split(`
|
||||||
|
`).map(i=>i.trim()).filter(i=>i.length>0);return n}static async commitDate(e){return new Date(await t.exec(["show","-s",'--format="%ci"',e]))}};var XMe=require("crypto"),au=N(require("fs"),1),cu=N(require("path"),1);var PC=N(BK(),1),ZMe=N(U7(),1),OC=N(WMe(),1);var HX=N(BK(),1);var YMe=N(ac(),1);var JMe="application/vnd.oci.empty.v1+json";var ou=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 _e.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 _e.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 _e.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return R("Cosign.versionSatisfies false: undefined version"),!1;let i=YMe.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===HX.BUNDLE_V03_MEDIA_TYPE&&typeof u.digest=="string"?r=u.digest:u?.artifactType===JMe&&typeof u.digest=="string"&&(n=u.digest)}if(!i&&l&&l.mediaType===HX.BUNDLE_V03_MEDIA_TYPE&&(i=l),i&&(r||n)){s=void 0;break}}return{bundle:i,signatureManifestDigest:r||n,errors:s}}};var VX=N(require("fs"),1);var $O=class t{static{o(this,"ImageTools")}buildx;constructor(e){this.buildx=e?.buildx||new Qt}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 _e.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(!VX.default.existsSync(n))return;let l=VX.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.name,"--format",r]);if(!e.retryOnManifestUnknown)return await this.execInspect(i.command,i.args,n);let s=e.retryLimit??15,a;for(let c=0;c<s;c++)try{return await this.execInspect(i.command,i.args,n
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 _e.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 kC="https://search.sigstore.dev";var KMe="slsaprovenance1",Ih=class t{static{o(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new ou,this.imageTools=e?.imageTools||new $O}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 _e.getExecOutput(this.cosign.binPath,["--verbose",...u,l],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),f=ou.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: ${d.stderr.trim().split(/\r?\n/).filter(p=>p.length>0).pop()??"unknown error"}`);let h=t.parseBundle((0,PC.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 _e.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: ${a.stderr.trim().split(/\r?\n/).filter(l=>l.length>0).pop()??"unknown error"}`);let c=ou.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 _e.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),l=ou.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: ${c.stderr.trim().split(/\r?\n/).filter(u=>u.length>0).pop()??"unknown error"}`)}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=cu.default.join(cu.default.dirname(a),`${e.name??"provenance"}.sigstore.json`),u=t.getProvenanceSubjects(c);if(u.length===0){ut(`No subjects found in provenance ${a}, skip signing.`);return}let d=cu.default.join(cu.default.dirname(a),u[0].name),f=["attest-blob","--yes","--oidc-provider","github-actions",...await this.bundleFormatArgs(),"--statement",a,"--type",KMe,"--bundle",l,...i];O(`[command]${this.cosign.binPath} ${[...f,d].join(" ")}`);let h=await _e.getExecOutput(this.cosign.binPath,["--verbose",...f,d],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),p=ou.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: ${h.stderr.trim().split(/\r?\n/).filter(m=>m.length>0).pop()??"unknown error"}`);let g=t.parseBundle((0,PC.bundleFromJSON)(JSON.parse(au.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=cu.default.dirname(i);await kr(`Verifying signature bundle ${s.bundlePath}`,async()=>{for(let c of s.subjects){let l=cu.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??KMe];(r.noTransparencyLog||!s.tlogID)&&u.push("--use-signed-timestamps","--insecure-ignore-tlog");let d=await _e.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(au.default.readFileSync(r,"utf-8")),s=(0,PC.bundleFromJSON)(i);O("Fetching Sigstore TUF trusted root metadata");let a=await ZMe.getTrustedRoot({retry:{retries:5}}),c=(0,OC.toTrustMaterial)(a);try{O("Verifying artifact signature");let l=(0,OC.toSignedEntity)(s,au.default.readFileSync(e)),u=t.parseCertificate(s),d=s.verificationMaterial.tlogEntries,f=d.length>0?d[0].logIndex:void 0,p=new OC.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 _e.exec(this.cosign.binPath,a,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),O(JSON.stringify(JSON.parse(au.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: ${kC}?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=cu.default.join(e.localExportDir,"provenance.json");if(au.default.existsSync(r))return{[r]:au.default.readFileSync(r)};let n=au.default.readdirSync(e.localExportDir,{withFileTypes:!0}),i=n.filter(s=>s.isDirectory());if(i.length>0&&i.length===n.length&&i.every(s=>au.default.existsSync(cu.default.join(e.localExportDir,s.name,"provenance.json")))){let s={};for(let a of i){let c=cu.default.join(e.localExportDir,a.name,"provenance.json");s[c]=au.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,PC.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 XMe.X509Certificate(r)}async bundleFormatArgs(){return await this.cosign.versionSatisfies(">=3.1.1")?[]:["--new-bundle-format"]}};var jO=class t{static{o(this,"Install")}standalone;githubToken;sigstore;constructor(e
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 eUe=N(ac(),1);var WO=N(require("fs"),1);var JO=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(!WO.default.existsSync(e))throw new Error(`config file ${e} not found`);e=WO.default.readFileSync(e,{encoding:"utf-8"})}let n=gt.tmpName({tmpdir:gt.tmpDir()});return WO.default.writeFileSync(n,e),n}};var YO=class{static{o(this,"BuildKit")}buildx;config;constructor(e){this.config=new JO,this.buildx=e?.buildx||new Qt}async getVersion(e){if(!e.buildkit&&e.name)try{return await this.getVersionWithinImage(e.name)}catch(r){ut(r)}return e.buildkit}async getVersionWithinImage(e){return R(`BuildKit.getVersionWithinImage nodeName: ${e}`),on.getExecOutput(["inspect","--format","{{.Config.Image}}",`${Qt.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 FC({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")||!eUe.satisfies(s.replace(/-moby$/,""),r))return!1}return!0}};var KO=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 _e.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 _e.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 _e.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 Td=N(require("fs"),1),uu=N(require("os"),1),MC=N(require("path"),1);var ZO=N(ac(),1),$X=N(require("util"),1);var XO=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=ZO.clean(s)||"";if(!ZO.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:MC.default.join(uu.default.homedir(),".bin","docker-compose"),cacheFile:uu.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=$X.format(n.downloadURL,s,this.filename());O(`Downloading ${u}`);let d=await Ho(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=MC.default.join(r,"compose-bin-standalone");Td.default.existsSync(n)||Td.default.mkdirSync(n,{recursive:!0});let i=uu.default.platform()=="win32"?"compose.exe":"compose",s=MC.default.join(n,i);return Td.default.copyFileSync(e,s),O("Fixing perms"),Td.default.chmodSync(s,"0755"),Lc(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=MC.default.join(r,"cli-plugins");Td.default.existsSync(n)||Td.default.mkdirSync(n,{recursive:!0});let i=uu.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 eL=class t{static{o(this,"Install")}githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new Qt,this.sigstore=e?.sigstore||new Ih}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=qC.clean(i)||"";if(!qC.valid(s))throw new Error(`Invalid Cosign version "${i}".`);let a=new Yn({htcName:"cosign-dl-bin",htcVersion:i,baseCacheDir:UC.default.join(Ic.default.homedir(),".bin"),cacheFile:Ic.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=jX.format(r.downloadURL,i,this.filename());O(`Downloading ${l}`);let u=await Ho(l,void 0,this.githubToken);R(`Install.download htcDownloadPath: ${u}`),e.verifySignature&&qC.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:UC.default.join(Ic.default.homedir(),".bin"),cacheFile:Ic.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),a=await s.find();if(a)return O(`Cosign binary found in ${a}`),a;let c=UC.default.join(gt.tmpDir(),"cosign-build-cache"),l=await this.buildCommand(e,c),u=await _e.getExecOutput(l.command,l.args,{ignoreReturnCode:!0,input:Buffer.from(tUe)}).then(f=>{if(f.stderr.length>0&&f.exitCode!=0)throw new Error(`build failed with: ${f.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);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=UC.default.join(r,"cosign-bin");GB.default.existsSync(n)||GB.default.mkdirSync(n,{recursive:!0});let i=Ic.default.platform()=="win32"?"cosign.exe":"cosign",s=UC.default.join(n,i);return GB.default.copyFileSync(e,s),O("Fixing perms"),GB.default.chmodSync(s,"0755"),Lc(n),O("Added Cosign to PATH"),O(`Binary path: ${s}`),s}async buildCommand(e,r){let n=await new Qt({standalone:!0}).isAvailable(),i=await new Qt({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 Qt({standalone:s}).getCommand(a)}async verifySignature(e,r){let n=`${r}.sigstore.json`;O(`Downloading keyless verification bundle at ${n}`);let i=await Ho(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?`${kC}?logIndex=${s.tlogID}`:""}`)}filename(){let e;switch(Ic.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=Ic.default.arch();break}}let r=Ic.default.platform()=="win32"?"windows":Ic.default.platform(),n=Ic.default.platform()=="win32"?".exe":"";return jX.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 nC.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 rUe=N(ac(),1);var tL=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 _e.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,sil
Line truncated
|
||||||
|
`)[0]?.trim()):f.stderr.length>0&&(a=new Error(`buildx failed with: ${f.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`)))});let c=r.buildxBuild.resolveImageID(),l=r.buildxBuild.resolveMetadata(),u=r.buildxBuild.resolveDigest(l);c&&await kr("ImageID",async()=>{O(c),IN("imageid",c)}),u&&await kr("Digest",async()=>{O(u),IN("digest",u)}),l&&await kr("Metadata",async()=>{let f=JSON.stringify(l,null,2);Xe.printUntrusted(f),IN("metadata",f)});let d;if(await kr("Reference",async()=>{d=await zVt(r,t,e.builder),d?(O(d),AUe(d)):O("No build reference found")}),$Vt()){let f=r.buildxBuild.resolveWarnings(l);if(d&&f&&f.length>0){let h=await Qt.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)ut(p.message,p)})}}if(await kr("Check build summary support",async()=>{jVt()?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!"),mUe()):O("Build summary requires a build reference"):O("Build summary requires Buildx >= 0.23.0"):O("Build summary disabled")}),a)throw a},async()=>{dUe&&await kr("Generating build summary",async()=>{try{let t=WVt(),e;t&&(e=JVt());let n=await new $D().export({refs:KX?[KX]:[]});O(`Build record written to ${n.dockerbuildFilename} (${re.formatFileSize(n.dockerbuildSize)})`);let i;t&&(i=await nP.upload({filename:n.dockerbuildFilename,retentionDays:e})),await fP.writeBuildSummary({exportRes:n,uploadRes:i,inputs:uUe,driver:cUe,endpoint:lUe})}catch(t){ut(t.message)}}),$B.length>0&&await kr(`Removing temp folder ${$B}`,async()=>{try{yUe.rmSync($B,{recursive:!0})}catch{ut(`Failed to remove temp folder ${$B}`)}})});async function zVt(t,e,r){let n=t.buildxBuild.resolveRef();if(n)return n;r||(r=(await t.builder.inspect()).name);let i=Qt.refs({dir:Qt.refsDir,builderName:r,since:e});return Object.keys(i).length>0?Object.keys(i)[0]:""}o(zVt,"buildRef");function $Vt(){return process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS?re.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS):!0}o($Vt,"buildChecksAnnotationsEnabled");function jVt(){return process.env.DOCKER_BUILD_SUMMARY?re.parseBool(process.env.DOCKER_BUILD_SUMMARY):!0}o(jVt,"buildSummaryEnabled");function WVt(){return process.env.DOCKER_BUILD_RECORD_UPLOAD?re.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD):!0}o(WVt,"buildRecordUploadEnabled");function JVt(){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(JVt,"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.18.0",
|
"@docker/actions-toolkit": "0.98.0",
|
||||||
"handlebars": "^4.7.7"
|
"handlebars": "^4.7.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/csv-parse": "^1.2.2",
|
"@eslint/js": "^9.39.3",
|
||||||
"@types/node": "^20.5.9",
|
"@types/node": "^24.11.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.6.0",
|
"@typescript-eslint/eslint-plugin": "^8.56.1",
|
||||||
"@typescript-eslint/parser": "^6.6.0",
|
"@typescript-eslint/parser": "^8.56.1",
|
||||||
"@vercel/ncc": "^0.38.0",
|
"@vitest/coverage-v8": "^4.0.18",
|
||||||
"eslint": "^8.48.0",
|
"@vitest/eslint-plugin": "^1.6.9",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"esbuild": "^0.28.0",
|
||||||
"eslint-plugin-jest": "^27.2.3",
|
"eslint": "^9.39.3",
|
||||||
"eslint-plugin-prettier": "^5.0.0",
|
"eslint-config-prettier": "^10.1.8",
|
||||||
"jest": "^29.6.4",
|
"eslint-plugin-prettier": "^5.5.5",
|
||||||
"prettier": "^3.0.3",
|
"generate-license-file": "^4.1.1",
|
||||||
"ts-jest": "^29.1.1",
|
"globals": "^17.3.0",
|
||||||
"ts-node": "^10.9.1",
|
"prettier": "^3.8.1",
|
||||||
"typescript": "^5.2.2"
|
"typescript": "^5.9.3",
|
||||||
|
"vitest": "^4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+142
-90
@@ -1,29 +1,37 @@
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as handlebars from 'handlebars';
|
import * as handlebars from 'handlebars';
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs';
|
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||||
|
|
||||||
|
let defaultContextPromise: Promise<string> | undefined;
|
||||||
|
|
||||||
|
async function getDefaultContext(): Promise<string> {
|
||||||
|
defaultContextPromise ??= new Build().gitContext();
|
||||||
|
return await defaultContextPromise;
|
||||||
|
}
|
||||||
|
|
||||||
export interface Inputs {
|
export interface Inputs {
|
||||||
addHosts: string[];
|
'add-hosts': string[];
|
||||||
allow: string[];
|
allow: string[];
|
||||||
annotations: string[];
|
annotations: string[];
|
||||||
attests: string[];
|
attests: string[];
|
||||||
buildArgs: string[];
|
'build-args': string[];
|
||||||
buildContexts: string[];
|
'build-contexts': string[];
|
||||||
builder: string;
|
builder: string;
|
||||||
cacheFrom: string[];
|
'cache-from': string[];
|
||||||
cacheTo: string[];
|
'cache-to': string[];
|
||||||
cgroupParent: string;
|
call: string;
|
||||||
|
'cgroup-parent': string;
|
||||||
context: string;
|
context: string;
|
||||||
file: string;
|
file: string;
|
||||||
labels: string[];
|
labels: string[];
|
||||||
load: boolean;
|
load: boolean;
|
||||||
network: string;
|
network: string;
|
||||||
noCache: boolean;
|
'no-cache': boolean;
|
||||||
noCacheFilters: string[];
|
'no-cache-filters': string[];
|
||||||
outputs: string[];
|
outputs: string[];
|
||||||
platforms: string[];
|
platforms: string[];
|
||||||
provenance: string;
|
provenance: string;
|
||||||
@@ -31,80 +39,74 @@ export interface Inputs {
|
|||||||
push: boolean;
|
push: boolean;
|
||||||
sbom: string;
|
sbom: string;
|
||||||
secrets: string[];
|
secrets: string[];
|
||||||
secretEnvs: string[];
|
'secret-envs': string[];
|
||||||
secretFiles: string[];
|
'secret-files': string[];
|
||||||
shmSize: string;
|
'shm-size': string;
|
||||||
ssh: string[];
|
ssh: string[];
|
||||||
tags: string[];
|
tags: string[];
|
||||||
target: string;
|
target: string;
|
||||||
ulimit: string[];
|
ulimit: string[];
|
||||||
githubToken: string;
|
'github-token': string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getInputs(): Promise<Inputs> {
|
export async function getInputs(): Promise<Inputs> {
|
||||||
|
const defaultContext = await getDefaultContext();
|
||||||
return {
|
return {
|
||||||
addHosts: Util.getInputList('add-hosts'),
|
'add-hosts': Util.getInputList('add-hosts'),
|
||||||
allow: Util.getInputList('allow'),
|
allow: Util.getInputList('allow'),
|
||||||
annotations: Util.getInputList('annotations', {ignoreComma: true}),
|
annotations: Util.getInputList('annotations', {ignoreComma: true}),
|
||||||
attests: Util.getInputList('attests', {ignoreComma: true}),
|
attests: Util.getInputList('attests', {ignoreComma: true}),
|
||||||
buildArgs: Util.getInputList('build-args', {ignoreComma: true}),
|
'build-args': Util.getInputList('build-args', {ignoreComma: true}),
|
||||||
buildContexts: Util.getInputList('build-contexts', {ignoreComma: true}),
|
'build-contexts': Util.getInputList('build-contexts', {ignoreComma: true}),
|
||||||
builder: core.getInput('builder'),
|
builder: core.getInput('builder'),
|
||||||
cacheFrom: Util.getInputList('cache-from', {ignoreComma: true}),
|
'cache-from': Util.getInputList('cache-from', {ignoreComma: true}),
|
||||||
cacheTo: Util.getInputList('cache-to', {ignoreComma: true}),
|
'cache-to': Util.getInputList('cache-to', {ignoreComma: true}),
|
||||||
cgroupParent: core.getInput('cgroup-parent'),
|
call: core.getInput('call'),
|
||||||
context: core.getInput('context') || Context.gitContext(),
|
'cgroup-parent': core.getInput('cgroup-parent'),
|
||||||
|
context: handlebars.compile(core.getInput('context'))({defaultContext}) || defaultContext,
|
||||||
file: core.getInput('file'),
|
file: core.getInput('file'),
|
||||||
labels: Util.getInputList('labels', {ignoreComma: true}),
|
labels: Util.getInputList('labels', {ignoreComma: true}),
|
||||||
load: core.getBooleanInput('load'),
|
load: core.getBooleanInput('load'),
|
||||||
network: core.getInput('network'),
|
network: core.getInput('network'),
|
||||||
noCache: core.getBooleanInput('no-cache'),
|
'no-cache': core.getBooleanInput('no-cache'),
|
||||||
noCacheFilters: Util.getInputList('no-cache-filters'),
|
'no-cache-filters': Util.getInputList('no-cache-filters'),
|
||||||
outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
|
outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
|
||||||
platforms: Util.getInputList('platforms'),
|
platforms: Util.getInputList('platforms'),
|
||||||
provenance: BuildxInputs.getProvenanceInput('provenance'),
|
provenance: Build.getProvenanceInput('provenance'),
|
||||||
pull: core.getBooleanInput('pull'),
|
pull: core.getBooleanInput('pull'),
|
||||||
push: core.getBooleanInput('push'),
|
push: core.getBooleanInput('push'),
|
||||||
sbom: core.getInput('sbom'),
|
sbom: core.getInput('sbom'),
|
||||||
secrets: Util.getInputList('secrets', {ignoreComma: true}),
|
secrets: Util.getInputList('secrets', {ignoreComma: true, trimWhitespace: false}),
|
||||||
secretEnvs: Util.getInputList('secret-envs'),
|
'secret-envs': Util.getInputList('secret-envs'),
|
||||||
secretFiles: Util.getInputList('secret-files', {ignoreComma: true}),
|
'secret-files': Util.getInputList('secret-files', {ignoreComma: true}),
|
||||||
shmSize: core.getInput('shm-size'),
|
'shm-size': core.getInput('shm-size'),
|
||||||
ssh: Util.getInputList('ssh'),
|
ssh: Util.getInputList('ssh'),
|
||||||
tags: Util.getInputList('tags'),
|
tags: Util.getInputList('tags'),
|
||||||
target: core.getInput('target'),
|
target: core.getInput('target'),
|
||||||
ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
|
ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
|
||||||
githubToken: core.getInput('github-token')
|
'github-token': core.getInput('github-token')
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
const context = handlebars.compile(inputs.context)({
|
|
||||||
defaultContext: Context.gitContext()
|
|
||||||
});
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
return [
|
return [
|
||||||
...await getBuildArgs(inputs, context, toolkit),
|
...await getBuildArgs(inputs, inputs.context, toolkit),
|
||||||
...await getCommonArgs(inputs, toolkit),
|
...await getCommonArgs(inputs, toolkit),
|
||||||
context
|
inputs.context
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
|
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
|
const defaultContext = await getDefaultContext();
|
||||||
|
|
||||||
const args: Array<string> = ['build'];
|
const args: Array<string> = ['build'];
|
||||||
await Util.asyncForEach(inputs.addHosts, async addHost => {
|
await Util.asyncForEach(inputs['add-hosts'], async addHost => {
|
||||||
args.push('--add-host', addHost);
|
args.push('--add-host', addHost);
|
||||||
});
|
});
|
||||||
if (inputs.allow.length > 0) {
|
await Util.asyncForEach(inputs.allow, async allow => {
|
||||||
args.push('--allow', inputs.allow.join(','));
|
args.push('--allow', allow);
|
||||||
}
|
});
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
|
||||||
await Util.asyncForEach(inputs.attests, async attest => {
|
|
||||||
args.push('--attest', attest);
|
|
||||||
});
|
|
||||||
} else if (inputs.attests.length > 0) {
|
|
||||||
core.warning("Attestations are only supported by buildx >= 0.10.0; the input 'attests' is ignored.");
|
|
||||||
}
|
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.12.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.12.0')) {
|
||||||
await Util.asyncForEach(inputs.annotations, async annotation => {
|
await Util.asyncForEach(inputs.annotations, async annotation => {
|
||||||
args.push('--annotation', annotation);
|
args.push('--annotation', annotation);
|
||||||
@@ -112,28 +114,39 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
} else if (inputs.annotations.length > 0) {
|
} else if (inputs.annotations.length > 0) {
|
||||||
core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
|
core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.buildArgs, async buildArg => {
|
await Util.asyncForEach(inputs['build-args'], async buildArg => {
|
||||||
args.push('--build-arg', buildArg);
|
args.push('--build-arg', buildArg);
|
||||||
});
|
});
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
|
||||||
await Util.asyncForEach(inputs.buildContexts, async buildContext => {
|
await Util.asyncForEach(inputs['build-contexts'], async buildContext => {
|
||||||
args.push('--build-context', buildContext);
|
args.push(
|
||||||
|
'--build-context',
|
||||||
|
handlebars.compile(buildContext)({
|
||||||
|
defaultContext: defaultContext
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
} else if (inputs.buildContexts.length > 0) {
|
} else if (inputs['build-contexts'].length > 0) {
|
||||||
core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
|
core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.cacheFrom, async cacheFrom => {
|
await Util.asyncForEach(inputs['cache-from'], async cacheFrom => {
|
||||||
args.push('--cache-from', cacheFrom);
|
args.push('--cache-from', cacheFrom);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.cacheTo, async cacheTo => {
|
await Util.asyncForEach(inputs['cache-to'], async cacheTo => {
|
||||||
args.push('--cache-to', cacheTo);
|
args.push('--cache-to', cacheTo);
|
||||||
});
|
});
|
||||||
if (inputs.cgroupParent) {
|
if (inputs.call) {
|
||||||
args.push('--cgroup-parent', inputs.cgroupParent);
|
if (!(await toolkit.buildx.versionSatisfies('>=0.15.0'))) {
|
||||||
|
throw new Error(`Buildx >= 0.15.0 is required to use the call flag.`);
|
||||||
|
}
|
||||||
|
args.push('--call', inputs.call);
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.secretEnvs, async secretEnv => {
|
if (inputs['cgroup-parent']) {
|
||||||
|
args.push('--cgroup-parent', inputs['cgroup-parent']);
|
||||||
|
}
|
||||||
|
await Util.asyncForEach(inputs['secret-envs'], async secretEnv => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretEnv(secretEnv));
|
args.push('--secret', Build.resolveSecretEnv(secretEnv));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
@@ -141,13 +154,13 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
if (inputs.file) {
|
if (inputs.file) {
|
||||||
args.push('--file', inputs.file);
|
args.push('--file', inputs.file);
|
||||||
}
|
}
|
||||||
if (!BuildxInputs.hasLocalExporter(inputs.outputs) && !BuildxInputs.hasTarExporter(inputs.outputs) && (inputs.platforms.length == 0 || (await toolkit.buildx.versionSatisfies('>=0.4.2')))) {
|
if (!Build.hasLocalExporter(inputs.outputs) && !Build.hasTarExporter(inputs.outputs) && (inputs.platforms.length == 0 || (await toolkit.buildx.versionSatisfies('>=0.4.2')))) {
|
||||||
args.push('--iidfile', BuildxInputs.getBuildImageIDFilePath());
|
args.push('--iidfile', toolkit.buildxBuild.getImageIDFilePath());
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.labels, async label => {
|
await Util.asyncForEach(inputs.labels, async label => {
|
||||||
args.push('--label', label);
|
args.push('--label', label);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.noCacheFilters, async noCacheFilter => {
|
await Util.asyncForEach(inputs['no-cache-filters'], async noCacheFilter => {
|
||||||
args.push('--no-cache-filter', noCacheFilter);
|
args.push('--no-cache-filter', noCacheFilter);
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.outputs, async output => {
|
await Util.asyncForEach(inputs.outputs, async output => {
|
||||||
@@ -157,46 +170,29 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
|
|||||||
args.push('--platform', inputs.platforms.join(','));
|
args.push('--platform', inputs.platforms.join(','));
|
||||||
}
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.10.0')) {
|
||||||
if (inputs.provenance) {
|
args.push(...(await getAttestArgs(inputs, toolkit)));
|
||||||
args.push('--provenance', inputs.provenance);
|
} else {
|
||||||
} else if ((await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !BuildxInputs.hasDockerExporter(inputs.outputs, inputs.load)) {
|
core.warning("Attestations are only supported by buildx >= 0.10.0; the inputs 'attests', 'provenance' and 'sbom' are ignored.");
|
||||||
// if provenance not specified and BuildKit version compatible for
|
|
||||||
// attestation, set default provenance. Also needs to make sure user
|
|
||||||
// doesn't want to explicitly load the image to docker.
|
|
||||||
if (GitHub.context.payload.repository?.private ?? false) {
|
|
||||||
// if this is a private repository, we set the default provenance
|
|
||||||
// attributes being set in buildx: https://github.com/docker/buildx/blob/fb27e3f919dcbf614d7126b10c2bc2d0b1927eb6/build/build.go#L603
|
|
||||||
args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=min,inline-only=true`));
|
|
||||||
} else {
|
|
||||||
// for a public repository, we set max provenance mode.
|
|
||||||
args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=max`));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (inputs.sbom) {
|
|
||||||
args.push('--sbom', inputs.sbom);
|
|
||||||
}
|
|
||||||
} else if (inputs.provenance || inputs.sbom) {
|
|
||||||
core.warning("Attestations are only supported by buildx >= 0.10.0; the inputs 'provenance' and 'sbom' are ignored.");
|
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.secrets, async secret => {
|
await Util.asyncForEach(inputs.secrets, async secret => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretString(secret));
|
args.push('--secret', Build.resolveSecretString(secret));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
await Util.asyncForEach(inputs.secretFiles, async secretFile => {
|
await Util.asyncForEach(inputs['secret-files'], async secretFile => {
|
||||||
try {
|
try {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretFile(secretFile));
|
args.push('--secret', Build.resolveSecretFile(secretFile));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
core.warning(err.message);
|
core.warning(err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (inputs.githubToken && !BuildxInputs.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(Context.gitContext())) {
|
if (inputs['github-token'] && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(defaultContext)) {
|
||||||
args.push('--secret', BuildxInputs.resolveBuildSecretString(`GIT_AUTH_TOKEN=${inputs.githubToken}`));
|
args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN.${new URL(GitHub.serverURL).host.trimEnd()}=${inputs['github-token']}`));
|
||||||
}
|
}
|
||||||
if (inputs.shmSize) {
|
if (inputs['shm-size']) {
|
||||||
args.push('--shm-size', inputs.shmSize);
|
args.push('--shm-size', inputs['shm-size']);
|
||||||
}
|
}
|
||||||
await Util.asyncForEach(inputs.ssh, async ssh => {
|
await Util.asyncForEach(inputs.ssh, async ssh => {
|
||||||
args.push('--ssh', ssh);
|
args.push('--ssh', ssh);
|
||||||
@@ -222,12 +218,12 @@ async function getCommonArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
|||||||
args.push('--load');
|
args.push('--load');
|
||||||
}
|
}
|
||||||
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
if (await toolkit.buildx.versionSatisfies('>=0.6.0')) {
|
||||||
args.push('--metadata-file', BuildxInputs.getBuildMetadataFilePath());
|
args.push('--metadata-file', toolkit.buildxBuild.getMetadataFilePath());
|
||||||
}
|
}
|
||||||
if (inputs.network) {
|
if (inputs.network) {
|
||||||
args.push('--network', inputs.network);
|
args.push('--network', inputs.network);
|
||||||
}
|
}
|
||||||
if (inputs.noCache) {
|
if (inputs['no-cache']) {
|
||||||
args.push('--no-cache');
|
args.push('--no-cache');
|
||||||
}
|
}
|
||||||
if (inputs.pull) {
|
if (inputs.pull) {
|
||||||
@@ -238,3 +234,59 @@ async function getCommonArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
|
|||||||
}
|
}
|
||||||
return args;
|
return args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getAttestArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
|
||||||
|
const args: Array<string> = [];
|
||||||
|
|
||||||
|
// check if provenance attestation is set in attests input
|
||||||
|
let hasAttestProvenance = false;
|
||||||
|
await Util.asyncForEach(inputs.attests, async (attest: string) => {
|
||||||
|
if (Build.hasAttestationType('provenance', attest)) {
|
||||||
|
hasAttestProvenance = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let provenanceSet = false;
|
||||||
|
let sbomSet = false;
|
||||||
|
if (inputs.provenance) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(`type=provenance,${inputs.provenance}`));
|
||||||
|
provenanceSet = true;
|
||||||
|
} else if (!hasAttestProvenance && !noDefaultAttestations() && (await toolkit.buildkit.versionSatisfies(inputs.builder, '>=0.11.0')) && !Build.hasDockerExporter(inputs.outputs, inputs.load)) {
|
||||||
|
// if provenance not specified in provenance or attests inputs and BuildKit
|
||||||
|
// version compatible for attestation, set default provenance. Also needs
|
||||||
|
// to make sure user doesn't want to explicitly load the image to docker.
|
||||||
|
if (GitHub.context.payload.repository?.private ?? false) {
|
||||||
|
// if this is a private repository, we set the default provenance
|
||||||
|
// attributes being set in buildx: https://github.com/docker/buildx/blob/fb27e3f919dcbf614d7126b10c2bc2d0b1927eb6/build/build.go#L603
|
||||||
|
args.push('--attest', `type=provenance,${Build.resolveProvenanceAttrs(`mode=min,inline-only=true`)}`);
|
||||||
|
} else {
|
||||||
|
// for a public repository, we set max provenance mode.
|
||||||
|
args.push('--attest', `type=provenance,${Build.resolveProvenanceAttrs(`mode=max`)}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (inputs.sbom) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(`type=sbom,${inputs.sbom}`));
|
||||||
|
sbomSet = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set attests but check if provenance or sbom types already set as
|
||||||
|
// provenance and sbom inputs take precedence over attests input.
|
||||||
|
await Util.asyncForEach(inputs.attests, async (attest: string) => {
|
||||||
|
if (!Build.hasAttestationType('provenance', attest) && !Build.hasAttestationType('sbom', attest)) {
|
||||||
|
args.push('--attest', Build.resolveAttestationAttrs(attest));
|
||||||
|
} else if (!provenanceSet && Build.hasAttestationType('provenance', attest)) {
|
||||||
|
args.push('--attest', Build.resolveProvenanceAttrs(attest));
|
||||||
|
} else if (!sbomSet && Build.hasAttestationType('sbom', attest)) {
|
||||||
|
args.push('--attest', attest);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
function noDefaultAttestations(): boolean {
|
||||||
|
if (process.env.BUILDX_NO_DEFAULT_ATTESTATIONS) {
|
||||||
|
return Util.parseBool(process.env.BUILDX_NO_DEFAULT_ATTESTATIONS);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
+186
-19
@@ -1,22 +1,32 @@
|
|||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as stateHelper from './state-helper';
|
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||||
import {Context} from '@docker/actions-toolkit/lib/context';
|
|
||||||
import {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
|
||||||
import {Exec} from '@docker/actions-toolkit/lib/exec';
|
|
||||||
import {GitHub} from '@docker/actions-toolkit/lib/github';
|
|
||||||
import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs';
|
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
|
||||||
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker';
|
|
||||||
|
|
||||||
import * as context from './context';
|
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
|
||||||
|
import {History as BuildxHistory} from '@docker/actions-toolkit/lib/buildx/history.js';
|
||||||
|
import {Context} from '@docker/actions-toolkit/lib/context.js';
|
||||||
|
import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
|
||||||
|
import {Exec} from '@docker/actions-toolkit/lib/exec.js';
|
||||||
|
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
|
||||||
|
import {GitHubArtifact} from '@docker/actions-toolkit/lib/github/artifact.js';
|
||||||
|
import {GitHubSummary} from '@docker/actions-toolkit/lib/github/summary.js';
|
||||||
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
|
||||||
|
import {Util} from '@docker/actions-toolkit/lib/util.js';
|
||||||
|
|
||||||
|
import {BuilderInfo} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
|
||||||
|
import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker/docker.js';
|
||||||
|
import {UploadResponse as UploadArtifactResponse} from '@docker/actions-toolkit/lib/types/github/artifact.js';
|
||||||
|
|
||||||
|
import * as context from './context.js';
|
||||||
|
import * as stateHelper from './state-helper.js';
|
||||||
|
|
||||||
actionsToolkit.run(
|
actionsToolkit.run(
|
||||||
// main
|
// main
|
||||||
async () => {
|
async () => {
|
||||||
|
const startedTime = new Date();
|
||||||
const inputs: context.Inputs = await context.getInputs();
|
const inputs: context.Inputs = await context.getInputs();
|
||||||
|
stateHelper.setSummaryInputs(inputs);
|
||||||
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
core.debug(`inputs: ${JSON.stringify(inputs)}`);
|
||||||
|
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
@@ -74,6 +84,14 @@ actionsToolkit.run(
|
|||||||
await toolkit.buildx.printVersion();
|
await toolkit.buildx.printVersion();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let builder: BuilderInfo;
|
||||||
|
await core.group(`Builder info`, async () => {
|
||||||
|
builder = await toolkit.builder.inspect(inputs.builder);
|
||||||
|
stateHelper.setBuilderDriver(builder.driver ?? '');
|
||||||
|
stateHelper.setBuilderEndpoint(builder.nodes?.[0]?.endpoint ?? '');
|
||||||
|
core.info(JSON.stringify(builder, null, 2));
|
||||||
|
});
|
||||||
|
|
||||||
const args: string[] = await context.getArgs(inputs, toolkit);
|
const args: string[] = await context.getArgs(inputs, toolkit);
|
||||||
core.debug(`context.getArgs: ${JSON.stringify(args)}`);
|
core.debug(`context.getArgs: ${JSON.stringify(args)}`);
|
||||||
|
|
||||||
@@ -81,18 +99,29 @@ actionsToolkit.run(
|
|||||||
core.debug(`buildCmd.command: ${buildCmd.command}`);
|
core.debug(`buildCmd.command: ${buildCmd.command}`);
|
||||||
core.debug(`buildCmd.args: ${JSON.stringify(buildCmd.args)}`);
|
core.debug(`buildCmd.args: ${JSON.stringify(buildCmd.args)}`);
|
||||||
|
|
||||||
|
let err: Error | undefined;
|
||||||
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
|
||||||
ignoreReturnCode: true
|
ignoreReturnCode: true,
|
||||||
|
env: Object.assign({}, process.env, {
|
||||||
|
BUILDX_METADATA_WARNINGS: 'true'
|
||||||
|
}) as {
|
||||||
|
[key: string]: string;
|
||||||
|
}
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
if (res.exitCode != 0) {
|
||||||
throw new Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
if (inputs.call && inputs.call === 'check' && res.stdout.length > 0) {
|
||||||
|
// checks warnings are printed to stdout: https://github.com/docker/buildx/pull/2647
|
||||||
|
// take the first line with the message summaryzing the warnings
|
||||||
|
err = new Error(res.stdout.split('\n')[0]?.trim());
|
||||||
|
} else if (res.stderr.length > 0) {
|
||||||
|
err = new Error(`buildx failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const imageID = BuildxInputs.resolveBuildImageID();
|
const imageID = toolkit.buildxBuild.resolveImageID();
|
||||||
const metadata = BuildxInputs.resolveBuildMetadata();
|
const metadata = toolkit.buildxBuild.resolveMetadata();
|
||||||
const digest = BuildxInputs.resolveDigest();
|
const digest = toolkit.buildxBuild.resolveDigest(metadata);
|
||||||
|
|
||||||
if (imageID) {
|
if (imageID) {
|
||||||
await core.group(`ImageID`, async () => {
|
await core.group(`ImageID`, async () => {
|
||||||
core.info(imageID);
|
core.info(imageID);
|
||||||
@@ -107,17 +136,155 @@ actionsToolkit.run(
|
|||||||
}
|
}
|
||||||
if (metadata) {
|
if (metadata) {
|
||||||
await core.group(`Metadata`, async () => {
|
await core.group(`Metadata`, async () => {
|
||||||
core.info(metadata);
|
const metadatadt = JSON.stringify(metadata, null, 2);
|
||||||
core.setOutput('metadata', metadata);
|
GitHub.printUntrusted(metadatadt);
|
||||||
|
core.setOutput('metadata', metadatadt);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let ref: string | undefined;
|
||||||
|
await core.group(`Reference`, async () => {
|
||||||
|
ref = await buildRef(toolkit, startedTime, inputs.builder);
|
||||||
|
if (ref) {
|
||||||
|
core.info(ref);
|
||||||
|
stateHelper.setBuildRef(ref);
|
||||||
|
} else {
|
||||||
|
core.info('No build reference found');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (buildChecksAnnotationsEnabled()) {
|
||||||
|
const warnings = toolkit.buildxBuild.resolveWarnings(metadata);
|
||||||
|
if (ref && warnings && warnings.length > 0) {
|
||||||
|
const annotations = await Buildx.convertWarningsToGitHubAnnotations(warnings, [ref]);
|
||||||
|
core.debug(`annotations: ${JSON.stringify(annotations, null, 2)}`);
|
||||||
|
if (annotations && annotations.length > 0) {
|
||||||
|
await core.group(`Generating GitHub annotations (${annotations.length} build checks found)`, async () => {
|
||||||
|
for (const annotation of annotations) {
|
||||||
|
core.warning(annotation.message, annotation);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await core.group(`Check build summary support`, async () => {
|
||||||
|
if (!buildSummaryEnabled()) {
|
||||||
|
core.info('Build summary disabled');
|
||||||
|
} else if (inputs.call && inputs.call !== 'build') {
|
||||||
|
core.info(`Build summary skipped for ${inputs.call} subrequest`);
|
||||||
|
} else if (GitHub.isGHES) {
|
||||||
|
core.info('Build summary is not yet supported on GHES');
|
||||||
|
} else if (!(await toolkit.buildx.versionSatisfies('>=0.23.0'))) {
|
||||||
|
core.info('Build summary requires Buildx >= 0.23.0');
|
||||||
|
} else if (!ref) {
|
||||||
|
core.info('Build summary requires a build reference');
|
||||||
|
} else {
|
||||||
|
core.info('Build summary supported!');
|
||||||
|
stateHelper.setSummarySupported();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (err) {
|
||||||
|
throw err;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// post
|
// post
|
||||||
async () => {
|
async () => {
|
||||||
|
if (stateHelper.isSummarySupported) {
|
||||||
|
await core.group(`Generating build summary`, async () => {
|
||||||
|
try {
|
||||||
|
const recordUploadEnabled = buildRecordUploadEnabled();
|
||||||
|
let recordRetentionDays: number | undefined;
|
||||||
|
if (recordUploadEnabled) {
|
||||||
|
recordRetentionDays = buildRecordRetentionDays();
|
||||||
|
}
|
||||||
|
|
||||||
|
const buildxHistory = new BuildxHistory();
|
||||||
|
const exportRes = await buildxHistory.export({
|
||||||
|
refs: stateHelper.buildRef ? [stateHelper.buildRef] : []
|
||||||
|
});
|
||||||
|
core.info(`Build record written to ${exportRes.dockerbuildFilename} (${Util.formatFileSize(exportRes.dockerbuildSize)})`);
|
||||||
|
|
||||||
|
let uploadRes: UploadArtifactResponse | undefined;
|
||||||
|
if (recordUploadEnabled) {
|
||||||
|
uploadRes = await GitHubArtifact.upload({
|
||||||
|
filename: exportRes.dockerbuildFilename,
|
||||||
|
retentionDays: recordRetentionDays
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await GitHubSummary.writeBuildSummary({
|
||||||
|
exportRes: exportRes,
|
||||||
|
uploadRes: uploadRes,
|
||||||
|
inputs: stateHelper.summaryInputs,
|
||||||
|
driver: stateHelper.builderDriver,
|
||||||
|
endpoint: stateHelper.builderEndpoint
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
core.warning(e.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
if (stateHelper.tmpDir.length > 0) {
|
if (stateHelper.tmpDir.length > 0) {
|
||||||
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
await core.group(`Removing temp folder ${stateHelper.tmpDir}`, async () => {
|
||||||
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
try {
|
||||||
|
fs.rmSync(stateHelper.tmpDir, {recursive: true});
|
||||||
|
} catch {
|
||||||
|
core.warning(`Failed to remove temp folder ${stateHelper.tmpDir}`);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
async function buildRef(toolkit: Toolkit, since: Date, builder?: string): Promise<string> {
|
||||||
|
// get ref from metadata file
|
||||||
|
const ref = toolkit.buildxBuild.resolveRef();
|
||||||
|
if (ref) {
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
// otherwise, look for the very first build ref since the build has started
|
||||||
|
if (!builder) {
|
||||||
|
const currentBuilder = await toolkit.builder.inspect();
|
||||||
|
builder = currentBuilder.name;
|
||||||
|
}
|
||||||
|
const refs = Buildx.refs({
|
||||||
|
dir: Buildx.refsDir,
|
||||||
|
builderName: builder,
|
||||||
|
since: since
|
||||||
|
});
|
||||||
|
return Object.keys(refs).length > 0 ? Object.keys(refs)[0] : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildChecksAnnotationsEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_CHECKS_ANNOTATIONS);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildSummaryEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_SUMMARY) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_SUMMARY);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildRecordUploadEnabled(): boolean {
|
||||||
|
if (process.env.DOCKER_BUILD_RECORD_UPLOAD) {
|
||||||
|
return Util.parseBool(process.env.DOCKER_BUILD_RECORD_UPLOAD);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildRecordRetentionDays(): number | undefined {
|
||||||
|
const val = process.env.DOCKER_BUILD_RECORD_RETENTION_DAYS;
|
||||||
|
if (val) {
|
||||||
|
const res = parseInt(val);
|
||||||
|
if (isNaN(res)) {
|
||||||
|
throw new Error(`Invalid build record retention days: ${val}`);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,70 @@
|
|||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
|
import {Build} from '@docker/actions-toolkit/lib/buildx/build.js';
|
||||||
|
|
||||||
|
import {Inputs} from './context.js';
|
||||||
|
|
||||||
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
export const tmpDir = process.env['STATE_tmpDir'] || '';
|
||||||
|
|
||||||
|
export const builderDriver = process.env['STATE_builderDriver'] || '';
|
||||||
|
export const builderEndpoint = process.env['STATE_builderEndpoint'] || '';
|
||||||
|
export const summaryInputs = process.env['STATE_summaryInputs'] ? JSON.parse(process.env['STATE_summaryInputs']) : undefined;
|
||||||
|
|
||||||
|
export const buildRef = process.env['STATE_buildRef'] || '';
|
||||||
|
export const isSummarySupported = !!process.env['STATE_isSummarySupported'];
|
||||||
|
|
||||||
export function setTmpDir(tmpDir: string) {
|
export function setTmpDir(tmpDir: string) {
|
||||||
core.saveState('tmpDir', tmpDir);
|
core.saveState('tmpDir', tmpDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setBuilderDriver(builderDriver: string) {
|
||||||
|
core.saveState('builderDriver', builderDriver);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setBuilderEndpoint(builderEndpoint: string) {
|
||||||
|
core.saveState('builderEndpoint', builderEndpoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setBuildRef(buildRef: string) {
|
||||||
|
core.saveState('buildRef', buildRef);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setSummarySupported() {
|
||||||
|
core.saveState('isSummarySupported', 'true');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setSummaryInputs(inputs: Inputs) {
|
||||||
|
const res = {};
|
||||||
|
for (const key of Object.keys(inputs)) {
|
||||||
|
if (key === 'github-token') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const value: string | string[] | boolean = inputs[key];
|
||||||
|
if (typeof value === 'boolean' && !value) {
|
||||||
|
continue;
|
||||||
|
} else if (Array.isArray(value)) {
|
||||||
|
if (value.length === 0) {
|
||||||
|
continue;
|
||||||
|
} else if (key === 'secrets' && value.length > 0) {
|
||||||
|
const secretKeys: string[] = [];
|
||||||
|
for (const secret of value) {
|
||||||
|
try {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
const [skey, _] = Build.parseSecretKvp(secret, true);
|
||||||
|
secretKeys.push(skey);
|
||||||
|
} catch {
|
||||||
|
// ignore invalid secret
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (secretKeys.length > 0) {
|
||||||
|
res[key] = secretKeys;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (!value) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
res[key] = value;
|
||||||
|
}
|
||||||
|
core.saveState('summaryInputs', JSON.stringify(res));
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
frOM busybox as base
|
||||||
|
cOpy lint.Dockerfile .
|
||||||
|
|
||||||
|
from scratch
|
||||||
|
MAINTAINER moby@example.com
|
||||||
|
COPy --from=base \
|
||||||
|
/lint.Dockerfile \
|
||||||
|
/
|
||||||
|
|
||||||
|
CMD [ "echo", "Hello, Norway!" ]
|
||||||
|
CMD [ "echo", "Hello, Sweden!" ]
|
||||||
|
ENTRYPOINT my-program start
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
FROM --platform=$BUILDPLATFORM golang:alpine AS build
|
|
||||||
|
FROM --platform=$BUILDPLATFORM alpine AS build
|
||||||
ARG TARGETPLATFORM
|
ARG TARGETPLATFORM
|
||||||
ARG BUILDPLATFORM
|
ARG BUILDPLATFORM
|
||||||
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
|
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM" > /log
|
||||||
@@ -12,7 +13,7 @@ RUN apk --update --no-cache add \
|
|||||||
&& rm -rf /tmp/* /var/cache/apk/*
|
&& rm -rf /tmp/* /var/cache/apk/*
|
||||||
|
|
||||||
USER buildx
|
USER buildx
|
||||||
RUN sudo chown buildx. /log
|
RUN sudo chown buildx: /log
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
foo
|
||||||
+4
-9
@@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
"module": "nodenext",
|
||||||
|
"moduleResolution": "nodenext",
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "es6",
|
|
||||||
"module": "commonjs",
|
|
||||||
"strict": true,
|
|
||||||
"newLine": "lf",
|
"newLine": "lf",
|
||||||
"outDir": "./lib",
|
"outDir": "./lib",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
@@ -12,11 +11,7 @@
|
|||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"useUnknownInCatchVariables": false,
|
"useUnknownInCatchVariables": false,
|
||||||
},
|
},
|
||||||
"exclude": [
|
"include": [
|
||||||
"./__mocks__/**/*",
|
"src/**/*.ts"
|
||||||
"./__tests__/**/*",
|
|
||||||
"./lib/**/*",
|
|
||||||
"node_modules",
|
|
||||||
"jest.config.ts"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
import {defineConfig} from 'vitest/config';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
test: {
|
||||||
|
clearMocks: true,
|
||||||
|
environment: 'node',
|
||||||
|
setupFiles: ['./__tests__/setup.unit.ts'],
|
||||||
|
include: ['**/*.test.ts'],
|
||||||
|
coverage: {
|
||||||
|
provider: 'v8',
|
||||||
|
reporter: ['clover'],
|
||||||
|
include: ['src/**/*.ts'],
|
||||||
|
exclude: ['src/**/main.ts']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in new issue
Block a user