get output from local-docker
parent
e5b58d1898
commit
14a832395b
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
if (options !== false) {
|
||||||
|
options.silent = silent;
|
||||||
|
yield exec_1.exec(runCommand, undefined, options);
|
||||||
|
}
|
||||||
|
else {
|
||||||
yield exec_1.exec(runCommand, undefined, { silent });
|
yield exec_1.exec(runCommand, undefined, { silent });
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static getLinuxCommand(image, parameters, overrideCommands = '') {
|
static getLinuxCommand(image, parameters, overrideCommands = '') {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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}`);
|
||||||
|
|
|
||||||
|
|
@ -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,8 +13,13 @@ class Docker {
|
||||||
case 'win32':
|
case 'win32':
|
||||||
runCommand = this.getWindowsCommand(image, parameters);
|
runCommand = this.getWindowsCommand(image, parameters);
|
||||||
}
|
}
|
||||||
|
if (options !== false) {
|
||||||
|
options.silent = silent;
|
||||||
|
await exec(runCommand, undefined, options);
|
||||||
|
} else {
|
||||||
await exec(runCommand, undefined, { silent });
|
await exec(runCommand, undefined, { silent });
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static getLinuxCommand(image, parameters, overrideCommands = ''): string {
|
static getLinuxCommand(image, parameters, overrideCommands = ''): string {
|
||||||
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
const { workspace, actionFolder, runnerTempPath, sshAgent, gitPrivateToken } = parameters;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue