buildx: make refs dir optional in localState func

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2024-07-05 16:18:20 +02:00
parent 5b4c1ac025
commit 3bd6acf499
No known key found for this signature in database
GPG Key ID: ADE44D8C9D44FBE4
2 changed files with 3 additions and 3 deletions

View File

@ -303,7 +303,7 @@ describe('localState', () => {
} as LocalState, } as LocalState,
] ]
])('given %p', async (ref: string, expected: LocalState) => { ])('given %p', async (ref: string, expected: LocalState) => {
const localState = Buildx.localState(path.join(fixturesDir, 'buildx-refs'), ref); const localState = Buildx.localState(ref, path.join(fixturesDir, 'buildx-refs'));
expect(localState).toEqual(expected); expect(localState).toEqual(expected);
}); });
}); });

View File

@ -177,12 +177,12 @@ export class Buildx {
return driverOpts; return driverOpts;
} }
public static localState(dir: string, ref: string): LocalState { public static localState(ref: string, dir?: string): LocalState {
const [builderName, nodeName, id] = ref.split('/'); const [builderName, nodeName, id] = ref.split('/');
if (!builderName || !nodeName || !id) { if (!builderName || !nodeName || !id) {
throw new Error(`Invalid build reference: ${ref}`); throw new Error(`Invalid build reference: ${ref}`);
} }
const lsPath = path.join(dir, builderName, nodeName, id); const lsPath = path.join(dir || Buildx.refsDir, builderName, nodeName, id);
if (!fs.existsSync(lsPath)) { if (!fs.existsSync(lsPath)) {
throw new Error(`Local state not found in ${lsPath}`); throw new Error(`Local state not found in ${lsPath}`);
} }