diff --git a/src/main.ts b/src/main.ts index b99b9fb..deb56ef 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,6 +4,7 @@ import * as core from '@actions/core'; import * as exec from '@actions/exec'; import * as actionsToolkit from '@docker/actions-toolkit'; import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx'; +import {Builder} from '@docker/actions-toolkit/lib/buildx/builder'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; import {Util} from '@docker/actions-toolkit/lib/util'; @@ -173,16 +174,21 @@ actionsToolkit.run( if (stateHelper.builderDriver != 'docker' && stateHelper.builderName.length > 0) { await core.group(`Removing builder`, async () => { const buildx = new Buildx({standalone: stateHelper.standalone}); - const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName]); - await exec - .getExecOutput(rmCmd.command, rmCmd.args, { - ignoreReturnCode: true - }) - .then(res => { - if (res.stderr.length > 0 && res.exitCode != 0) { - core.warning(res.stderr.trim()); - } - }); + const builder = new Builder({buildx: buildx}); + if (await builder.exists(stateHelper.builderName)) { + const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName]); + await exec + .getExecOutput(rmCmd.command, rmCmd.args, { + ignoreReturnCode: true + }) + .then(res => { + if (res.stderr.length > 0 && res.exitCode != 0) { + core.warning(res.stderr.trim()); + } + }); + } else { + core.info(`${stateHelper.builderName} does not exist`); + } }); }