Compare commits
4 Commits
3fb92cd48b
...
c0b134dca8
Author | SHA1 | Date |
---|---|---|
dependabot[bot] | c0b134dca8 | |
Tõnis Tiigi | a530e948ad | |
CrazyMax | 28ecb964cd | |
CrazyMax | dc25d8b2ee |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -26,8 +26,7 @@
|
|||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.10.1",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@docker/actions-toolkit": "^0.20.0",
|
||||
"@docker/actions-toolkit": "^0.21.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"uuid": "^9.0.1"
|
||||
},
|
||||
|
|
66
src/main.ts
66
src/main.ts
|
@ -1,11 +1,11 @@
|
|||
import * as fs from 'fs';
|
||||
import * as yaml from 'js-yaml';
|
||||
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 {Exec} from '@docker/actions-toolkit/lib/exec';
|
||||
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
|
||||
import {Util} from '@docker/actions-toolkit/lib/util';
|
||||
import {Node} from '@docker/actions-toolkit/lib/types/builder';
|
||||
|
@ -77,7 +77,13 @@ actionsToolkit.run(
|
|||
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
|
||||
}
|
||||
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
|
||||
await exec.exec(createCmd.command, createCmd.args);
|
||||
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');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -95,7 +101,13 @@ actionsToolkit.run(
|
|||
node['driver-opts'] = [...(node['driver-opts'] || []), ...certsDriverOpts];
|
||||
}
|
||||
const appendCmd = await toolkit.buildx.getCommand(await context.getAppendArgs(inputs, node, toolkit));
|
||||
await exec.exec(appendCmd.command, appendCmd.args);
|
||||
await Exec.getExecOutput(appendCmd.command, appendCmd.args, {
|
||||
ignoreReturnCode: true
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
throw new Error(`Failed to append node ${node.name}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
||||
}
|
||||
});
|
||||
nodeIndex++;
|
||||
}
|
||||
});
|
||||
|
@ -103,7 +115,13 @@ actionsToolkit.run(
|
|||
|
||||
await core.group(`Booting builder`, async () => {
|
||||
const inspectCmd = await toolkit.buildx.getCommand(await context.getInspectArgs(inputs, toolkit));
|
||||
await exec.exec(inspectCmd.command, inspectCmd.args);
|
||||
await Exec.getExecOutput(inspectCmd.command, inspectCmd.args, {
|
||||
ignoreReturnCode: true
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (inputs.install) {
|
||||
|
@ -112,7 +130,13 @@ actionsToolkit.run(
|
|||
}
|
||||
await core.group(`Setting buildx as default builder`, async () => {
|
||||
const installCmd = await toolkit.buildx.getCommand(['install']);
|
||||
await exec.exec(installCmd.command, installCmd.args);
|
||||
await Exec.getExecOutput(installCmd.command, installCmd.args, {
|
||||
ignoreReturnCode: true
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -155,15 +179,13 @@ actionsToolkit.run(
|
|||
async () => {
|
||||
if (stateHelper.IsDebug && stateHelper.containerName.length > 0) {
|
||||
await core.group(`BuildKit container logs`, async () => {
|
||||
await exec
|
||||
.getExecOutput('docker', ['logs', `${stateHelper.containerName}`], {
|
||||
ignoreReturnCode: true
|
||||
})
|
||||
.then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
core.warning(res.stderr.trim());
|
||||
}
|
||||
});
|
||||
await Exec.getExecOutput('docker', ['logs', `${stateHelper.containerName}`], {
|
||||
ignoreReturnCode: true
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -177,15 +199,13 @@ actionsToolkit.run(
|
|||
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());
|
||||
}
|
||||
});
|
||||
await Exec.getExecOutput(rmCmd.command, rmCmd.args, {
|
||||
ignoreReturnCode: true
|
||||
}).then(res => {
|
||||
if (res.stderr.length > 0 && res.exitCode != 0) {
|
||||
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
core.info(`${stateHelper.builderName} does not exist`);
|
||||
}
|
||||
|
|
18
yarn.lock
18
yarn.lock
|
@ -765,10 +765,10 @@
|
|||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@docker/actions-toolkit@^0.20.0":
|
||||
version "0.20.0"
|
||||
resolved "https://registry.yarnpkg.com/@docker/actions-toolkit/-/actions-toolkit-0.20.0.tgz#9619ff5da7f282e02e22509a5f2f1d707d4437fe"
|
||||
integrity sha512-oAHSQnWjEyRGmGXePt5A/rZG76U/gddQWF/JmD8lZQOL5WZ7WgfUd2MucOaxq3cd66rMew+iwkfqDzFJQewQQw==
|
||||
"@docker/actions-toolkit@^0.21.1":
|
||||
version "0.21.1"
|
||||
resolved "https://registry.yarnpkg.com/@docker/actions-toolkit/-/actions-toolkit-0.21.1.tgz#d4a4630d117dcb2f040e121e1f918c0b19ceebf8"
|
||||
integrity sha512-JPdPr9AesJQ47kRB+ylGdCxTisEL5ptOtqeGGtpXZjX7zb3S//2EmptiNDV+G5F2LrMvnCz67ZZGipf0LGDPJQ==
|
||||
dependencies:
|
||||
"@actions/cache" "^3.2.4"
|
||||
"@actions/core" "^1.10.1"
|
||||
|
@ -783,7 +783,7 @@
|
|||
csv-parse "^5.5.5"
|
||||
handlebars "^4.7.8"
|
||||
jwt-decode "^4.0.0"
|
||||
semver "^7.5.4"
|
||||
semver "^7.6.0"
|
||||
tmp "^0.2.3"
|
||||
|
||||
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
|
||||
|
@ -3678,10 +3678,10 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1:
|
|||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
||||
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
||||
|
||||
semver@^7.3.5, semver@^7.5.3, semver@^7.5.4:
|
||||
version "7.5.4"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
||||
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
||||
semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
|
||||
version "7.6.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
|
||||
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
|
|
Loading…
Reference in New Issue