Skip to content

Commit dc47471

Browse files
--wip-- [skip ci]
1 parent 5e7016b commit dc47471

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/executor/orchestrator.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff 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");

0 commit comments

Comments
 (0)