@@ -41,20 +41,26 @@ export class RemoteClient {
4141 lingeringLine = lines . pop ( ) || '' ;
4242
4343 for ( const element of lines ) {
44- if ( CloudRunnerOptions . providerStrategy !== 'k8s' ) {
44+ // For K8s, write to both log file and stdout so kubectl logs can capture it
45+ if ( CloudRunnerOptions . providerStrategy === 'k8s' ) {
46+ fs . appendFileSync ( logFile , element ) ;
47+ // Write to stdout so kubectl logs can capture it
48+ process . stdout . write ( `${ element } \n` ) ;
4549 CloudRunnerLogger . log ( element ) ;
4650 } else {
47- fs . appendFileSync ( logFile , element ) ;
4851 CloudRunnerLogger . log ( element ) ;
4952 }
5053 }
5154 } ) ;
5255
5356 process . stdin . on ( 'end' , ( ) => {
54- if ( CloudRunnerOptions . providerStrategy !== 'k8s' ) {
57+ if ( CloudRunnerOptions . providerStrategy === 'k8s' ) {
58+ if ( lingeringLine ) {
59+ fs . appendFileSync ( logFile , lingeringLine ) ;
60+ process . stdout . write ( `${ lingeringLine } \n` ) ;
61+ }
5562 CloudRunnerLogger . log ( lingeringLine ) ;
5663 } else {
57- fs . appendFileSync ( logFile , lingeringLine ) ;
5864 CloudRunnerLogger . log ( lingeringLine ) ;
5965 }
6066 } ) ;
@@ -126,12 +132,12 @@ export class RemoteClient {
126132 await RemoteClientLogger . handleLogManagementPostJob ( ) ;
127133
128134 // Ensure success marker is present in logs for tests
129- // Log to both CloudRunnerLogger and stdout to ensure it's captured
135+ // For K8s, kubectl logs reads from stdout/stderr, so we must write to stdout
130136 const successMessage = `Activation successful` ;
131- CloudRunnerLogger . log ( successMessage ) ;
132- // Also output directly to stdout to ensure it's captured by log streaming
137+ // Write to stdout first so kubectl logs can capture it
133138 process . stdout . write ( `${ successMessage } \n` ) ;
134- console . log ( successMessage ) ;
139+ // Also log via CloudRunnerLogger for GitHub Actions
140+ CloudRunnerLogger . log ( successMessage ) ;
135141
136142 return new Promise ( ( result ) => result ( `` ) ) ;
137143 }
0 commit comments