get output from local-docker

pull/461/head
Frostebite 2022-09-19 01:13:27 +01:00
parent e5b58d1898
commit 14a832395b
6 changed files with 44 additions and 11 deletions

24
dist/index.js vendored
View File

@ -3620,8 +3620,18 @@ class LocalDockerCloudRunner {
cloud_runner_logger_1.default.log(buildGuid); cloud_runner_logger_1.default.log(buildGuid);
cloud_runner_logger_1.default.log(commands); cloud_runner_logger_1.default.log(commands);
const { workspace, actionFolder } = model_1.Action; const { workspace, actionFolder } = model_1.Action;
yield docker_1.default.run(image, Object.assign({ workspace, actionFolder }, cloud_runner_1.default.buildParameters), false, commands); let myOutput = '';
return ''; let myError = '';
yield docker_1.default.run(image, Object.assign({ workspace, actionFolder }, cloud_runner_1.default.buildParameters), false, commands, {
stdout: (data) => {
myOutput += data.toString();
},
stderr: (data) => {
myError += data.toString();
throw new Error(myError);
},
});
return myOutput;
}); });
} }
} }
@ -5062,7 +5072,7 @@ const image_environment_factory_1 = __importDefault(__nccwpck_require__(25145));
const fs_1 = __nccwpck_require__(57147); const fs_1 = __nccwpck_require__(57147);
const path_1 = __importDefault(__nccwpck_require__(71017)); const path_1 = __importDefault(__nccwpck_require__(71017));
class Docker { class Docker {
static run(image, parameters, silent = false, overrideCommands = '') { static run(image, parameters, silent = false, overrideCommands = '', options = false) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
let runCommand = ''; let runCommand = '';
switch (process.platform) { switch (process.platform) {
@ -5072,7 +5082,13 @@ class Docker {
case 'win32': case 'win32':
runCommand = this.getWindowsCommand(image, parameters); runCommand = this.getWindowsCommand(image, parameters);
} }
yield exec_1.exec(runCommand, undefined, { silent }); if (options !== false) {
options.silent = silent;
yield exec_1.exec(runCommand, undefined, options);
}
else {
yield exec_1.exec(runCommand, undefined, { silent });
}
}); });
} }
static getLinuxCommand(image, parameters, overrideCommands = '') { static getLinuxCommand(image, parameters, overrideCommands = '') {

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -62,9 +62,19 @@ class LocalDockerCloudRunner implements ProviderInterface {
CloudRunnerLogger.log(commands); CloudRunnerLogger.log(commands);
const { workspace, actionFolder } = Action; const { workspace, actionFolder } = Action;
await Docker.run(image, { workspace, actionFolder, ...CloudRunner.buildParameters }, false, commands); let myOutput = '';
let myError = '';
await Docker.run(image, { workspace, actionFolder, ...CloudRunner.buildParameters }, false, commands, {
stdout: (data: Buffer) => {
myOutput += data.toString();
},
stderr: (data: Buffer) => {
myError += data.toString();
throw new Error(myError);
},
});
return ''; return myOutput;
} }
} }
export default LocalDockerCloudRunner; export default LocalDockerCloudRunner;

View File

@ -44,7 +44,9 @@ describe('Cloud Runner', () => {
const file = await CloudRunner.run(buildParameter, baseImage.toString()); const file = await CloudRunner.run(buildParameter, baseImage.toString());
// Assert results // Assert results
expect(file).toContain(JSON.stringify(buildParameter)); for (const element of Object.keys(buildParameter)) {
expect(file).toContain(`PARAM-${Input.ToEnvVarFormat(element)}=${buildParameter[element]}`);
}
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`); expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);
const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter); const environmentVariables = TaskParameterSerializer.readBuildEnvironmentVariables(buildParameter);
const newLinePurgedFile = file const newLinePurgedFile = file

View File

@ -54,7 +54,7 @@ describe('Cloud Runner', () => {
// expect(file).toContain(JSON.stringify(buildParameter)); // expect(file).toContain(JSON.stringify(buildParameter));
for (const element of Object.keys(buildParameter)) { for (const element of Object.keys(buildParameter)) {
expect(file).toContain(`${element}=${buildParameter[element]}`); expect(file).toContain(`PARAM-${Input.ToEnvVarFormat(element)}=${buildParameter[element]}`);
} }
expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`); expect(file).toContain(`${Input.ToEnvVarFormat(testSecretName)}=${testSecretValue}`);

View File

@ -4,7 +4,7 @@ import { existsSync, mkdirSync } from 'fs';
import path from 'path'; import path from 'path';
class Docker { class Docker {
static async run(image, parameters, silent = false, overrideCommands = '') { static async run(image, parameters, silent = false, overrideCommands = '', options: any = false) {
let runCommand = ''; let runCommand = '';
switch (process.platform) { switch (process.platform) {
case 'linux': case 'linux':
@ -13,7 +13,12 @@ class Docker {
case 'win32': case 'win32':
runCommand = this.getWindowsCommand(image, parameters); runCommand = this.getWindowsCommand(image, parameters);
} }
await exec(runCommand, undefined, { silent }); if (options !== false) {
options.silent = silent;
await exec(runCommand, undefined, options);
} else {
await exec(runCommand, undefined, { silent });
}
} }
static getLinuxCommand(image, parameters, overrideCommands = ''): string { static getLinuxCommand(image, parameters, overrideCommands = ''): string {