File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -87,19 +87,25 @@ impl Orchestrator {
8787
8888 // Phase 2: Upload all results
8989 if !config. skip_upload {
90+ let mut last_upload_result: Option < UploadResult > = None ;
9091 for ( ctx, executor_name) in & mut completed_runs {
9192 if !self . is_local ( ) {
9293 // OIDC tokens can expire quickly, so refresh just before each upload
9394 self . provider . set_oidc_token ( & mut ctx. config ) . await ?;
9495 }
9596
9697 start_group ! ( "Uploading results" ) ;
97- let upload_result = crate :: upload:: upload ( self , ctx, executor_name. clone ( ) ) . await ?;
98+ last_upload_result =
99+ Some ( crate :: upload:: upload ( self , ctx, executor_name. clone ( ) ) . await ?) ;
100+ end_group ! ( ) ;
101+ }
98102
99- if self . is_local ( ) {
103+ // Phase 3: Poll results after all uploads are complete.
104+ // All uploads share the same run_id/owner/repository, so polling once is sufficient.
105+ if self . is_local ( ) {
106+ if let Some ( upload_result) = last_upload_result {
100107 poll_results ( & upload_result) . await ?;
101108 }
102- end_group ! ( ) ;
103109 }
104110 } else {
105111 debug ! ( "Skipping upload of performance data" ) ;
You can’t perform that action at this time.
0 commit comments