Skip to content

Commit

Permalink
Merge pull request #404 from crazy-max/buildx-localstate-test
Browse files Browse the repository at this point in the history
buildx: extra test to ensure legit path is not trimmed for localstate
  • Loading branch information
crazy-max committed Jul 5, 2024
2 parents e49e07d + 3bd6acf commit d908ffc
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 6 deletions.
15 changes: 11 additions & 4 deletions __tests__/buildx/buildx.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,13 @@ describe('localState', () => {
DockerfilePath: ''
} as LocalState,
],
[
'default/default/dfsz8r57a98zf789pmlyzqp3n',
{
LocalPath: 'https://github.com/docker/actions-toolkit.git#:__tests__/fixtures',
DockerfilePath: 'hello.Dockerfile'
} as LocalState,
],
[
'default/default/w38vcd5fo5cfvfyig77qjec0v',
{
Expand All @@ -296,7 +303,7 @@ describe('localState', () => {
} as 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);
});
});
Expand All @@ -306,14 +313,14 @@ describe('refs', () => {
const refs = Buildx.refs({
dir: path.join(fixturesDir, 'buildx-refs')
});
expect(Object.keys(refs).length).toEqual(16);
expect(Object.keys(refs).length).toEqual(17);
});
it('returns default builder refs', async () => {
const refs = Buildx.refs({
dir: path.join(fixturesDir, 'buildx-refs'),
builderName: 'default'
});
expect(Object.keys(refs).length).toEqual(13);
expect(Object.keys(refs).length).toEqual(14);
});
it('returns foo builder refs', async () => {
const refs = Buildx.refs({
Expand All @@ -332,6 +339,6 @@ describe('refs', () => {
builderName: 'default',
since: new Date('2024-01-10T00:00:00Z')
});
expect(Object.keys(refs).length).toEqual(10);
expect(Object.keys(refs).length).toEqual(11);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"LocalPath":"https://github.com/docker/actions-toolkit.git#:__tests__/fixtures","DockerfilePath":"hello.Dockerfile"}
4 changes: 2 additions & 2 deletions src/buildx/buildx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,12 @@ export class Buildx {
return driverOpts;
}

public static localState(dir: string, ref: string): LocalState {
public static localState(ref: string, dir?: string): LocalState {
const [builderName, nodeName, id] = ref.split('/');
if (!builderName || !nodeName || !id) {
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)) {
throw new Error(`Local state not found in ${lsPath}`);
}
Expand Down

0 comments on commit d908ffc

Please sign in to comment.