mirror of
https://github.com/docker/setup-buildx-action.git
synced 2024-11-15 16:13:51 +08:00
Merge pull request #218 from crazy-max/fix-builder-removal
do not remove builder using the docker driver
This commit is contained in:
commit
eb27bcbef3
2
dist/index.js
generated
vendored
2
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
29
src/main.ts
29
src/main.ts
@ -4,6 +4,7 @@ import * as core from '@actions/core';
|
|||||||
import * as exec from '@actions/exec';
|
import * as exec from '@actions/exec';
|
||||||
import * as actionsToolkit from '@docker/actions-toolkit';
|
import * as actionsToolkit from '@docker/actions-toolkit';
|
||||||
import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx';
|
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 {Docker} from '@docker/actions-toolkit/lib/docker/docker';
|
||||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
import {Util} from '@docker/actions-toolkit/lib/util';
|
||||||
@ -60,6 +61,7 @@ actionsToolkit.run(
|
|||||||
|
|
||||||
core.setOutput('name', inputs.name);
|
core.setOutput('name', inputs.name);
|
||||||
stateHelper.setBuilderName(inputs.name);
|
stateHelper.setBuilderName(inputs.name);
|
||||||
|
stateHelper.setBuilderDriver(inputs.driver);
|
||||||
|
|
||||||
fs.mkdirSync(Buildx.certsDir, {recursive: true});
|
fs.mkdirSync(Buildx.certsDir, {recursive: true});
|
||||||
stateHelper.setCertsDir(Buildx.certsDir);
|
stateHelper.setCertsDir(Buildx.certsDir);
|
||||||
@ -169,19 +171,24 @@ actionsToolkit.run(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stateHelper.builderName.length > 0) {
|
if (stateHelper.builderDriver != 'docker' && stateHelper.builderName.length > 0) {
|
||||||
await core.group(`Removing builder`, async () => {
|
await core.group(`Removing builder`, async () => {
|
||||||
const buildx = new Buildx({standalone: stateHelper.standalone});
|
const buildx = new Buildx({standalone: stateHelper.standalone});
|
||||||
const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName]);
|
const builder = new Builder({buildx: buildx});
|
||||||
await exec
|
if (await builder.exists(stateHelper.builderName)) {
|
||||||
.getExecOutput(rmCmd.command, rmCmd.args, {
|
const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName]);
|
||||||
ignoreReturnCode: true
|
await exec
|
||||||
})
|
.getExecOutput(rmCmd.command, rmCmd.args, {
|
||||||
.then(res => {
|
ignoreReturnCode: true
|
||||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
})
|
||||||
core.warning(res.stderr.trim());
|
.then(res => {
|
||||||
}
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||||
});
|
core.warning(res.stderr.trim());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
core.info(`${stateHelper.builderName} does not exist`);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ import * as core from '@actions/core';
|
|||||||
export const IsDebug = !!process.env['STATE_isDebug'];
|
export const IsDebug = !!process.env['STATE_isDebug'];
|
||||||
export const standalone = /true/i.test(process.env['STATE_standalone'] || '');
|
export const standalone = /true/i.test(process.env['STATE_standalone'] || '');
|
||||||
export const builderName = process.env['STATE_builderName'] || '';
|
export const builderName = process.env['STATE_builderName'] || '';
|
||||||
|
export const builderDriver = process.env['STATE_builderDriver'] || '';
|
||||||
export const containerName = process.env['STATE_containerName'] || '';
|
export const containerName = process.env['STATE_containerName'] || '';
|
||||||
export const certsDir = process.env['STATE_certsDir'] || '';
|
export const certsDir = process.env['STATE_certsDir'] || '';
|
||||||
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
|
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
|
||||||
@ -19,6 +20,10 @@ export function setBuilderName(builderName: string) {
|
|||||||
core.saveState('builderName', builderName);
|
core.saveState('builderName', builderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function setBuilderDriver(builderDriver: string) {
|
||||||
|
core.saveState('builderDriver', builderDriver);
|
||||||
|
}
|
||||||
|
|
||||||
export function setContainerName(containerName: string) {
|
export function setContainerName(containerName: string) {
|
||||||
core.saveState('containerName', containerName);
|
core.saveState('containerName', containerName);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user