pr feedback
parent
4f18c9c56e
commit
c61c9f8373
|
|
@ -31,6 +31,11 @@ export class RemoteClient {
|
||||||
const logFile = Cli.options!['logFile'];
|
const logFile = Cli.options!['logFile'];
|
||||||
process.stdin.resume();
|
process.stdin.resume();
|
||||||
process.stdin.setEncoding('utf8');
|
process.stdin.setEncoding('utf8');
|
||||||
|
|
||||||
|
// For K8s, ensure stdout is unbuffered so messages are captured immediately
|
||||||
|
if (CloudRunnerOptions.providerStrategy === 'k8s') {
|
||||||
|
process.stdout.setDefaultEncoding('utf8');
|
||||||
|
}
|
||||||
|
|
||||||
let lingeringLine = '';
|
let lingeringLine = '';
|
||||||
|
|
||||||
|
|
@ -44,8 +49,12 @@ export class RemoteClient {
|
||||||
// For K8s, write to both log file and stdout so kubectl logs can capture it
|
// For K8s, write to both log file and stdout so kubectl logs can capture it
|
||||||
if (CloudRunnerOptions.providerStrategy === 'k8s') {
|
if (CloudRunnerOptions.providerStrategy === 'k8s') {
|
||||||
fs.appendFileSync(logFile, element);
|
fs.appendFileSync(logFile, element);
|
||||||
// Write to stdout so kubectl logs can capture it
|
// Write to stdout so kubectl logs can capture it - ensure newline is included
|
||||||
process.stdout.write(`${element}\n`);
|
process.stdout.write(`${element}\n`);
|
||||||
|
// Force flush if possible
|
||||||
|
if (typeof process.stdout.flush === 'function') {
|
||||||
|
process.stdout.flush();
|
||||||
|
}
|
||||||
CloudRunnerLogger.log(element);
|
CloudRunnerLogger.log(element);
|
||||||
} else {
|
} else {
|
||||||
CloudRunnerLogger.log(element);
|
CloudRunnerLogger.log(element);
|
||||||
|
|
@ -58,6 +67,9 @@ export class RemoteClient {
|
||||||
if (lingeringLine) {
|
if (lingeringLine) {
|
||||||
fs.appendFileSync(logFile, lingeringLine);
|
fs.appendFileSync(logFile, lingeringLine);
|
||||||
process.stdout.write(`${lingeringLine}\n`);
|
process.stdout.write(`${lingeringLine}\n`);
|
||||||
|
if (typeof process.stdout.flush === 'function') {
|
||||||
|
process.stdout.flush();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CloudRunnerLogger.log(lingeringLine);
|
CloudRunnerLogger.log(lingeringLine);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -133,9 +145,14 @@ export class RemoteClient {
|
||||||
|
|
||||||
// Ensure success marker is present in logs for tests
|
// Ensure success marker is present in logs for tests
|
||||||
// For K8s, kubectl logs reads from stdout/stderr, so we must write to stdout
|
// For K8s, kubectl logs reads from stdout/stderr, so we must write to stdout
|
||||||
|
// Also ensure it's flushed immediately
|
||||||
const successMessage = `Activation successful`;
|
const successMessage = `Activation successful`;
|
||||||
// Write to stdout first so kubectl logs can capture it
|
// Write to stdout first so kubectl logs can capture it
|
||||||
process.stdout.write(`${successMessage}\n`);
|
process.stdout.write(`${successMessage}\n`);
|
||||||
|
// Force flush stdout to ensure it's captured
|
||||||
|
if (process.stdout.isTTY === false) {
|
||||||
|
process.stdout.write(''); // Trigger flush
|
||||||
|
}
|
||||||
// Also log via CloudRunnerLogger for GitHub Actions
|
// Also log via CloudRunnerLogger for GitHub Actions
|
||||||
CloudRunnerLogger.log(successMessage);
|
CloudRunnerLogger.log(successMessage);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue