Skip to content

Commit 6c5e29d

Browse files
committed
skip builder creation if one already exists with the same name
Signed-off-by: CrazyMax <[email protected]>
1 parent 548b297 commit 6c5e29d

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

src/main.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -124,22 +124,26 @@ actionsToolkit.run(
124124

125125
if (inputs.driver !== 'docker') {
126126
await core.group(`Creating a new builder instance`, async () => {
127-
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
128-
cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
129-
cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
130-
key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`]
131-
});
132-
if (certsDriverOpts.length > 0) {
133-
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
134-
}
135-
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
136-
await Exec.getExecOutput(createCmd.command, createCmd.args, {
137-
ignoreReturnCode: true
138-
}).then(res => {
139-
if (res.stderr.length > 0 && res.exitCode != 0) {
140-
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
127+
if (await toolkit.builder.exists(inputs.name)) {
128+
core.info(`Builder ${inputs.name} already exists, skipping creation`);
129+
} else {
130+
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
131+
cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
132+
cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
133+
key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`]
134+
});
135+
if (certsDriverOpts.length > 0) {
136+
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
141137
}
142-
});
138+
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
139+
await Exec.getExecOutput(createCmd.command, createCmd.args, {
140+
ignoreReturnCode: true
141+
}).then(res => {
142+
if (res.stderr.length > 0 && res.exitCode != 0) {
143+
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
144+
}
145+
});
146+
}
143147
});
144148
}
145149

0 commit comments

Comments
 (0)