Remote CLI logging improvements
parent
2ba26e5364
commit
bc13256996
|
|
@ -679,7 +679,7 @@ class AWSBuildRunner {
|
||||||
const json = JSON.parse(zlib.gunzipSync(Buffer.from(records.Records[index].Data, 'base64')).toString('utf8'));
|
const json = JSON.parse(zlib.gunzipSync(Buffer.from(records.Records[index].Data, 'base64')).toString('utf8'));
|
||||||
if (json.messageType === 'DATA_MESSAGE') {
|
if (json.messageType === 'DATA_MESSAGE') {
|
||||||
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
|
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
|
||||||
const message = json.logEvents[logEventsIndex].message;
|
let message = json.logEvents[logEventsIndex].message;
|
||||||
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
|
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
|
||||||
cloud_runner_logger_1.default.log('End of cloud runner job logs');
|
cloud_runner_logger_1.default.log('End of cloud runner job logs');
|
||||||
readingLogs = false;
|
readingLogs = false;
|
||||||
|
|
@ -687,6 +687,7 @@ class AWSBuildRunner {
|
||||||
else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
|
else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
|
||||||
core.warning('LIBRARY NOT FOUND!');
|
core.warning('LIBRARY NOT FOUND!');
|
||||||
}
|
}
|
||||||
|
message = `[Cloud-Runner-Agent] ${message}`;
|
||||||
if (cloud_runner_state_1.CloudRunnerState.buildParams.logToFile) {
|
if (cloud_runner_state_1.CloudRunnerState.buildParams.logToFile) {
|
||||||
fs_1.default.appendFileSync(`${cloud_runner_state_1.CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
fs_1.default.appendFileSync(`${cloud_runner_state_1.CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
||||||
}
|
}
|
||||||
|
|
@ -1620,10 +1621,12 @@ class KubernetesLogging {
|
||||||
let didStreamAnyLogs = false;
|
let didStreamAnyLogs = false;
|
||||||
stream._write = (chunk, encoding, next) => {
|
stream._write = (chunk, encoding, next) => {
|
||||||
didStreamAnyLogs = true;
|
didStreamAnyLogs = true;
|
||||||
|
let message = chunk.toString();
|
||||||
|
message = `[Cloud-Runner-Agent] ${message}`;
|
||||||
if (cloud_runner_state_1.CloudRunnerState.buildParams.logToFile) {
|
if (cloud_runner_state_1.CloudRunnerState.buildParams.logToFile) {
|
||||||
fs_1.default.appendFileSync(`${cloud_runner_state_1.CloudRunnerState.buildGuid}-outputfile.txt`, `${chunk.toString()}\r\n`);
|
fs_1.default.appendFileSync(`${cloud_runner_state_1.CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
||||||
}
|
}
|
||||||
logCallback(chunk.toString());
|
logCallback(message);
|
||||||
next();
|
next();
|
||||||
};
|
};
|
||||||
const logOptions = {
|
const logOptions = {
|
||||||
|
|
@ -2183,13 +2186,13 @@ class RunCli {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI][ERROR] ${error.message}`);
|
console.log(`[Remote-CLI][ERROR] ${error.message}`);
|
||||||
promise(error.message);
|
promise(error.message);
|
||||||
return;
|
throw error;
|
||||||
}
|
}
|
||||||
if (stderr) {
|
if (stderr) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI][STD-ERROR] ${stderr}`);
|
console.log(`[Remote-CLI][STD-ERROR] ${stderr}`);
|
||||||
promise(stderr);
|
promise(stderr);
|
||||||
return;
|
throw stderr;
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI] ${stdout}`);
|
console.log(`[Remote-CLI] ${stdout}`);
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -171,13 +171,14 @@ class AWSBuildRunner {
|
||||||
);
|
);
|
||||||
if (json.messageType === 'DATA_MESSAGE') {
|
if (json.messageType === 'DATA_MESSAGE') {
|
||||||
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
|
for (let logEventsIndex = 0; logEventsIndex < json.logEvents.length; logEventsIndex++) {
|
||||||
const message = json.logEvents[logEventsIndex].message;
|
let message = json.logEvents[logEventsIndex].message;
|
||||||
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
|
if (json.logEvents[logEventsIndex].message.includes(taskDef.logid)) {
|
||||||
CloudRunnerLogger.log('End of cloud runner job logs');
|
CloudRunnerLogger.log('End of cloud runner job logs');
|
||||||
readingLogs = false;
|
readingLogs = false;
|
||||||
} else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
|
} else if (message.includes('Rebuilding Library because the asset database could not be found!')) {
|
||||||
core.warning('LIBRARY NOT FOUND!');
|
core.warning('LIBRARY NOT FOUND!');
|
||||||
}
|
}
|
||||||
|
message = `[Cloud-Runner-Agent] ${message}`;
|
||||||
if (CloudRunnerState.buildParams.logToFile) {
|
if (CloudRunnerState.buildParams.logToFile) {
|
||||||
fs.appendFileSync(`${CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
fs.appendFileSync(`${CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,9 @@ describe('Cloud Runner', () => {
|
||||||
const inputKeys = Object.getOwnPropertyNames(Input);
|
const inputKeys = Object.getOwnPropertyNames(Input);
|
||||||
for (const element of inputKeys) {
|
for (const element of inputKeys) {
|
||||||
if (Input[element] !== undefined && typeof Input[element] != 'function') {
|
if (Input[element] !== undefined && typeof Input[element] != 'function') {
|
||||||
expect(file.replace(/\s+/g, '')).toContain(`${element}=${Input[element].toString().replace(/\s+/g, '')}`);
|
expect(file.replace(/\s+/g, '').replace(`[Cloud-Runner-Agent]`, ``)).toContain(
|
||||||
|
`${element}=${Input[element].toString().replace(/\s+/g, '')}`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,12 @@ class KubernetesLogging {
|
||||||
let didStreamAnyLogs: boolean = false;
|
let didStreamAnyLogs: boolean = false;
|
||||||
stream._write = (chunk, encoding, next) => {
|
stream._write = (chunk, encoding, next) => {
|
||||||
didStreamAnyLogs = true;
|
didStreamAnyLogs = true;
|
||||||
|
let message = chunk.toString();
|
||||||
|
message = `[Cloud-Runner-Agent] ${message}`;
|
||||||
if (CloudRunnerState.buildParams.logToFile) {
|
if (CloudRunnerState.buildParams.logToFile) {
|
||||||
fs.appendFileSync(`${CloudRunnerState.buildGuid}-outputfile.txt`, `${chunk.toString()}\r\n`);
|
fs.appendFileSync(`${CloudRunnerState.buildGuid}-outputfile.txt`, `${message}\r\n`);
|
||||||
}
|
}
|
||||||
logCallback(chunk.toString());
|
logCallback(message);
|
||||||
next();
|
next();
|
||||||
};
|
};
|
||||||
const logOptions = {
|
const logOptions = {
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,13 @@ export class RunCli {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI][ERROR] ${error.message}`);
|
console.log(`[Remote-CLI][ERROR] ${error.message}`);
|
||||||
promise(error.message);
|
promise(error.message);
|
||||||
return;
|
throw error;
|
||||||
}
|
}
|
||||||
if (stderr) {
|
if (stderr) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI][STD-ERROR] ${stderr}`);
|
console.log(`[Remote-CLI][STD-ERROR] ${stderr}`);
|
||||||
promise(stderr);
|
promise(stderr);
|
||||||
return;
|
throw stderr;
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
console.log(`[Remote-CLI] ${stdout}`);
|
console.log(`[Remote-CLI] ${stdout}`);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue