Skip to content

Commit

Permalink
Merge pull request #218 from crazy-max/fix-builder-removal
Browse files Browse the repository at this point in the history
do not remove builder using the docker driver
  • Loading branch information
crazy-max authored Mar 10, 2023
2 parents f549413 + b7471d4 commit eb27bcb
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 13 deletions.
2 changes: 1 addition & 1 deletion dist/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

29 changes: 18 additions & 11 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -60,6 +61,7 @@ actionsToolkit.run(

core.setOutput('name', inputs.name);
stateHelper.setBuilderName(inputs.name);
stateHelper.setBuilderDriver(inputs.driver);

fs.mkdirSync(Buildx.certsDir, {recursive: true});
stateHelper.setCertsDir(Buildx.certsDir);
Expand Down Expand Up @@ -169,19 +171,24 @@ actionsToolkit.run(
return;
}

if (stateHelper.builderName.length > 0) {
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`);
}
});
}

Expand Down
5 changes: 5 additions & 0 deletions src/state-helper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import * as core from '@actions/core';
export const IsDebug = !!process.env['STATE_isDebug'];
export const standalone = /true/i.test(process.env['STATE_standalone'] || '');
export const builderName = process.env['STATE_builderName'] || '';
export const builderDriver = process.env['STATE_builderDriver'] || '';
export const containerName = process.env['STATE_containerName'] || '';
export const certsDir = process.env['STATE_certsDir'] || '';
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
Expand All @@ -19,6 +20,10 @@ export function setBuilderName(builderName: string) {
core.saveState('builderName', builderName);
}

export function setBuilderDriver(builderDriver: string) {
core.saveState('builderDriver', builderDriver);
}

export function setContainerName(containerName: string) {
core.saveState('containerName', containerName);
}
Expand Down

0 comments on commit eb27bcb

Please sign in to comment.