@layerzerolabs/vm-tooling 0.2.63 → 0.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{7FZK5RET.cjs → 7FXZ63DE.cjs} +7 -4
- package/dist/7FXZ63DE.cjs.map +1 -0
- package/dist/{2NTYK3VO.cjs → 7PWQZJWC.cjs} +2 -2
- package/dist/{2NTYK3VO.cjs.map → 7PWQZJWC.cjs.map} +1 -1
- package/dist/{NQIX4C7Z.cjs → BJD6YP5Q.cjs} +5 -5
- package/dist/{NQIX4C7Z.cjs.map → BJD6YP5Q.cjs.map} +1 -1
- package/dist/ECZCFJB4.js +66 -0
- package/dist/ECZCFJB4.js.map +1 -0
- package/dist/{GPDDKHCR.js → ERBSYZRH.js} +3 -3
- package/dist/{GPDDKHCR.js.map → ERBSYZRH.js.map} +1 -1
- package/dist/{533SFXIE.cjs → HSCHZUOV.cjs} +4 -4
- package/dist/{533SFXIE.cjs.map → HSCHZUOV.cjs.map} +1 -1
- package/dist/{33TVTWFZ.cjs → HXE3NVSB.cjs} +4 -4
- package/dist/{33TVTWFZ.cjs.map → HXE3NVSB.cjs.map} +1 -1
- package/dist/{WUF26TGR.js → KDX2NZOU.js} +3 -3
- package/dist/{WUF26TGR.js.map → KDX2NZOU.js.map} +1 -1
- package/dist/{VF2UWSC3.js → KPLQJLFW.js} +6 -3
- package/dist/KPLQJLFW.js.map +1 -0
- package/dist/LTB3CQLO.cjs +68 -0
- package/dist/LTB3CQLO.cjs.map +1 -0
- package/dist/{FD5JIY4L.js → S2D5P2IJ.js} +4 -4
- package/dist/{FD5JIY4L.js.map → S2D5P2IJ.js.map} +1 -1
- package/dist/{M2CDZILC.js → TGTQ2DSF.js} +3 -3
- package/dist/{M2CDZILC.js.map → TGTQ2DSF.js.map} +1 -1
- package/dist/{46I6PSJ7.js → X4R3PN6F.js} +2 -2
- package/dist/{46I6PSJ7.js.map → X4R3PN6F.js.map} +1 -1
- package/dist/{L364LHEH.cjs → Z7EACAGJ.cjs} +6 -6
- package/dist/{L364LHEH.cjs.map → Z7EACAGJ.cjs.map} +1 -1
- package/dist/cli.cjs +5 -5
- package/dist/cli.js +4 -4
- package/dist/config.cjs +5 -5
- package/dist/config.d.ts +0 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/core/index.cjs +4 -4
- package/dist/core/index.js +3 -3
- package/dist/core/tool-executor.cjs +4 -4
- package/dist/core/tool-executor.js +3 -3
- package/dist/github/index.cjs +5 -5
- package/dist/github/index.js +4 -4
- package/dist/github/matrix.cjs +4 -4
- package/dist/github/matrix.d.ts.map +1 -1
- package/dist/github/matrix.js +3 -3
- package/dist/index.cjs +12 -12
- package/dist/index.js +7 -7
- package/dist/test.cjs +4 -4
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +3 -3
- package/dist/utils/docker.cjs +6 -6
- package/dist/utils/docker.js +2 -2
- package/package.json +4 -4
- package/dist/7FZK5RET.cjs.map +0 -1
- package/dist/PKAOFTZV.js +0 -120
- package/dist/PKAOFTZV.js.map +0 -1
- package/dist/Q6HPQZPT.cjs +0 -142
- package/dist/Q6HPQZPT.cjs.map +0 -1
- package/dist/VF2UWSC3.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./
|
|
5
|
-
var
|
|
3
|
+
var HXE3NVSB_cjs = require('./HXE3NVSB.cjs');
|
|
4
|
+
require('./7FXZ63DE.cjs');
|
|
5
|
+
var Z7EACAGJ_cjs = require('./Z7EACAGJ.cjs');
|
|
6
6
|
require('./Y76LNXBO.cjs');
|
|
7
7
|
require('./O2P6E7GR.cjs');
|
|
8
8
|
require('./IPYOACCU.cjs');
|
|
9
|
-
var
|
|
9
|
+
var LTB3CQLO_cjs = require('./LTB3CQLO.cjs');
|
|
10
10
|
require('./24NWZBNF.cjs');
|
|
11
|
-
var
|
|
11
|
+
var BJD6YP5Q_cjs = require('./BJD6YP5Q.cjs');
|
|
12
12
|
require('./T3GK7LED.cjs');
|
|
13
13
|
var A5X4BLYY_cjs = require('./A5X4BLYY.cjs');
|
|
14
|
-
require('./
|
|
15
|
-
var
|
|
14
|
+
require('./HSCHZUOV.cjs');
|
|
15
|
+
var _7PWQZJWC_cjs = require('./7PWQZJWC.cjs');
|
|
16
16
|
var _2Z4Y2ZR3_cjs = require('./2Z4Y2ZR3.cjs');
|
|
17
17
|
require('./5GPMTH2I.cjs');
|
|
18
18
|
require('./XFDJEDQJ.cjs');
|
|
@@ -23,19 +23,19 @@ _24WEKBY3_cjs.init_cjs_shims();
|
|
|
23
23
|
|
|
24
24
|
Object.defineProperty(exports, "runGithubMatrixGenerator", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return HXE3NVSB_cjs.runGithubMatrixGenerator; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "runCli", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return Z7EACAGJ_cjs.runCli; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "testTools", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return LTB3CQLO_cjs.testTools; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "executeToolCommand", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return BJD6YP5Q_cjs.executeToolCommand; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "resolveTypeVersions", {
|
|
41
41
|
enumerable: true,
|
|
@@ -43,7 +43,7 @@ Object.defineProperty(exports, "resolveTypeVersions", {
|
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "DockerRegistryMirror", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
46
|
+
get: function () { return _7PWQZJWC_cjs.DockerRegistryMirror; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "findFileInParentDirectory", {
|
|
49
49
|
enumerable: true,
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { runGithubMatrixGenerator } from './
|
|
2
|
-
import './
|
|
3
|
-
export { runCli } from './
|
|
1
|
+
export { runGithubMatrixGenerator } from './TGTQ2DSF.js';
|
|
2
|
+
import './KPLQJLFW.js';
|
|
3
|
+
export { runCli } from './S2D5P2IJ.js';
|
|
4
4
|
import './XROMTYOP.js';
|
|
5
5
|
import './HVWLZZTF.js';
|
|
6
6
|
import './77VFG7S6.js';
|
|
7
|
-
export { testTools } from './
|
|
7
|
+
export { testTools } from './ECZCFJB4.js';
|
|
8
8
|
import './22DCFDRO.js';
|
|
9
|
-
export { executeToolCommand } from './
|
|
9
|
+
export { executeToolCommand } from './KDX2NZOU.js';
|
|
10
10
|
import './7XVJ6B7B.js';
|
|
11
11
|
export { resolveTypeVersions } from './ZO7WI2XS.js';
|
|
12
|
-
import './
|
|
13
|
-
export { DockerRegistryMirror } from './
|
|
12
|
+
import './ERBSYZRH.js';
|
|
13
|
+
export { DockerRegistryMirror } from './X4R3PN6F.js';
|
|
14
14
|
export { findFileInParentDirectory } from './WSGRZJVU.js';
|
|
15
15
|
import './KWRJPB5T.js';
|
|
16
16
|
import './BAPGOHFS.js';
|
package/dist/test.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./
|
|
5
|
-
require('./
|
|
3
|
+
var LTB3CQLO_cjs = require('./LTB3CQLO.cjs');
|
|
4
|
+
require('./HSCHZUOV.cjs');
|
|
5
|
+
require('./7PWQZJWC.cjs');
|
|
6
6
|
require('./5GPMTH2I.cjs');
|
|
7
7
|
require('./24WEKBY3.cjs');
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ require('./24WEKBY3.cjs');
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "testTools", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return LTB3CQLO_cjs.testTools; }
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=test.cjs.map
|
|
16
16
|
//# sourceMappingURL=test.cjs.map
|
package/dist/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAwBtC,eAAO,MAAM,SAAS,GAClB,qCAAqC,OAAO,MAAM,EAClD,QAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,sBAAsB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAClD,iBAAiB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAC1C,IA6CF,CAAC"}
|
package/dist/test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { testTools } from './
|
|
2
|
-
import './
|
|
3
|
-
import './
|
|
1
|
+
export { testTools } from './ECZCFJB4.js';
|
|
2
|
+
import './ERBSYZRH.js';
|
|
3
|
+
import './X4R3PN6F.js';
|
|
4
4
|
import './KWRJPB5T.js';
|
|
5
5
|
import './6AHA7PAZ.js';
|
|
6
6
|
//# sourceMappingURL=test.js.map
|
package/dist/utils/docker.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
3
|
+
var HSCHZUOV_cjs = require('../HSCHZUOV.cjs');
|
|
4
|
+
require('../7PWQZJWC.cjs');
|
|
5
5
|
require('../5GPMTH2I.cjs');
|
|
6
6
|
require('../24WEKBY3.cjs');
|
|
7
7
|
|
|
@@ -9,19 +9,19 @@ require('../24WEKBY3.cjs');
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "getImageTag", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return HSCHZUOV_cjs.getImageTag; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "getImageUri", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return HSCHZUOV_cjs.getImageUri; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "getImageUriForTool", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return HSCHZUOV_cjs.getImageUriForTool; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "getVolumeName", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return HSCHZUOV_cjs.getVolumeName; }
|
|
25
25
|
});
|
|
26
26
|
//# sourceMappingURL=docker.cjs.map
|
|
27
27
|
//# sourceMappingURL=docker.cjs.map
|
package/dist/utils/docker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { getImageTag, getImageUri, getImageUriForTool, getVolumeName } from '../
|
|
2
|
-
import '../
|
|
1
|
+
export { getImageTag, getImageUri, getImageUriForTool, getVolumeName } from '../ERBSYZRH.js';
|
|
2
|
+
import '../X4R3PN6F.js';
|
|
3
3
|
import '../KWRJPB5T.js';
|
|
4
4
|
import '../6AHA7PAZ.js';
|
|
5
5
|
//# sourceMappingURL=docker.js.map
|
package/package.json
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"semver": "^7.5.4",
|
|
23
23
|
"zod": "4.3.5",
|
|
24
24
|
"zx": "^8.8.5",
|
|
25
|
-
"@layerzerolabs/common-node-utils": "0.2.
|
|
25
|
+
"@layerzerolabs/common-node-utils": "0.2.64"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@jest/globals": "^29.7.0",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"tsx": "^4.19.3",
|
|
35
35
|
"typescript": "^5.8.2",
|
|
36
36
|
"vitest": "^3.2.3",
|
|
37
|
-
"@layerzerolabs/typescript-configuration": "0.2.
|
|
38
|
-
"@layerzerolabs/tsup-configuration": "0.2.
|
|
37
|
+
"@layerzerolabs/typescript-configuration": "0.2.64",
|
|
38
|
+
"@layerzerolabs/tsup-configuration": "0.2.64"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"onesig-client"
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
|
-
"version": "0.2.
|
|
53
|
+
"version": "0.2.64",
|
|
54
54
|
"scripts": {
|
|
55
55
|
"build": "tsup",
|
|
56
56
|
"lint": "eslint . --max-warnings 0 || (eslint . --fix --max-warnings 0 && false)",
|
package/dist/7FZK5RET.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/github/matrix.ts"],"names":["init_cjs_shims","TAG_SEPARATORS","generateGithubMatrix","__name","images","directory","versionCombinations","createImageEntry","imageId","image","imageName","getImageName","name","tags","map","separator","getImageTag","entry","id","build_args","Object","entries","versions","dependencies","sort","key","value","constantCase","join","image_name","results","imageEntries","r","mirroredImages","filter","result","mirrorRegistries","length","flatMap","mirror","activeImages","activeImageIds","Set","combo","values","push"],"mappings":";;;;;;;;;AAAAA,4BAAA,EAAA;AA+BA,IAAMC,cAAAA,GAAiB;AAAC,EAAA,GAAA;AAAK,EAAA;;AAEtB,IAAMC,oBAAAA,mBAAuBC,oBAAA,CAAA,CAChCC,MAAAA,EACAC,SAAAA,EACAC,mBAAAA,KAAAA;AAEA,EAAA,MAAMC,gBAAAA,mBAAmBJ,oBAAA,CAAA,CAAC,CAACK,OAAAA,EAASC,KAAAA,CAAAA,KAAuB;AAIvD,IAAA,MAAMC,SAAAA,GAAYC,0BAAAA,CAAaF,KAAAA,CAAMG,IAAI,CAAA;AACzC,IAAA,MAAMC,IAAAA,GAAOZ,eAAea,GAAAA,CAAI,CAACC,cAAcC,yBAAAA,CAAYP,KAAAA,EAAOM,SAAAA,CAAAA,CAAAA;AAElE,IAAA,OAAO;MACHE,KAAAA,EAAO;QACHC,EAAAA,EAAIV,OAAAA;AACJI,QAAAA,IAAAA,EAAMH,KAAAA,CAAMG,IAAAA;AACZO,QAAAA,UAAAA,EAAYC,OAAOC,OAAAA,CAAQ;AAAE,UAAA,GAAGZ,KAAAA,CAAMa,QAAAA;AAAU,UAAA,GAAGb,KAAAA,CAAMc;AAAa,SAAA,CAAA,CACjEC,IAAAA,EAAI,CACJV,GAAAA,CAAI,CAAC,CAACW,GAAAA,EAAKC,KAAAA,CAAAA,KAAW,GAAGC,sBAAAA,CAAaF,GAAAA,CAAAA,CAAAA,SAAAA,EAAgBC,KAAAA,CAAAA,CAAO,CAAA;AAClErB,QAAAA,SAAAA,EAAWuB,SAAAA,CAAKvB,SAAAA,EAAW,QAAA,EAAUI,KAAAA,CAAMG,IAAI,CAAA;QAC/CiB,UAAAA,EAAYnB,SAAAA;AACZG,QAAAA;AACJ,OAAA;AACAJ,MAAAA;AACJ,KAAA;EACJ,CAAA,EApByB,kBAAA,CAAA;AAsBzB,EAAA,MAAMqB,UAAUV,MAAAA,CAAOC,OAAAA,CAAQjB,MAAAA,CAAAA,CAAQU,IAAIP,gBAAAA,CAAAA;AAE3C,EAAA,MAAMwB,eAAeD,OAAAA,CAAQhB,GAAAA,CAAI,CAACkB,CAAAA,KAAMA,EAAEf,KAAK,CAAA;AAE/C,EAAA,MAAMgB,iBAAiBH,OAAAA,CAClBI,MAAAA,CAAO,CAACC,MAAAA,KAAWA,MAAAA,CAAO1B,MAAM2B,gBAAAA,EAAkBC,MAAAA,CAAAA,CAClDC,OAAAA,CAAQ,CAACH,MAAAA,KACNA,MAAAA,CAAO1B,MAAM2B,gBAAAA,CAAkBtB,GAAAA,CAAI,CAACyB,MAAAA,MAAY;AAC5CrB,IAAAA,EAAAA,EAAIiB,OAAOlB,KAAAA,CAAMC,EAAAA;AACjBN,IAAAA,IAAAA,EAAMuB,OAAOlB,KAAAA,CAAML,IAAAA;AACnBiB,IAAAA,UAAAA,EAAYM,OAAOlB,KAAAA,CAAMY,UAAAA;AACzBhB,IAAAA,IAAAA,EAAMsB,OAAOlB,KAAAA,CAAMJ,IAAAA;AACnB0B,IAAAA;AACJ,GAAA,CAAA,CAAA,CAAA;AAGR,EAAA,MAAMC,eAAyB,EAAA;AAC/B,EAAA,IAAIlC,mBAAAA,EAAqB;AACrB,IAAA,MAAMmC,cAAAA,GAAiB,IAAIC,GAAAA,CACvBpC,mBAAAA,CAAoBgC,OAAAA,CAAQ,CAACK,KAAAA,KAAUvB,MAAAA,CAAOwB,MAAAA,CAAOD,KAAAA,CAAMvC,MAAM,CAAA,CAAA,CAAA;AAErEoC,IAAAA,YAAAA,CAAaK,IAAAA,CAAI,GAAIJ,cAAAA,CAAAA;AACzB,EAAA;AAEA,EAAA,OAAO;IAAErC,MAAAA,EAAQ2B,YAAAA;AAAcE,IAAAA,cAAAA;AAAgBO,IAAAA;AAAa,GAAA;AAChE,CAAA,EApDoC,sBAAA","file":"7FZK5RET.cjs","sourcesContent":["import { constantCase } from 'es-toolkit';\nimport { join } from 'node:path';\n\nimport { type Image, type VersionCombination } from '../config';\nimport { getImageTag } from '../utils/docker';\nimport { getImageName } from '../utils/finder';\n\ninterface ImageEntry {\n id: string;\n name: string;\n build_args: string[];\n image_name: string;\n tags: string[];\n directory: string;\n}\n\ninterface MirroredImageEntry {\n id: string;\n name: string;\n image_name: string;\n tags: string[];\n mirror: string;\n}\n\ninterface GithubMatrixOutput {\n images: ImageEntry[];\n mirroredImages: MirroredImageEntry[];\n activeImages: string[];\n}\n\n// TODO Remove underscore which is not standard in the Docker tag naming scheme.\nconst TAG_SEPARATORS = ['-', '_'] as const;\n\nexport const generateGithubMatrix = (\n images: Record<string, Image>,\n directory: string,\n versionCombinations?: VersionCombination<string>[],\n): GithubMatrixOutput => {\n const createImageEntry = ([imageId, image]: [string, Image]): {\n entry: ImageEntry;\n image: Image;\n } => {\n const imageName = getImageName(image.name);\n const tags = TAG_SEPARATORS.map((separator) => getImageTag(image, separator));\n\n return {\n entry: {\n id: imageId,\n name: image.name,\n build_args: Object.entries({ ...image.versions, ...image.dependencies })\n .sort()\n .map(([key, value]) => `${constantCase(key)}_VERSION=${value}`),\n directory: join(directory, 'docker', image.name),\n image_name: imageName,\n tags,\n },\n image,\n };\n };\n\n const results = Object.entries(images).map(createImageEntry);\n\n const imageEntries = results.map((r) => r.entry);\n\n const mirroredImages = results\n .filter((result) => result.image.mirrorRegistries?.length)\n .flatMap((result) =>\n result.image.mirrorRegistries!.map((mirror) => ({\n id: result.entry.id,\n name: result.entry.name,\n image_name: result.entry.image_name,\n tags: result.entry.tags,\n mirror,\n })),\n );\n\n const activeImages: string[] = [];\n if (versionCombinations) {\n const activeImageIds = new Set(\n versionCombinations.flatMap((combo) => Object.values(combo.images)),\n );\n activeImages.push(...activeImageIds);\n }\n\n return { images: imageEntries, mirroredImages, activeImages };\n};\n"]}
|
package/dist/PKAOFTZV.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { getImageTag, getImageUri } from './GPDDKHCR.js';
|
|
2
|
-
import { init_esm_shims, __name } from './6AHA7PAZ.js';
|
|
3
|
-
import { execFile } from 'child_process';
|
|
4
|
-
import { promisify } from 'util';
|
|
5
|
-
import * as z from 'zod';
|
|
6
|
-
|
|
7
|
-
// src/test.ts
|
|
8
|
-
init_esm_shims();
|
|
9
|
-
var COMMAND_TIMEOUT = 5 * 6e4;
|
|
10
|
-
var MANIFEST_TEST_TIMEOUT = 6e4;
|
|
11
|
-
var VERSION_TEST_TIMEOUT = 15 * 6e4;
|
|
12
|
-
var PULL_TIMEOUT = 10 * 6e4;
|
|
13
|
-
var slsaSchema = z.object({
|
|
14
|
-
SLSA: z.object({})
|
|
15
|
-
});
|
|
16
|
-
var provenanceSchema = z.object({
|
|
17
|
-
["linux/amd64"]: slsaSchema,
|
|
18
|
-
["linux/arm64"]: slsaSchema
|
|
19
|
-
});
|
|
20
|
-
var runCommand = /* @__PURE__ */ __name(async (command, args, timeout = COMMAND_TIMEOUT) => (await promisify(execFile)(command, args, {
|
|
21
|
-
timeout,
|
|
22
|
-
killSignal: "SIGKILL"
|
|
23
|
-
})).stdout.trim(), "runCommand");
|
|
24
|
-
var isImageCached = /* @__PURE__ */ __name(async (uri) => {
|
|
25
|
-
try {
|
|
26
|
-
await runCommand("docker", [
|
|
27
|
-
"image",
|
|
28
|
-
"inspect",
|
|
29
|
-
uri
|
|
30
|
-
]);
|
|
31
|
-
return true;
|
|
32
|
-
} catch {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
}, "isImageCached");
|
|
36
|
-
var pullLocks = /* @__PURE__ */ new Map();
|
|
37
|
-
var ensureImagePulled = /* @__PURE__ */ __name(async (uri) => {
|
|
38
|
-
const existingPull = pullLocks.get(uri);
|
|
39
|
-
if (existingPull) {
|
|
40
|
-
console.log(`\u23F3 Waiting for concurrent pull: ${uri}`);
|
|
41
|
-
return existingPull;
|
|
42
|
-
}
|
|
43
|
-
const pullPromise = (async () => {
|
|
44
|
-
if (await isImageCached(uri)) {
|
|
45
|
-
console.log(`\u2705 Image already cached: ${uri}`);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
console.log(`\u{1F4E5} Pulling image: ${uri}`);
|
|
49
|
-
await runCommand("docker", [
|
|
50
|
-
"pull",
|
|
51
|
-
uri
|
|
52
|
-
], PULL_TIMEOUT);
|
|
53
|
-
})().finally(() => pullLocks.delete(uri));
|
|
54
|
-
pullLocks.set(uri, pullPromise);
|
|
55
|
-
return pullPromise;
|
|
56
|
-
}, "ensureImagePulled");
|
|
57
|
-
var testTools = /* @__PURE__ */ __name(({ describe, expect, it, beforeAll }, images, _versionCombinations, versionCommands) => {
|
|
58
|
-
describe("Docker image IDs", () => {
|
|
59
|
-
for (const [name, image] of Object.entries(images)) {
|
|
60
|
-
it(`has an image ID of ${name}`, () => {
|
|
61
|
-
expect([
|
|
62
|
-
image.name,
|
|
63
|
-
getImageTag(image, "-")
|
|
64
|
-
].join(":")).toBe(name);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
describe("Tool versions", () => {
|
|
69
|
-
for (const literalImage of Object.values(images)) {
|
|
70
|
-
const image = literalImage;
|
|
71
|
-
if (image.unreleased) {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
describe(getImageTag(image), () => {
|
|
75
|
-
let imageUri;
|
|
76
|
-
beforeAll(async () => {
|
|
77
|
-
imageUri = await getImageUri(image, "_");
|
|
78
|
-
await ensureImagePulled(imageUri);
|
|
79
|
-
}, PULL_TIMEOUT);
|
|
80
|
-
for (const [tool, expectedVersion] of Object.entries(image.versions)) {
|
|
81
|
-
it(`should have ${tool} of version ${expectedVersion}`, async () => {
|
|
82
|
-
if (!(versionCommands[tool] instanceof Array)) {
|
|
83
|
-
throw new Error("Missing version command");
|
|
84
|
-
}
|
|
85
|
-
const version = await runCommand("docker", [
|
|
86
|
-
"run",
|
|
87
|
-
"--rm",
|
|
88
|
-
"--privileged",
|
|
89
|
-
imageUri,
|
|
90
|
-
...versionCommands[tool]
|
|
91
|
-
]);
|
|
92
|
-
expect(version).toContain(expectedVersion);
|
|
93
|
-
}, VERSION_TEST_TIMEOUT);
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
describe("Docker image manifests", () => {
|
|
99
|
-
for (const [id, image] of Object.entries(images)) {
|
|
100
|
-
if (image.unreleased) {
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
it(`has a valid manifest for ${id}`, async () => {
|
|
104
|
-
const { stdout } = await promisify(execFile)("docker", [
|
|
105
|
-
"buildx",
|
|
106
|
-
"imagetools",
|
|
107
|
-
"inspect",
|
|
108
|
-
"--format",
|
|
109
|
-
"{{ json .Provenance }}",
|
|
110
|
-
await getImageUri(image, "_")
|
|
111
|
-
]);
|
|
112
|
-
expect(provenanceSchema.safeParse(JSON.parse(stdout)).success).toBe(true);
|
|
113
|
-
}, MANIFEST_TEST_TIMEOUT);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}, "testTools");
|
|
117
|
-
|
|
118
|
-
export { testTools };
|
|
119
|
-
//# sourceMappingURL=PKAOFTZV.js.map
|
|
120
|
-
//# sourceMappingURL=PKAOFTZV.js.map
|
package/dist/PKAOFTZV.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/test.ts"],"names":["COMMAND_TIMEOUT","MANIFEST_TEST_TIMEOUT","VERSION_TEST_TIMEOUT","PULL_TIMEOUT","slsaSchema","object","SLSA","provenanceSchema","runCommand","command","args","timeout","promisify","execFile","killSignal","stdout","trim","isImageCached","uri","pullLocks","Map","ensureImagePulled","existingPull","get","console","log","pullPromise","finally","delete","set","testTools","describe","expect","it","beforeAll","images","_versionCombinations","versionCommands","name","image","Object","entries","getImageTag","join","toBe","literalImage","values","unreleased","imageUri","getImageUri","tool","expectedVersion","versions","Array","Error","version","toContain","id","safeParse","JSON","parse","success"],"mappings":";;;;;;;AAAA,cAAA,EAAA;AASA,IAAMA,kBAAkB,CAAA,GAAI,GAAA;AAC5B,IAAMC,qBAAAA,GAAwB,GAAA;AAC9B,IAAMC,uBAAuB,EAAA,GAAK,GAAA;AAClC,IAAMC,eAAe,EAAA,GAAK,GAAA;AAE1B,IAAMC,aAAeC,CAAAA,CAAAA,MAAAA,CAAO;EACxBC,IAAAA,EAAQD,CAAAA,CAAAA,MAAAA,CAAO,EAAC;AACpB,CAAA,CAAA;AAGA,IAAME,mBAAqBF,CAAAA,CAAAA,MAAAA,CAAO;AAC9B,EAAA,CAAC,aAAA,GAAgBD,UAAAA;AACjB,EAAA,CAAC,aAAA,GAAgBA;AACrB,CAAA,CAAA;AAEA,IAAMI,UAAAA,mBAAa,MAAA,CAAA,OACfC,OAAAA,EACAC,IAAAA,EACAC,OAAAA,GAAUX,eAAAA,KAAAA,CAGN,MAAMY,SAAAA,CAAUC,QAAAA,CAAAA,CAAUJ,OAAAA,EAASC,IAAAA,EAAM;AACrCC,EAAAA,OAAAA;EACAG,UAAAA,EAAY;AAChB,CAAA,CAAA,EACFC,MAAAA,CAAOC,IAAAA,EAAI,EAVE,YAAA,CAAA;AAYnB,IAAMC,aAAAA,iCAAuBC,GAAAA,KAAAA;AACzB,EAAA,IAAI;AACA,IAAA,MAAMV,WAAW,QAAA,EAAU;AAAC,MAAA,OAAA;AAAS,MAAA,SAAA;AAAWU,MAAAA;AAAI,KAAA,CAAA;AACpD,IAAA,OAAO,IAAA;EACX,CAAA,CAAA,MAAQ;AACJ,IAAA,OAAO,KAAA;AACX,EAAA;AACJ,CAAA,EAPsB,eAAA,CAAA;AAStB,IAAMC,SAAAA,uBAAgBC,GAAAA,EAAAA;AAEtB,IAAMC,iBAAAA,iCAA2BH,GAAAA,KAAAA;AAC7B,EAAA,MAAMI,YAAAA,GAAeH,SAAAA,CAAUI,GAAAA,CAAIL,GAAAA,CAAAA;AACnC,EAAA,IAAII,YAAAA,EAAc;AACdE,IAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,oCAAA,EAAkCP,GAAAA,CAAAA,CAAK,CAAA;AACnD,IAAA,OAAOI,YAAAA;AACX,EAAA;AAEA,EAAA,MAAMI,eAAe,YAAA;AACjB,IAAA,IAAI,MAAMT,aAAAA,CAAcC,GAAAA,CAAAA,EAAM;AAC1BM,MAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,6BAAA,EAA2BP,GAAAA,CAAAA,CAAK,CAAA;AAC5C,MAAA;AACJ,IAAA;AACAM,IAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,yBAAA,EAAqBP,GAAAA,CAAAA,CAAK,CAAA;AACtC,IAAA,MAAMV,WAAW,QAAA,EAAU;AAAC,MAAA,MAAA;AAAQU,MAAAA;OAAMf,YAAAA,CAAAA;AAC9C,EAAA,CAAA,IAAKwB,OAAAA,CAAQ,MAAMR,SAAAA,CAAUS,MAAAA,CAAOV,GAAAA,CAAAA,CAAAA;AAEpCC,EAAAA,SAAAA,CAAUU,GAAAA,CAAIX,KAAKQ,WAAAA,CAAAA;AACnB,EAAA,OAAOA,WAAAA;AACX,CAAA,EAlB0B,mBAAA,CAAA;AAoBnB,IAAMI,SAAAA,mBAAY,MAAA,CAAA,CACrB,EAAEC,QAAAA,EAAUC,MAAAA,EAAQC,IAAIC,SAAAA,EAAS,EACjCC,MAAAA,EACAC,oBAAAA,EACAC,eAAAA,KAAAA;AAEAN,EAAAA,QAAAA,CAAS,oBAAoB,MAAA;AACzB,IAAA,KAAA,MAAW,CAACO,IAAAA,EAAMC,KAAAA,KAAUC,MAAAA,CAAOC,OAAAA,CAAQN,MAAAA,CAAAA,EAAS;AAChDF,MAAAA,EAAAA,CAAG,CAAA,mBAAA,EAAsBK,IAAAA,CAAAA,CAAAA,EAAQ,MAAA;AAC7BN,QAAAA,MAAAA,CAAO;UAACO,KAAAA,CAAMD,IAAAA;AAAMI,UAAAA,WAAAA,CAAYH,OAAO,GAAA;AAAMI,SAAAA,CAAAA,IAAAA,CAAK,GAAA,CAAA,CAAA,CAAMC,IAAAA,CAAKN,IAAAA,CAAAA;MACjE,CAAA,CAAA;AACJ,IAAA;EACJ,CAAA,CAAA;AAEAP,EAAAA,QAAAA,CAAS,iBAAiB,MAAA;AACtB,IAAA,KAAA,MAAWc,YAAAA,IAAgBL,MAAAA,CAAOM,MAAAA,CAAOX,MAAAA,CAAAA,EAAS;AAC9C,MAAA,MAAMI,KAAAA,GAAeM,YAAAA;AAErB,MAAA,IAAIN,MAAMQ,UAAAA,EAAY;AAClB,QAAA;AACJ,MAAA;AAEAhB,MAAAA,QAAAA,CAASW,WAAAA,CAAYH,KAAAA,CAAAA,EAAQ,MAAA;AACzB,QAAA,IAAIS,QAAAA;AAEJd,QAAAA,SAAAA,CAAU,YAAA;AACNc,UAAAA,QAAAA,GAAW,MAAMC,WAAAA,CAAYV,KAAAA,EAAO,GAAA,CAAA;AACpC,UAAA,MAAMlB,kBAAkB2B,QAAAA,CAAAA;AAC5B,QAAA,CAAA,EAAG7C,YAAAA,CAAAA;AAEH,QAAA,KAAA,MAAW,CAAC+C,MAAMC,eAAAA,CAAAA,IAAoBX,OAAOC,OAAAA,CAAQF,KAAAA,CAAMa,QAAQ,CAAA,EAAG;AAClEnB,UAAAA,EAAAA,CACI,CAAA,YAAA,EAAeiB,IAAAA,CAAAA,YAAAA,EAAmBC,eAAAA,IAClC,YAAA;AACI,YAAA,IAAI,EAAEd,eAAAA,CAAgBa,IAAAA,CAAAA,YAAiBG,KAAAA,CAAAA,EAAQ;AAC3C,cAAA,MAAM,IAAIC,MAAM,yBAAA,CAAA;AACpB,YAAA;AAEA,YAAA,MAAMC,OAAAA,GAAU,MAAM/C,UAAAA,CAAW,QAAA,EAAU;AACvC,cAAA,KAAA;AACA,cAAA,MAAA;AACA,cAAA,cAAA;AACAwC,cAAAA,QAAAA;AACGX,cAAAA,GAAAA,eAAAA,CAAgBa,IAAAA;AACtB,aAAA,CAAA;AAEDlB,YAAAA,MAAAA,CAAOuB,OAAAA,CAAAA,CAASC,SAAAA,CAAUL,eAAAA,CAAAA;AAC9B,UAAA,CAAA,EACAjD,oBAAAA,CAAAA;AAER,QAAA;MACJ,CAAA,CAAA;AACJ,IAAA;EACJ,CAAA,CAAA;AAEA6B,EAAAA,QAAAA,CAAS,0BAA0B,MAAA;AAC/B,IAAA,KAAA,MAAW,CAAC0B,EAAAA,EAAIlB,KAAAA,KAAUC,MAAAA,CAAOC,OAAAA,CAAQN,MAAAA,CAAAA,EAAS;AAC9C,MAAA,IAAII,MAAMQ,UAAAA,EAAY;AAClB,QAAA;AACJ,MAAA;AAEAd,MAAAA,EAAAA,CACI,CAAA,yBAAA,EAA4BwB,EAAAA,CAAAA,CAAAA,EAC5B,YAAA;AACI,QAAA,MAAM,EAAE1C,MAAAA,EAAM,GAAK,MAAMH,SAAAA,CAAUC,QAAAA,EAAU,QAAA,EAAU;AACnD,UAAA,QAAA;AACA,UAAA,YAAA;AACA,UAAA,SAAA;AACA,UAAA,UAAA;AACA,UAAA,wBAAA;UACA,MAAMoC,WAAAA,CAAYV,OAAO,GAAA;AAC5B,SAAA,CAAA;AAEDP,QAAAA,MAAAA,CAAOzB,gBAAAA,CAAiBmD,SAAAA,CAAUC,IAAAA,CAAKC,KAAAA,CAAM7C,MAAAA,CAAAA,CAAAA,CAAS8C,OAAO,CAAA,CAAEjB,IAAAA,CAAK,IAAA,CAAA;AACxE,MAAA,CAAA,EACA3C,qBAAAA,CAAAA;AAER,IAAA;EACJ,CAAA,CAAA;AACJ,CAAA,EA/EyB,WAAA","file":"PKAOFTZV.js","sourcesContent":["import { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\nimport type * as vitest from 'vitest';\nimport * as z from 'zod';\n\nimport type { VersionCombination } from './config';\nimport { type Image } from './config';\nimport { getImageTag, getImageUri } from './utils/docker';\n\nconst COMMAND_TIMEOUT = 5 * 60_000;\nconst MANIFEST_TEST_TIMEOUT = 60_000;\nconst VERSION_TEST_TIMEOUT = 15 * 60_000;\nconst PULL_TIMEOUT = 10 * 60_000;\n\nconst slsaSchema = z.object({\n SLSA: z.object({}),\n});\n\n// TODO Require provenance by GitHub Actions.\nconst provenanceSchema = z.object({\n ['linux/amd64']: slsaSchema,\n ['linux/arm64']: slsaSchema,\n});\n\nconst runCommand = async (\n command: string,\n args: string[],\n timeout = COMMAND_TIMEOUT,\n): Promise<string> =>\n (\n await promisify(execFile)(command, args, {\n timeout,\n killSignal: 'SIGKILL', // Force kill if timeout\n })\n ).stdout.trim();\n\nconst isImageCached = async (uri: string): Promise<boolean> => {\n try {\n await runCommand('docker', ['image', 'inspect', uri]);\n return true;\n } catch {\n return false;\n }\n};\n\nconst pullLocks = new Map<string, Promise<void>>();\n\nconst ensureImagePulled = async (uri: string): Promise<void> => {\n const existingPull = pullLocks.get(uri);\n if (existingPull) {\n console.log(`⏳ Waiting for concurrent pull: ${uri}`);\n return existingPull;\n }\n\n const pullPromise = (async () => {\n if (await isImageCached(uri)) {\n console.log(`✅ Image already cached: ${uri}`);\n return;\n }\n console.log(`📥 Pulling image: ${uri}`);\n await runCommand('docker', ['pull', uri], PULL_TIMEOUT);\n })().finally(() => pullLocks.delete(uri));\n\n pullLocks.set(uri, pullPromise);\n return pullPromise;\n};\n\nexport const testTools = (\n { describe, expect, it, beforeAll }: typeof vitest,\n images: Record<string, Image>,\n _versionCombinations: VersionCombination<string>[],\n versionCommands: Record<string, string[]>,\n): void => {\n describe('Docker image IDs', () => {\n for (const [name, image] of Object.entries(images)) {\n it(`has an image ID of ${name}`, () => {\n expect([image.name, getImageTag(image, '-')].join(':')).toBe(name);\n });\n }\n });\n\n describe('Tool versions', () => {\n for (const literalImage of Object.values(images)) {\n const image: Image = literalImage;\n\n if (image.unreleased) {\n continue;\n }\n\n describe(getImageTag(image), () => {\n let imageUri: string;\n\n beforeAll(async () => {\n imageUri = await getImageUri(image, '_');\n await ensureImagePulled(imageUri);\n }, PULL_TIMEOUT);\n\n for (const [tool, expectedVersion] of Object.entries(image.versions)) {\n it(\n `should have ${tool} of version ${expectedVersion}`,\n async () => {\n if (!(versionCommands[tool] instanceof Array)) {\n throw new Error('Missing version command');\n }\n\n const version = await runCommand('docker', [\n 'run',\n '--rm',\n '--privileged',\n imageUri,\n ...versionCommands[tool],\n ]);\n\n expect(version).toContain(expectedVersion);\n },\n VERSION_TEST_TIMEOUT,\n );\n }\n });\n }\n });\n\n describe('Docker image manifests', () => {\n for (const [id, image] of Object.entries(images)) {\n if (image.unreleased) {\n continue;\n }\n\n it(\n `has a valid manifest for ${id}`,\n async () => {\n const { stdout } = await promisify(execFile)('docker', [\n 'buildx',\n 'imagetools',\n 'inspect',\n '--format',\n '{{ json .Provenance }}',\n await getImageUri(image, '_'),\n ]);\n\n expect(provenanceSchema.safeParse(JSON.parse(stdout)).success).toBe(true);\n },\n MANIFEST_TEST_TIMEOUT,\n );\n }\n });\n};\n"]}
|
package/dist/Q6HPQZPT.cjs
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _533SFXIE_cjs = require('./533SFXIE.cjs');
|
|
4
|
-
var _24WEKBY3_cjs = require('./24WEKBY3.cjs');
|
|
5
|
-
var child_process = require('child_process');
|
|
6
|
-
var util = require('util');
|
|
7
|
-
var z = require('zod');
|
|
8
|
-
|
|
9
|
-
function _interopNamespace(e) {
|
|
10
|
-
if (e && e.__esModule) return e;
|
|
11
|
-
var n = Object.create(null);
|
|
12
|
-
if (e) {
|
|
13
|
-
Object.keys(e).forEach(function (k) {
|
|
14
|
-
if (k !== 'default') {
|
|
15
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () { return e[k]; }
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
n.default = e;
|
|
24
|
-
return Object.freeze(n);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
var z__namespace = /*#__PURE__*/_interopNamespace(z);
|
|
28
|
-
|
|
29
|
-
// src/test.ts
|
|
30
|
-
_24WEKBY3_cjs.init_cjs_shims();
|
|
31
|
-
var COMMAND_TIMEOUT = 5 * 6e4;
|
|
32
|
-
var MANIFEST_TEST_TIMEOUT = 6e4;
|
|
33
|
-
var VERSION_TEST_TIMEOUT = 15 * 6e4;
|
|
34
|
-
var PULL_TIMEOUT = 10 * 6e4;
|
|
35
|
-
var slsaSchema = z__namespace.object({
|
|
36
|
-
SLSA: z__namespace.object({})
|
|
37
|
-
});
|
|
38
|
-
var provenanceSchema = z__namespace.object({
|
|
39
|
-
["linux/amd64"]: slsaSchema,
|
|
40
|
-
["linux/arm64"]: slsaSchema
|
|
41
|
-
});
|
|
42
|
-
var runCommand = /* @__PURE__ */ _24WEKBY3_cjs.__name(async (command, args, timeout = COMMAND_TIMEOUT) => (await util.promisify(child_process.execFile)(command, args, {
|
|
43
|
-
timeout,
|
|
44
|
-
killSignal: "SIGKILL"
|
|
45
|
-
})).stdout.trim(), "runCommand");
|
|
46
|
-
var isImageCached = /* @__PURE__ */ _24WEKBY3_cjs.__name(async (uri) => {
|
|
47
|
-
try {
|
|
48
|
-
await runCommand("docker", [
|
|
49
|
-
"image",
|
|
50
|
-
"inspect",
|
|
51
|
-
uri
|
|
52
|
-
]);
|
|
53
|
-
return true;
|
|
54
|
-
} catch {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}, "isImageCached");
|
|
58
|
-
var pullLocks = /* @__PURE__ */ new Map();
|
|
59
|
-
var ensureImagePulled = /* @__PURE__ */ _24WEKBY3_cjs.__name(async (uri) => {
|
|
60
|
-
const existingPull = pullLocks.get(uri);
|
|
61
|
-
if (existingPull) {
|
|
62
|
-
console.log(`\u23F3 Waiting for concurrent pull: ${uri}`);
|
|
63
|
-
return existingPull;
|
|
64
|
-
}
|
|
65
|
-
const pullPromise = (async () => {
|
|
66
|
-
if (await isImageCached(uri)) {
|
|
67
|
-
console.log(`\u2705 Image already cached: ${uri}`);
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
console.log(`\u{1F4E5} Pulling image: ${uri}`);
|
|
71
|
-
await runCommand("docker", [
|
|
72
|
-
"pull",
|
|
73
|
-
uri
|
|
74
|
-
], PULL_TIMEOUT);
|
|
75
|
-
})().finally(() => pullLocks.delete(uri));
|
|
76
|
-
pullLocks.set(uri, pullPromise);
|
|
77
|
-
return pullPromise;
|
|
78
|
-
}, "ensureImagePulled");
|
|
79
|
-
var testTools = /* @__PURE__ */ _24WEKBY3_cjs.__name(({ describe, expect, it, beforeAll }, images, _versionCombinations, versionCommands) => {
|
|
80
|
-
describe("Docker image IDs", () => {
|
|
81
|
-
for (const [name, image] of Object.entries(images)) {
|
|
82
|
-
it(`has an image ID of ${name}`, () => {
|
|
83
|
-
expect([
|
|
84
|
-
image.name,
|
|
85
|
-
_533SFXIE_cjs.getImageTag(image, "-")
|
|
86
|
-
].join(":")).toBe(name);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
describe("Tool versions", () => {
|
|
91
|
-
for (const literalImage of Object.values(images)) {
|
|
92
|
-
const image = literalImage;
|
|
93
|
-
if (image.unreleased) {
|
|
94
|
-
continue;
|
|
95
|
-
}
|
|
96
|
-
describe(_533SFXIE_cjs.getImageTag(image), () => {
|
|
97
|
-
let imageUri;
|
|
98
|
-
beforeAll(async () => {
|
|
99
|
-
imageUri = await _533SFXIE_cjs.getImageUri(image, "_");
|
|
100
|
-
await ensureImagePulled(imageUri);
|
|
101
|
-
}, PULL_TIMEOUT);
|
|
102
|
-
for (const [tool, expectedVersion] of Object.entries(image.versions)) {
|
|
103
|
-
it(`should have ${tool} of version ${expectedVersion}`, async () => {
|
|
104
|
-
if (!(versionCommands[tool] instanceof Array)) {
|
|
105
|
-
throw new Error("Missing version command");
|
|
106
|
-
}
|
|
107
|
-
const version = await runCommand("docker", [
|
|
108
|
-
"run",
|
|
109
|
-
"--rm",
|
|
110
|
-
"--privileged",
|
|
111
|
-
imageUri,
|
|
112
|
-
...versionCommands[tool]
|
|
113
|
-
]);
|
|
114
|
-
expect(version).toContain(expectedVersion);
|
|
115
|
-
}, VERSION_TEST_TIMEOUT);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
describe("Docker image manifests", () => {
|
|
121
|
-
for (const [id, image] of Object.entries(images)) {
|
|
122
|
-
if (image.unreleased) {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
it(`has a valid manifest for ${id}`, async () => {
|
|
126
|
-
const { stdout } = await util.promisify(child_process.execFile)("docker", [
|
|
127
|
-
"buildx",
|
|
128
|
-
"imagetools",
|
|
129
|
-
"inspect",
|
|
130
|
-
"--format",
|
|
131
|
-
"{{ json .Provenance }}",
|
|
132
|
-
await _533SFXIE_cjs.getImageUri(image, "_")
|
|
133
|
-
]);
|
|
134
|
-
expect(provenanceSchema.safeParse(JSON.parse(stdout)).success).toBe(true);
|
|
135
|
-
}, MANIFEST_TEST_TIMEOUT);
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}, "testTools");
|
|
139
|
-
|
|
140
|
-
exports.testTools = testTools;
|
|
141
|
-
//# sourceMappingURL=Q6HPQZPT.cjs.map
|
|
142
|
-
//# sourceMappingURL=Q6HPQZPT.cjs.map
|
package/dist/Q6HPQZPT.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/test.ts"],"names":["init_cjs_shims","COMMAND_TIMEOUT","MANIFEST_TEST_TIMEOUT","VERSION_TEST_TIMEOUT","PULL_TIMEOUT","slsaSchema","object","SLSA","provenanceSchema","runCommand","__name","command","args","timeout","promisify","execFile","killSignal","stdout","trim","isImageCached","uri","pullLocks","Map","ensureImagePulled","existingPull","get","console","log","pullPromise","finally","delete","set","testTools","describe","expect","it","beforeAll","images","_versionCombinations","versionCommands","name","image","Object","entries","getImageTag","join","toBe","literalImage","values","unreleased","imageUri","getImageUri","tool","expectedVersion","versions","Array","Error","version","toContain","id","safeParse","JSON","parse","success"],"mappings":"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","file":"Q6HPQZPT.cjs","sourcesContent":["import { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\nimport type * as vitest from 'vitest';\nimport * as z from 'zod';\n\nimport type { VersionCombination } from './config';\nimport { type Image } from './config';\nimport { getImageTag, getImageUri } from './utils/docker';\n\nconst COMMAND_TIMEOUT = 5 * 60_000;\nconst MANIFEST_TEST_TIMEOUT = 60_000;\nconst VERSION_TEST_TIMEOUT = 15 * 60_000;\nconst PULL_TIMEOUT = 10 * 60_000;\n\nconst slsaSchema = z.object({\n SLSA: z.object({}),\n});\n\n// TODO Require provenance by GitHub Actions.\nconst provenanceSchema = z.object({\n ['linux/amd64']: slsaSchema,\n ['linux/arm64']: slsaSchema,\n});\n\nconst runCommand = async (\n command: string,\n args: string[],\n timeout = COMMAND_TIMEOUT,\n): Promise<string> =>\n (\n await promisify(execFile)(command, args, {\n timeout,\n killSignal: 'SIGKILL', // Force kill if timeout\n })\n ).stdout.trim();\n\nconst isImageCached = async (uri: string): Promise<boolean> => {\n try {\n await runCommand('docker', ['image', 'inspect', uri]);\n return true;\n } catch {\n return false;\n }\n};\n\nconst pullLocks = new Map<string, Promise<void>>();\n\nconst ensureImagePulled = async (uri: string): Promise<void> => {\n const existingPull = pullLocks.get(uri);\n if (existingPull) {\n console.log(`⏳ Waiting for concurrent pull: ${uri}`);\n return existingPull;\n }\n\n const pullPromise = (async () => {\n if (await isImageCached(uri)) {\n console.log(`✅ Image already cached: ${uri}`);\n return;\n }\n console.log(`📥 Pulling image: ${uri}`);\n await runCommand('docker', ['pull', uri], PULL_TIMEOUT);\n })().finally(() => pullLocks.delete(uri));\n\n pullLocks.set(uri, pullPromise);\n return pullPromise;\n};\n\nexport const testTools = (\n { describe, expect, it, beforeAll }: typeof vitest,\n images: Record<string, Image>,\n _versionCombinations: VersionCombination<string>[],\n versionCommands: Record<string, string[]>,\n): void => {\n describe('Docker image IDs', () => {\n for (const [name, image] of Object.entries(images)) {\n it(`has an image ID of ${name}`, () => {\n expect([image.name, getImageTag(image, '-')].join(':')).toBe(name);\n });\n }\n });\n\n describe('Tool versions', () => {\n for (const literalImage of Object.values(images)) {\n const image: Image = literalImage;\n\n if (image.unreleased) {\n continue;\n }\n\n describe(getImageTag(image), () => {\n let imageUri: string;\n\n beforeAll(async () => {\n imageUri = await getImageUri(image, '_');\n await ensureImagePulled(imageUri);\n }, PULL_TIMEOUT);\n\n for (const [tool, expectedVersion] of Object.entries(image.versions)) {\n it(\n `should have ${tool} of version ${expectedVersion}`,\n async () => {\n if (!(versionCommands[tool] instanceof Array)) {\n throw new Error('Missing version command');\n }\n\n const version = await runCommand('docker', [\n 'run',\n '--rm',\n '--privileged',\n imageUri,\n ...versionCommands[tool],\n ]);\n\n expect(version).toContain(expectedVersion);\n },\n VERSION_TEST_TIMEOUT,\n );\n }\n });\n }\n });\n\n describe('Docker image manifests', () => {\n for (const [id, image] of Object.entries(images)) {\n if (image.unreleased) {\n continue;\n }\n\n it(\n `has a valid manifest for ${id}`,\n async () => {\n const { stdout } = await promisify(execFile)('docker', [\n 'buildx',\n 'imagetools',\n 'inspect',\n '--format',\n '{{ json .Provenance }}',\n await getImageUri(image, '_'),\n ]);\n\n expect(provenanceSchema.safeParse(JSON.parse(stdout)).success).toBe(true);\n },\n MANIFEST_TEST_TIMEOUT,\n );\n }\n });\n};\n"]}
|
package/dist/VF2UWSC3.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/github/matrix.ts"],"names":["TAG_SEPARATORS","generateGithubMatrix","images","directory","versionCombinations","createImageEntry","imageId","image","imageName","getImageName","name","tags","map","separator","getImageTag","entry","id","build_args","Object","entries","versions","dependencies","sort","key","value","constantCase","join","image_name","results","imageEntries","r","mirroredImages","filter","result","mirrorRegistries","length","flatMap","mirror","activeImages","activeImageIds","Set","combo","values","push"],"mappings":";;;;;;;AAAA,cAAA,EAAA;AA+BA,IAAMA,cAAAA,GAAiB;AAAC,EAAA,GAAA;AAAK,EAAA;;AAEtB,IAAMC,oBAAAA,mBAAuB,MAAA,CAAA,CAChCC,MAAAA,EACAC,SAAAA,EACAC,mBAAAA,KAAAA;AAEA,EAAA,MAAMC,gBAAAA,mBAAmB,MAAA,CAAA,CAAC,CAACC,OAAAA,EAASC,KAAAA,CAAAA,KAAuB;AAIvD,IAAA,MAAMC,SAAAA,GAAYC,YAAAA,CAAaF,KAAAA,CAAMG,IAAI,CAAA;AACzC,IAAA,MAAMC,IAAAA,GAAOX,eAAeY,GAAAA,CAAI,CAACC,cAAcC,WAAAA,CAAYP,KAAAA,EAAOM,SAAAA,CAAAA,CAAAA;AAElE,IAAA,OAAO;MACHE,KAAAA,EAAO;QACHC,EAAAA,EAAIV,OAAAA;AACJI,QAAAA,IAAAA,EAAMH,KAAAA,CAAMG,IAAAA;AACZO,QAAAA,UAAAA,EAAYC,OAAOC,OAAAA,CAAQ;AAAE,UAAA,GAAGZ,KAAAA,CAAMa,QAAAA;AAAU,UAAA,GAAGb,KAAAA,CAAMc;AAAa,SAAA,CAAA,CACjEC,IAAAA,EAAI,CACJV,GAAAA,CAAI,CAAC,CAACW,GAAAA,EAAKC,KAAAA,CAAAA,KAAW,GAAGC,YAAAA,CAAaF,GAAAA,CAAAA,CAAAA,SAAAA,EAAgBC,KAAAA,CAAAA,CAAO,CAAA;AAClErB,QAAAA,SAAAA,EAAWuB,IAAAA,CAAKvB,SAAAA,EAAW,QAAA,EAAUI,KAAAA,CAAMG,IAAI,CAAA;QAC/CiB,UAAAA,EAAYnB,SAAAA;AACZG,QAAAA;AACJ,OAAA;AACAJ,MAAAA;AACJ,KAAA;EACJ,CAAA,EApByB,kBAAA,CAAA;AAsBzB,EAAA,MAAMqB,UAAUV,MAAAA,CAAOC,OAAAA,CAAQjB,MAAAA,CAAAA,CAAQU,IAAIP,gBAAAA,CAAAA;AAE3C,EAAA,MAAMwB,eAAeD,OAAAA,CAAQhB,GAAAA,CAAI,CAACkB,CAAAA,KAAMA,EAAEf,KAAK,CAAA;AAE/C,EAAA,MAAMgB,iBAAiBH,OAAAA,CAClBI,MAAAA,CAAO,CAACC,MAAAA,KAAWA,MAAAA,CAAO1B,MAAM2B,gBAAAA,EAAkBC,MAAAA,CAAAA,CAClDC,OAAAA,CAAQ,CAACH,MAAAA,KACNA,MAAAA,CAAO1B,MAAM2B,gBAAAA,CAAkBtB,GAAAA,CAAI,CAACyB,MAAAA,MAAY;AAC5CrB,IAAAA,EAAAA,EAAIiB,OAAOlB,KAAAA,CAAMC,EAAAA;AACjBN,IAAAA,IAAAA,EAAMuB,OAAOlB,KAAAA,CAAML,IAAAA;AACnBiB,IAAAA,UAAAA,EAAYM,OAAOlB,KAAAA,CAAMY,UAAAA;AACzBhB,IAAAA,IAAAA,EAAMsB,OAAOlB,KAAAA,CAAMJ,IAAAA;AACnB0B,IAAAA;AACJ,GAAA,CAAA,CAAA,CAAA;AAGR,EAAA,MAAMC,eAAyB,EAAA;AAC/B,EAAA,IAAIlC,mBAAAA,EAAqB;AACrB,IAAA,MAAMmC,cAAAA,GAAiB,IAAIC,GAAAA,CACvBpC,mBAAAA,CAAoBgC,OAAAA,CAAQ,CAACK,KAAAA,KAAUvB,MAAAA,CAAOwB,MAAAA,CAAOD,KAAAA,CAAMvC,MAAM,CAAA,CAAA,CAAA;AAErEoC,IAAAA,YAAAA,CAAaK,IAAAA,CAAI,GAAIJ,cAAAA,CAAAA;AACzB,EAAA;AAEA,EAAA,OAAO;IAAErC,MAAAA,EAAQ2B,YAAAA;AAAcE,IAAAA,cAAAA;AAAgBO,IAAAA;AAAa,GAAA;AAChE,CAAA,EApDoC,sBAAA","file":"VF2UWSC3.js","sourcesContent":["import { constantCase } from 'es-toolkit';\nimport { join } from 'node:path';\n\nimport { type Image, type VersionCombination } from '../config';\nimport { getImageTag } from '../utils/docker';\nimport { getImageName } from '../utils/finder';\n\ninterface ImageEntry {\n id: string;\n name: string;\n build_args: string[];\n image_name: string;\n tags: string[];\n directory: string;\n}\n\ninterface MirroredImageEntry {\n id: string;\n name: string;\n image_name: string;\n tags: string[];\n mirror: string;\n}\n\ninterface GithubMatrixOutput {\n images: ImageEntry[];\n mirroredImages: MirroredImageEntry[];\n activeImages: string[];\n}\n\n// TODO Remove underscore which is not standard in the Docker tag naming scheme.\nconst TAG_SEPARATORS = ['-', '_'] as const;\n\nexport const generateGithubMatrix = (\n images: Record<string, Image>,\n directory: string,\n versionCombinations?: VersionCombination<string>[],\n): GithubMatrixOutput => {\n const createImageEntry = ([imageId, image]: [string, Image]): {\n entry: ImageEntry;\n image: Image;\n } => {\n const imageName = getImageName(image.name);\n const tags = TAG_SEPARATORS.map((separator) => getImageTag(image, separator));\n\n return {\n entry: {\n id: imageId,\n name: image.name,\n build_args: Object.entries({ ...image.versions, ...image.dependencies })\n .sort()\n .map(([key, value]) => `${constantCase(key)}_VERSION=${value}`),\n directory: join(directory, 'docker', image.name),\n image_name: imageName,\n tags,\n },\n image,\n };\n };\n\n const results = Object.entries(images).map(createImageEntry);\n\n const imageEntries = results.map((r) => r.entry);\n\n const mirroredImages = results\n .filter((result) => result.image.mirrorRegistries?.length)\n .flatMap((result) =>\n result.image.mirrorRegistries!.map((mirror) => ({\n id: result.entry.id,\n name: result.entry.name,\n image_name: result.entry.image_name,\n tags: result.entry.tags,\n mirror,\n })),\n );\n\n const activeImages: string[] = [];\n if (versionCombinations) {\n const activeImageIds = new Set(\n versionCombinations.flatMap((combo) => Object.values(combo.images)),\n );\n activeImages.push(...activeImageIds);\n }\n\n return { images: imageEntries, mirroredImages, activeImages };\n};\n"]}
|