skip builder creation if one already exists with the same name

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2025-06-13 18:26:47 +02:00
parent 548b297749
commit 6c5e29d848
No known key found for this signature in database
GPG Key ID: ADE44D8C9D44FBE4

View File

@ -124,22 +124,26 @@ actionsToolkit.run(
if (inputs.driver !== 'docker') { if (inputs.driver !== 'docker') {
await core.group(`Creating a new builder instance`, async () => { await core.group(`Creating a new builder instance`, async () => {
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, { if (await toolkit.builder.exists(inputs.name)) {
cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`], core.info(`Builder ${inputs.name} already exists, skipping creation`);
cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`], } else {
key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`] const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
}); cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
if (certsDriverOpts.length > 0) { cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts]; key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`]
} });
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit)); if (certsDriverOpts.length > 0) {
await Exec.getExecOutput(createCmd.command, createCmd.args, { inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
} }
}); const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
await Exec.getExecOutput(createCmd.command, createCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
}
}); });
} }