@layerzerolabs/vm-tooling 0.2.103 → 0.2.105
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/{P4BHRQMD.js → 2MO4PR4P.js} +2 -2
- package/dist/2MO4PR4P.js.map +1 -0
- package/dist/DVALPAAO.js +18385 -0
- package/dist/DVALPAAO.js.map +1 -0
- package/dist/{ZSOVVFOM.js → E35WFC4E.js} +3 -3
- package/dist/{ZSOVVFOM.js.map → E35WFC4E.js.map} +1 -1
- package/dist/{BTPRTHPR.js → EY2G7NK4.js} +3 -3
- package/dist/{BTPRTHPR.js.map → EY2G7NK4.js.map} +1 -1
- package/dist/{6V27P6AU.js → GFKRACRT.js} +3 -3
- package/dist/{6V27P6AU.js.map → GFKRACRT.js.map} +1 -1
- package/dist/GIFXFMSS.js +13 -0
- package/dist/GIFXFMSS.js.map +1 -0
- package/dist/{UQGPF6NC.js → GMN3ZEOV.js} +14 -6
- package/dist/GMN3ZEOV.js.map +1 -0
- package/dist/HC7LYTHL.js +53 -0
- package/dist/HC7LYTHL.js.map +1 -0
- package/dist/{JYJBE36S.js → HN2JUVAX.js} +114 -40
- package/dist/HN2JUVAX.js.map +1 -0
- package/dist/KN3TRHEZ.js +107 -0
- package/dist/KN3TRHEZ.js.map +1 -0
- package/dist/{BJUOU4DR.js → TMIYMQW3.js} +27 -9
- package/dist/TMIYMQW3.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -6
- package/dist/config.d.ts +15 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -5
- package/dist/core/local-executor.d.ts +11 -0
- package/dist/core/local-executor.d.ts.map +1 -0
- package/dist/core/local-executor.js +4 -0
- package/dist/core/local-executor.js.map +1 -0
- package/dist/core/local-executor.test.js +110 -0
- package/dist/core/local-executor.test.js.map +1 -0
- package/dist/core/lock.test.js +2 -18360
- package/dist/core/lock.test.js.map +1 -1
- package/dist/core/tool-executor.d.ts +15 -2
- package/dist/core/tool-executor.d.ts.map +1 -1
- package/dist/core/tool-executor.js +6 -4
- package/dist/core/tool-executor.test.js +180 -0
- package/dist/core/tool-executor.test.js.map +1 -0
- package/dist/environment.d.ts +4 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +4 -0
- package/dist/environment.js.map +1 -0
- package/dist/github/index.js +5 -4
- package/dist/github/matrix.js +4 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -9
- package/dist/index.js.map +1 -1
- package/dist/test.js +4 -3
- package/dist/utils/docker.d.ts +30 -3
- package/dist/utils/docker.d.ts.map +1 -1
- package/dist/utils/docker.js +3 -2
- package/dist/utils/docker.test.js +272 -0
- package/dist/utils/docker.test.js.map +1 -0
- package/package.json +5 -5
- package/dist/AXL4SBDJ.js +0 -56
- package/dist/AXL4SBDJ.js.map +0 -1
- package/dist/BJUOU4DR.js.map +0 -1
- package/dist/JYJBE36S.js.map +0 -1
- package/dist/P4BHRQMD.js.map +0 -1
- package/dist/UQGPF6NC.js.map +0 -1
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { type ProcessOutput } from 'zx';
|
|
2
|
-
import type { EnvironmentVariable, VolumeMapping } from '../config';
|
|
2
|
+
import type { DockerPlatformOverride, EnvironmentVariable, VolumeMapping } from '../config';
|
|
3
3
|
import type { ChainContext } from '../context';
|
|
4
|
+
/**
|
|
5
|
+
* Merge env layers, highest precedence first. On a name collision the earlier layer wins — so the
|
|
6
|
+
* cache redirect (passed last) can never clobber a user --env or a tool default for the same var.
|
|
7
|
+
*/
|
|
8
|
+
export declare const mergeToolEnv: (...layers: readonly (readonly EnvironmentVariable[])[]) => EnvironmentVariable[];
|
|
9
|
+
/**
|
|
10
|
+
* Redirect a cache-safe cargo `--script` to the shared `/cargo-target` mount via CARGO_TARGET_DIR.
|
|
11
|
+
* Skips scripts containing a build (CARGO_BUILD_RE): a build's .so/IDL must reach the host-mounted
|
|
12
|
+
* target/, not the cache. No-ops for tools that don't mount the cache.
|
|
13
|
+
*/
|
|
14
|
+
export declare const resolveCargoCacheEnv: (script: string | undefined, volumes: readonly VolumeMapping[]) => EnvironmentVariable[];
|
|
4
15
|
export interface ToolCommandExecutionOptions {
|
|
5
16
|
cwd: string;
|
|
6
17
|
volumes: readonly VolumeMapping[];
|
|
@@ -11,9 +22,11 @@ export interface ToolCommandExecutionOptions {
|
|
|
11
22
|
publish?: string[];
|
|
12
23
|
versions?: Record<string, string>;
|
|
13
24
|
defaultVolumesEnabled?: boolean;
|
|
25
|
+
local?: boolean;
|
|
26
|
+
dockerPlatform?: DockerPlatformOverride;
|
|
14
27
|
}
|
|
15
28
|
/**
|
|
16
29
|
* Enhanced tool command execution using the new version compatibility matrix system
|
|
17
30
|
*/
|
|
18
|
-
export declare function executeToolCommand<TImageId extends string>(context: ChainContext<TImageId>, toolName: string, args: string[], { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish, versions, defaultVolumesEnabled, }: ToolCommandExecutionOptions): Promise<ProcessOutput>;
|
|
31
|
+
export declare function executeToolCommand<TImageId extends string>(context: ChainContext<TImageId>, toolName: string, args: string[], { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish, versions, defaultVolumesEnabled, local, dockerPlatform: dockerPlatformOverride, }: ToolCommandExecutionOptions): Promise<ProcessOutput>;
|
|
19
32
|
//# sourceMappingURL=tool-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAK,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAK,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA6C/C;;;GAGG;AACH,eAAO,MAAM,YAAY,GACrB,GAAG,QAAQ,SAAS,CAAC,SAAS,mBAAmB,EAAE,CAAC,EAAE,KACvD,mBAAmB,EAA+C,CAAC;AAYtE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC7B,QAAQ,MAAM,GAAG,SAAS,EAC1B,SAAS,SAAS,aAAa,EAAE,KAClC,mBAAmB,EAarB,CAAC;AAmIF,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,mBAAmB,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,SAAS,MAAM,EAC5D,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,EACI,GAAG,EACH,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,UAAU,EAC5B,GAAG,EAAE,aAAa,EAClB,MAAM,EACN,OAAO,EACP,QAAa,EACb,qBAA4B,EAC5B,KAAK,EACL,cAAc,EAAE,sBAAsB,GACzC,EAAE,2BAA2B,GAC/B,OAAO,CAAC,aAAa,CAAC,CAuMxB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
export { executeToolCommand } from '../
|
|
1
|
+
export { executeToolCommand, mergeToolEnv, resolveCargoCacheEnv } from '../HN2JUVAX.js';
|
|
2
2
|
import '../2XGBQPKA.js';
|
|
3
|
+
import '../HC7LYTHL.js';
|
|
4
|
+
import '../4SFAVHVD.js';
|
|
3
5
|
import '../6L6NUQMM.js';
|
|
4
|
-
import '../
|
|
5
|
-
import '../
|
|
6
|
+
import '../KN3TRHEZ.js';
|
|
7
|
+
import '../TMIYMQW3.js';
|
|
8
|
+
import '../GIFXFMSS.js';
|
|
6
9
|
import '../UBUQDI5Q.js';
|
|
7
10
|
import '../3XEUJAQB.js';
|
|
8
|
-
import '../4SFAVHVD.js';
|
|
9
11
|
import '../CWKWODSW.js';
|
|
10
12
|
//# sourceMappingURL=tool-executor.js.map
|
|
11
13
|
//# sourceMappingURL=tool-executor.js.map
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { describe, it, globalExpect } from '../DVALPAAO.js';
|
|
2
|
+
import { resolveCargoCacheEnv, mergeToolEnv } from '../HN2JUVAX.js';
|
|
3
|
+
import '../2XGBQPKA.js';
|
|
4
|
+
import '../HC7LYTHL.js';
|
|
5
|
+
import '../4SFAVHVD.js';
|
|
6
|
+
import '../6L6NUQMM.js';
|
|
7
|
+
import '../KN3TRHEZ.js';
|
|
8
|
+
import { CARGO_TARGET_CACHE_PATH } from '../TMIYMQW3.js';
|
|
9
|
+
import '../GIFXFMSS.js';
|
|
10
|
+
import '../UBUQDI5Q.js';
|
|
11
|
+
import '../3XEUJAQB.js';
|
|
12
|
+
import { init_esm_shims } from '../CWKWODSW.js';
|
|
13
|
+
|
|
14
|
+
// src/core/tool-executor.test.ts
|
|
15
|
+
init_esm_shims();
|
|
16
|
+
var cacheVolume = {
|
|
17
|
+
type: "isolate",
|
|
18
|
+
containerPath: CARGO_TARGET_CACHE_PATH,
|
|
19
|
+
name: "solana-target"
|
|
20
|
+
};
|
|
21
|
+
var withCache = [
|
|
22
|
+
cacheVolume
|
|
23
|
+
];
|
|
24
|
+
var cacheEnv = [
|
|
25
|
+
{
|
|
26
|
+
name: "CARGO_TARGET_DIR",
|
|
27
|
+
value: CARGO_TARGET_CACHE_PATH
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
describe(resolveCargoCacheEnv, () => {
|
|
31
|
+
describe("cache-safe scripts redirect at the shared cache", () => {
|
|
32
|
+
it.each([
|
|
33
|
+
"cargo test -p anchor-trait --lib --tests",
|
|
34
|
+
"cargo test --manifest-path macros/examples/vault/Cargo.toml --lib --tests",
|
|
35
|
+
"cargo test -p rbac --test trybuild -- --ignored",
|
|
36
|
+
"cargo test --package onesig -- tests --nocapture",
|
|
37
|
+
"cargo test-ellipse",
|
|
38
|
+
"cargo test-triangle",
|
|
39
|
+
"cargo check",
|
|
40
|
+
"cargo nextest run",
|
|
41
|
+
"cargo +nightly-2025-06-01 fmt -- --check && cargo clippy --all-targets",
|
|
42
|
+
// builtin t=test / c=check aliases.
|
|
43
|
+
"cargo t",
|
|
44
|
+
"cargo c",
|
|
45
|
+
"cargo +nightly-2025-06-01 t --lib"
|
|
46
|
+
])("%s", (script) => {
|
|
47
|
+
globalExpect(resolveCargoCacheEnv(script, withCache)).toEqual(cacheEnv);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("artifact-producing builds are never redirected", () => {
|
|
51
|
+
it.each([
|
|
52
|
+
"anchor build --no-idl --ignore-keys",
|
|
53
|
+
"cargo build",
|
|
54
|
+
"cargo build-sbf",
|
|
55
|
+
// test-sbf/test-bpf build .so despite the `test-` prefix.
|
|
56
|
+
"cargo test-sbf",
|
|
57
|
+
"cargo test-bpf --features foo",
|
|
58
|
+
// Dashed binary forms (the real protocol `test` script is `cargo-test-sbf`) — the
|
|
59
|
+
// space-anchored cargo branch misses these, so they need their own alternative.
|
|
60
|
+
"cargo-test-sbf",
|
|
61
|
+
"cargo-build-sbf",
|
|
62
|
+
"cargo-build-bpf --features x"
|
|
63
|
+
])("%s", (script) => {
|
|
64
|
+
globalExpect(resolveCargoCacheEnv(script, withCache)).toEqual([]);
|
|
65
|
+
});
|
|
66
|
+
it("skips when a build and a test share one script (build half must reach the host)", () => {
|
|
67
|
+
globalExpect(resolveCargoCacheEnv("cargo build && cargo test", withCache)).toEqual([]);
|
|
68
|
+
globalExpect(resolveCargoCacheEnv("anchor build && cargo test --lib", withCache)).toEqual([]);
|
|
69
|
+
globalExpect(resolveCargoCacheEnv("cargo b && cargo test", withCache)).toEqual([]);
|
|
70
|
+
globalExpect(resolveCargoCacheEnv("cargo b && cargo t", withCache)).toEqual([]);
|
|
71
|
+
globalExpect(resolveCargoCacheEnv("cargo test --lib && anchor idl build -o x.json", withCache)).toEqual([]);
|
|
72
|
+
globalExpect(resolveCargoCacheEnv("cargo test --lib && cargo-build-sbf", withCache)).toEqual([]);
|
|
73
|
+
globalExpect(resolveCargoCacheEnv("anchor test && cargo test --lib", withCache)).toEqual([]);
|
|
74
|
+
globalExpect(resolveCargoCacheEnv("cargo rustc -- --emit=obj && cargo test", withCache)).toEqual([]);
|
|
75
|
+
});
|
|
76
|
+
it.each([
|
|
77
|
+
"cargo build; cargo test",
|
|
78
|
+
"cargo build&&cargo test",
|
|
79
|
+
"cargo build-sbf;cargo test",
|
|
80
|
+
"cargo b;cargo test",
|
|
81
|
+
"cargo b&&cargo t"
|
|
82
|
+
])("%s", (script) => {
|
|
83
|
+
globalExpect(resolveCargoCacheEnv(script, withCache)).toEqual([]);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe("commands outside the cache-safe allowlist are not redirected", () => {
|
|
87
|
+
it.each([
|
|
88
|
+
"cargo +nightly-2025-06-01 fmt",
|
|
89
|
+
"cargo +nightly-2025-06-01 fmt -- --check"
|
|
90
|
+
])("%s", (script) => {
|
|
91
|
+
globalExpect(resolveCargoCacheEnv(script, withCache)).toEqual([]);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
it("does nothing when the tool mounts no /cargo-target cache volume", () => {
|
|
95
|
+
const otherVolumes = [
|
|
96
|
+
{
|
|
97
|
+
type: "isolate",
|
|
98
|
+
containerPath: "/usr/local/cargo",
|
|
99
|
+
name: "solana-cargo"
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
globalExpect(resolveCargoCacheEnv("cargo test -p oft --lib --tests", otherVolumes)).toEqual([]);
|
|
103
|
+
});
|
|
104
|
+
it("returns nothing for an empty or absent script (non --script invocations)", () => {
|
|
105
|
+
globalExpect(resolveCargoCacheEnv(void 0, withCache)).toEqual([]);
|
|
106
|
+
globalExpect(resolveCargoCacheEnv("", withCache)).toEqual([]);
|
|
107
|
+
});
|
|
108
|
+
it("does not match cargo substrings inside other words", () => {
|
|
109
|
+
globalExpect(resolveCargoCacheEnv("mycargo testlike", withCache)).toEqual([]);
|
|
110
|
+
});
|
|
111
|
+
it("tolerates irregular whitespace around the command", () => {
|
|
112
|
+
globalExpect(resolveCargoCacheEnv(" cargo test --lib", withCache)).toEqual(cacheEnv);
|
|
113
|
+
globalExpect(resolveCargoCacheEnv("cargo test", withCache)).toEqual(cacheEnv);
|
|
114
|
+
globalExpect(resolveCargoCacheEnv("cargo build && cargo test", withCache)).toEqual([]);
|
|
115
|
+
});
|
|
116
|
+
it("finds the cache volume by containerPath, regardless of its name", () => {
|
|
117
|
+
const renamed = [
|
|
118
|
+
{
|
|
119
|
+
type: "isolate",
|
|
120
|
+
containerPath: CARGO_TARGET_CACHE_PATH,
|
|
121
|
+
name: "custom-target"
|
|
122
|
+
}
|
|
123
|
+
];
|
|
124
|
+
globalExpect(resolveCargoCacheEnv("cargo test", renamed)).toEqual([
|
|
125
|
+
{
|
|
126
|
+
name: "CARGO_TARGET_DIR",
|
|
127
|
+
value: CARGO_TARGET_CACHE_PATH
|
|
128
|
+
}
|
|
129
|
+
]);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe(mergeToolEnv, () => {
|
|
133
|
+
const cacheEnv2 = [
|
|
134
|
+
{
|
|
135
|
+
name: "CARGO_TARGET_DIR",
|
|
136
|
+
value: CARGO_TARGET_CACHE_PATH
|
|
137
|
+
}
|
|
138
|
+
];
|
|
139
|
+
it("keeps the higher-precedence (earlier) layer on a name collision", () => {
|
|
140
|
+
const userEnv = [
|
|
141
|
+
{
|
|
142
|
+
name: "CARGO_TARGET_DIR",
|
|
143
|
+
value: "/host/target"
|
|
144
|
+
}
|
|
145
|
+
];
|
|
146
|
+
globalExpect(mergeToolEnv(userEnv, [], [], cacheEnv2)).toEqual(userEnv);
|
|
147
|
+
});
|
|
148
|
+
it("applies the cache redirect only when nothing upstream sets the var", () => {
|
|
149
|
+
globalExpect(mergeToolEnv([], [], [], cacheEnv2)).toEqual(cacheEnv2);
|
|
150
|
+
});
|
|
151
|
+
it("preserves order and de-dupes across layers", () => {
|
|
152
|
+
globalExpect(mergeToolEnv([
|
|
153
|
+
{
|
|
154
|
+
name: "A",
|
|
155
|
+
value: "1"
|
|
156
|
+
}
|
|
157
|
+
], [
|
|
158
|
+
{
|
|
159
|
+
name: "B",
|
|
160
|
+
value: "2"
|
|
161
|
+
}
|
|
162
|
+
], [
|
|
163
|
+
{
|
|
164
|
+
name: "A",
|
|
165
|
+
value: "shadowed"
|
|
166
|
+
}
|
|
167
|
+
])).toEqual([
|
|
168
|
+
{
|
|
169
|
+
name: "A",
|
|
170
|
+
value: "1"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: "B",
|
|
174
|
+
value: "2"
|
|
175
|
+
}
|
|
176
|
+
]);
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
//# sourceMappingURL=tool-executor.test.js.map
|
|
180
|
+
//# sourceMappingURL=tool-executor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/tool-executor.test.ts"],"names":["cacheVolume","type","containerPath","CARGO_TARGET_CACHE_PATH","name","withCache","cacheEnv","value","describe","resolveCargoCacheEnv","it","each","script","expect","toEqual","otherVolumes","undefined","renamed","mergeToolEnv","userEnv"],"mappings":"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","file":"tool-executor.test.js","sourcesContent":["import { describe, expect, it } from 'vitest';\n\nimport type { EnvironmentVariable, VolumeMapping } from '../config';\nimport { CARGO_TARGET_CACHE_PATH } from '../config';\nimport { mergeToolEnv, resolveCargoCacheEnv } from './tool-executor';\n\nconst cacheVolume: VolumeMapping = {\n type: 'isolate',\n containerPath: CARGO_TARGET_CACHE_PATH,\n name: 'solana-target',\n};\n\nconst withCache: readonly VolumeMapping[] = [cacheVolume];\nconst cacheEnv = [{ name: 'CARGO_TARGET_DIR', value: CARGO_TARGET_CACHE_PATH }];\n\ndescribe(resolveCargoCacheEnv, () => {\n describe('cache-safe scripts redirect at the shared cache', () => {\n it.each([\n 'cargo test -p anchor-trait --lib --tests',\n 'cargo test --manifest-path macros/examples/vault/Cargo.toml --lib --tests',\n 'cargo test -p rbac --test trybuild -- --ignored',\n 'cargo test --package onesig -- tests --nocapture',\n 'cargo test-ellipse',\n 'cargo test-triangle',\n 'cargo check',\n 'cargo nextest run',\n 'cargo +nightly-2025-06-01 fmt -- --check && cargo clippy --all-targets',\n // builtin t=test / c=check aliases.\n 'cargo t',\n 'cargo c',\n 'cargo +nightly-2025-06-01 t --lib',\n ])('%s', (script) => {\n expect(resolveCargoCacheEnv(script, withCache)).toEqual(cacheEnv);\n });\n });\n\n describe('artifact-producing builds are never redirected', () => {\n it.each([\n 'anchor build --no-idl --ignore-keys',\n 'cargo build',\n 'cargo build-sbf',\n // test-sbf/test-bpf build .so despite the `test-` prefix.\n 'cargo test-sbf',\n 'cargo test-bpf --features foo',\n // Dashed binary forms (the real protocol `test` script is `cargo-test-sbf`) — the\n // space-anchored cargo branch misses these, so they need their own alternative.\n 'cargo-test-sbf',\n 'cargo-build-sbf',\n 'cargo-build-bpf --features x',\n ])('%s', (script) => {\n expect(resolveCargoCacheEnv(script, withCache)).toEqual([]);\n });\n\n it('skips when a build and a test share one script (build half must reach the host)', () => {\n expect(resolveCargoCacheEnv('cargo build && cargo test', withCache)).toEqual([]);\n expect(resolveCargoCacheEnv('anchor build && cargo test --lib', withCache)).toEqual([]);\n // builtin b=build alias must still defeat the redirect when paired with a test.\n expect(resolveCargoCacheEnv('cargo b && cargo test', withCache)).toEqual([]);\n expect(resolveCargoCacheEnv('cargo b && cargo t', withCache)).toEqual([]);\n // `anchor idl build` emits host IDL JSON — must defeat the redirect like any build.\n expect(\n resolveCargoCacheEnv('cargo test --lib && anchor idl build -o x.json', withCache),\n ).toEqual([]);\n // Dashed sbf binary glued to a cache-safe verb must still defeat the redirect.\n expect(resolveCargoCacheEnv('cargo test --lib && cargo-build-sbf', withCache)).toEqual(\n [],\n );\n // `anchor test` builds the program + IDL before running, and `cargo rustc` compiles —\n // both must defeat the redirect when paired with a cache-safe verb.\n expect(resolveCargoCacheEnv('anchor test && cargo test --lib', withCache)).toEqual([]);\n expect(\n resolveCargoCacheEnv('cargo rustc -- --emit=obj && cargo test', withCache),\n ).toEqual([]);\n });\n\n // The build must be detected even when glued straight to a shell separator with no space\n // (`;`, `&&`) — otherwise the build half silently redirects its .so/IDL into the cache.\n it.each([\n 'cargo build; cargo test',\n 'cargo build&&cargo test',\n 'cargo build-sbf;cargo test',\n 'cargo b;cargo test',\n 'cargo b&&cargo t',\n ])('%s', (script) => {\n expect(resolveCargoCacheEnv(script, withCache)).toEqual([]);\n });\n });\n\n describe('commands outside the cache-safe allowlist are not redirected', () => {\n it.each(['cargo +nightly-2025-06-01 fmt', 'cargo +nightly-2025-06-01 fmt -- --check'])(\n '%s',\n (script) => {\n expect(resolveCargoCacheEnv(script, withCache)).toEqual([]);\n },\n );\n });\n\n it('does nothing when the tool mounts no /cargo-target cache volume', () => {\n const otherVolumes: readonly VolumeMapping[] = [\n { type: 'isolate', containerPath: '/usr/local/cargo', name: 'solana-cargo' },\n ];\n expect(resolveCargoCacheEnv('cargo test -p oft --lib --tests', otherVolumes)).toEqual([]);\n });\n\n it('returns nothing for an empty or absent script (non --script invocations)', () => {\n expect(resolveCargoCacheEnv(undefined, withCache)).toEqual([]);\n expect(resolveCargoCacheEnv('', withCache)).toEqual([]);\n });\n\n it('does not match cargo substrings inside other words', () => {\n expect(resolveCargoCacheEnv('mycargo testlike', withCache)).toEqual([]);\n });\n\n it('tolerates irregular whitespace around the command', () => {\n // \\s+ / \\b mean extra spaces, tabs, and leading whitespace do not defeat matching.\n expect(resolveCargoCacheEnv(' cargo test --lib', withCache)).toEqual(cacheEnv);\n expect(resolveCargoCacheEnv('cargo\\ttest', withCache)).toEqual(cacheEnv);\n // ...and the build exclusion is equally whitespace-insensitive.\n expect(resolveCargoCacheEnv('cargo build && cargo test', withCache)).toEqual([]);\n });\n\n it('finds the cache volume by containerPath, regardless of its name', () => {\n // Lookup is keyed on the mount path, not the 'solana-target' name — any isolate volume\n // mounted at the cache path triggers the redirect.\n const renamed: readonly VolumeMapping[] = [\n { type: 'isolate', containerPath: CARGO_TARGET_CACHE_PATH, name: 'custom-target' },\n ];\n expect(resolveCargoCacheEnv('cargo test', renamed)).toEqual([\n { name: 'CARGO_TARGET_DIR', value: CARGO_TARGET_CACHE_PATH },\n ]);\n });\n});\n\ndescribe(mergeToolEnv, () => {\n const cacheEnv: EnvironmentVariable[] = [\n { name: 'CARGO_TARGET_DIR', value: CARGO_TARGET_CACHE_PATH },\n ];\n\n it('keeps the higher-precedence (earlier) layer on a name collision', () => {\n const userEnv: EnvironmentVariable[] = [\n { name: 'CARGO_TARGET_DIR', value: '/host/target' },\n ];\n // cacheEnv is passed last (lowest precedence); a user override must survive.\n expect(mergeToolEnv(userEnv, [], [], cacheEnv)).toEqual(userEnv);\n });\n\n it('applies the cache redirect only when nothing upstream sets the var', () => {\n expect(mergeToolEnv([], [], [], cacheEnv)).toEqual(cacheEnv);\n });\n\n it('preserves order and de-dupes across layers', () => {\n expect(\n mergeToolEnv(\n [{ name: 'A', value: '1' }],\n [{ name: 'B', value: '2' }],\n [{ name: 'A', value: 'shadowed' }],\n ),\n ).toEqual([\n { name: 'A', value: '1' },\n { name: 'B', value: '2' },\n ]);\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK,EAAE,OAA4C,CAAC;AACjE,eAAO,MAAM,QAAQ,EAAE,MAAM,GAAG,SAAmC,CAAC;AACpE,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG,SAA0C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"environment.js"}
|
package/dist/github/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { runGithubMatrixGenerator } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
4
|
-
import '../
|
|
1
|
+
export { runGithubMatrixGenerator } from '../GFKRACRT.js';
|
|
2
|
+
import '../E35WFC4E.js';
|
|
3
|
+
import '../KN3TRHEZ.js';
|
|
4
|
+
import '../TMIYMQW3.js';
|
|
5
|
+
import '../GIFXFMSS.js';
|
|
5
6
|
import '../3XEUJAQB.js';
|
|
6
7
|
import '../CWKWODSW.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/github/matrix.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { generateGithubMatrix } from '../
|
|
2
|
-
import '../
|
|
3
|
-
import '../
|
|
1
|
+
export { generateGithubMatrix } from '../E35WFC4E.js';
|
|
2
|
+
import '../KN3TRHEZ.js';
|
|
3
|
+
import '../TMIYMQW3.js';
|
|
4
|
+
import '../GIFXFMSS.js';
|
|
4
5
|
import '../3XEUJAQB.js';
|
|
5
6
|
import '../CWKWODSW.js';
|
|
6
7
|
//# sourceMappingURL=matrix.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './cli';
|
|
2
|
-
export type { EnvironmentVariable, Image, Tool, VersionCombination, VolumeMapping } from './config';
|
|
3
|
-
export { DockerRegistryMirror } from './config';
|
|
2
|
+
export type { DockerPlatformOverride, DockerPlatformValue, EnvironmentVariable, Image, Tool, VersionCombination, VolumeMapping, } from './config';
|
|
3
|
+
export { CARGO_TARGET_CACHE_PATH, DOCKER_PLATFORM_NATIVE, DOCKER_PLATFORM_OVERRIDE_VALUES, DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION, DOCKER_PLATFORM_VALUES, DockerRegistryMirror, isDockerPlatformOverride, } from './config';
|
|
4
4
|
export type * from './context';
|
|
5
5
|
export * from './core';
|
|
6
6
|
export type * from './core/tool-executor';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,YAAY,EACR,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,EACL,IAAI,EACJ,kBAAkB,EAClB,aAAa,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,2CAA2C,EAC3C,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,UAAU,CAAC;AAClB,mBAAmB,WAAW,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,mBAAmB,sBAAsB,CAAC;AAC1C,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
export { runGithubMatrixGenerator } from './
|
|
2
|
-
import './
|
|
3
|
-
export { runCli } from './
|
|
1
|
+
export { runGithubMatrixGenerator } from './GFKRACRT.js';
|
|
2
|
+
import './E35WFC4E.js';
|
|
3
|
+
export { runCli } from './GMN3ZEOV.js';
|
|
4
4
|
import './CAPBDIIE.js';
|
|
5
5
|
import './QH3FM6DD.js';
|
|
6
6
|
import './S7YAUZ26.js';
|
|
7
|
-
export { testTools } from './
|
|
8
|
-
import './
|
|
9
|
-
export { executeToolCommand } from './
|
|
7
|
+
export { testTools } from './EY2G7NK4.js';
|
|
8
|
+
import './2MO4PR4P.js';
|
|
9
|
+
export { executeToolCommand, mergeToolEnv, resolveCargoCacheEnv } from './HN2JUVAX.js';
|
|
10
10
|
import './2XGBQPKA.js';
|
|
11
|
+
export { executeLocally } from './HC7LYTHL.js';
|
|
12
|
+
import './4SFAVHVD.js';
|
|
11
13
|
export { resolveTypeVersions } from './6L6NUQMM.js';
|
|
12
|
-
import './
|
|
13
|
-
export { DockerRegistryMirror } from './
|
|
14
|
+
import './KN3TRHEZ.js';
|
|
15
|
+
export { CARGO_TARGET_CACHE_PATH, DOCKER_PLATFORM_NATIVE, DOCKER_PLATFORM_OVERRIDE_VALUES, DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION, DOCKER_PLATFORM_VALUES, DockerRegistryMirror, isDockerPlatformOverride } from './TMIYMQW3.js';
|
|
16
|
+
import './GIFXFMSS.js';
|
|
14
17
|
export { findFileInParentDirectory } from './UBUQDI5Q.js';
|
|
15
18
|
import './3XEUJAQB.js';
|
|
16
|
-
import './4SFAVHVD.js';
|
|
17
19
|
import { init_esm_shims } from './CWKWODSW.js';
|
|
18
20
|
|
|
19
21
|
// src/index.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,cAAA,EAAA","file":"index.js","sourcesContent":["export * from './cli';\nexport type {\n DockerPlatformOverride,\n DockerPlatformValue,\n EnvironmentVariable,\n Image,\n Tool,\n VersionCombination,\n VolumeMapping,\n} from './config';\nexport {\n CARGO_TARGET_CACHE_PATH,\n DOCKER_PLATFORM_NATIVE,\n DOCKER_PLATFORM_OVERRIDE_VALUES,\n DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION,\n DOCKER_PLATFORM_VALUES,\n DockerRegistryMirror,\n isDockerPlatformOverride,\n} from './config';\nexport type * from './context';\nexport * from './core';\nexport type * from './core/tool-executor';\nexport * from './github';\nexport * from './test';\nexport { findFileInParentDirectory } from './utils';\n"]}
|
package/dist/test.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { testTools } from './
|
|
2
|
-
import './
|
|
3
|
-
import './
|
|
1
|
+
export { testTools } from './EY2G7NK4.js';
|
|
2
|
+
import './KN3TRHEZ.js';
|
|
3
|
+
import './TMIYMQW3.js';
|
|
4
|
+
import './GIFXFMSS.js';
|
|
4
5
|
import './3XEUJAQB.js';
|
|
5
6
|
import './CWKWODSW.js';
|
|
6
7
|
//# sourceMappingURL=test.js.map
|
package/dist/utils/docker.d.ts
CHANGED
|
@@ -1,7 +1,34 @@
|
|
|
1
|
-
import type { Image, VolumeMapping } from '../config';
|
|
1
|
+
import type { DockerPlatformOverride, DockerPlatformValue, Image, VolumeMapping } from '../config';
|
|
2
2
|
import type { ChainContext } from '../context';
|
|
3
|
-
export
|
|
3
|
+
export interface DockerPlatform {
|
|
4
|
+
/** Raw value, e.g. `linux/amd64`, for Docker `--platform`. */
|
|
5
|
+
value: string;
|
|
6
|
+
/** Filesystem-safe token for cache volume names, e.g. `linux-amd64`. */
|
|
7
|
+
namespace: string;
|
|
8
|
+
/** Architecture as `docker inspect --format {{.Architecture}}` reports it, e.g. `amd64`. */
|
|
9
|
+
arch: string;
|
|
10
|
+
}
|
|
11
|
+
export type DockerProcessEnv = Record<string, string | undefined>;
|
|
12
|
+
export interface QualifyVolumeNameOptions {
|
|
13
|
+
cacheKey?: string;
|
|
14
|
+
dockerPlatform?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DockerPlatformResolutionOptions {
|
|
17
|
+
dockerPlatform?: DockerPlatformOverride;
|
|
18
|
+
toolDockerPlatform?: DockerPlatformValue;
|
|
19
|
+
envDockerPlatform?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface DockerPlatformExecution {
|
|
22
|
+
platform?: DockerPlatform;
|
|
23
|
+
args: string[];
|
|
24
|
+
processEnv?: DockerProcessEnv;
|
|
25
|
+
volumeNameOptions: QualifyVolumeNameOptions;
|
|
26
|
+
}
|
|
27
|
+
export declare const resolveDockerPlatform: (dockerPlatform?: string) => DockerPlatform | undefined;
|
|
28
|
+
export declare const resolveEffectiveDockerPlatformValue: ({ dockerPlatform, toolDockerPlatform, envDockerPlatform, }: DockerPlatformResolutionOptions) => string | undefined;
|
|
29
|
+
export declare const resolveDockerPlatformExecution: (options: DockerPlatformResolutionOptions) => DockerPlatformExecution;
|
|
30
|
+
export declare const findImageForTool: <TImageId extends string>(context: ChainContext<TImageId>, toolName: string, version: string) => Image;
|
|
4
31
|
export declare const getImageUri: (image: Image) => Promise<string>;
|
|
5
32
|
export declare const getImageTag: ({ versions, patch }: Image) => string;
|
|
6
|
-
export declare const qualifyVolumeName: (volume: VolumeMapping) => VolumeMapping;
|
|
33
|
+
export declare const qualifyVolumeName: (volume: VolumeMapping, { cacheKey, dockerPlatform }?: QualifyVolumeNameOptions) => VolumeMapping;
|
|
7
34
|
//# sourceMappingURL=docker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/utils/docker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/utils/docker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,WAAW,cAAc;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC5C,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,iBAAiB,EAAE,wBAAwB,CAAC;CAC/C;AAED,eAAO,MAAM,qBAAqB,GAAI,iBAAiB,MAAM,KAAG,cAAc,GAAG,SAahF,CAAC;AAQF,eAAO,MAAM,mCAAmC,GAAI,4DAIjD,+BAA+B,KAAG,MAAM,GAAG,SAM7C,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACvC,SAAS,+BAA+B,KACzC,uBAoBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,MAAM,EACpD,SAAS,YAAY,CAAC,QAAQ,CAAC,EAC/B,UAAU,MAAM,EAChB,SAAS,MAAM,KAChB,KAsBF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,MAAM,CAK1D,CAAC;AAEN,eAAO,MAAM,WAAW,GAAI,qBAAqB,KAAK,KAAG,MACoC,CAAC;AAE9F,eAAO,MAAM,iBAAiB,GAC1B,QAAQ,aAAa,EACrB,+BAA8B,wBAE7B,KACF,aA6BF,CAAC"}
|
package/dist/utils/docker.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { getImageTag, getImageUri,
|
|
2
|
-
import '../
|
|
1
|
+
export { findImageForTool, getImageTag, getImageUri, qualifyVolumeName, resolveDockerPlatform, resolveDockerPlatformExecution, resolveEffectiveDockerPlatformValue } from '../KN3TRHEZ.js';
|
|
2
|
+
import '../TMIYMQW3.js';
|
|
3
|
+
import '../GIFXFMSS.js';
|
|
3
4
|
import '../3XEUJAQB.js';
|
|
4
5
|
import '../CWKWODSW.js';
|
|
5
6
|
//# sourceMappingURL=docker.js.map
|