diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2025-03-15 11:11:56 +0100 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2025-03-15 11:16:12 +0100 |
| commit | e84531811160308fbdd0a8ec3e9b697bb17ccd02 (patch) | |
| tree | 0d8b2ab85e5073a96c148977909baa1b0774fa85 /src | |
| parent | b4cccf01587ac672dee7a92df7e3e21728f5b7aa (diff) | |
| download | rust-e84531811160308fbdd0a8ec3e9b697bb17ccd02.tar.gz rust-e84531811160308fbdd0a8ec3e9b697bb17ccd02.zip | |
Do not error out on missing parent metrics
Diffstat (limited to 'src')
| -rw-r--r-- | src/ci/citool/src/main.rs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/ci/citool/src/main.rs b/src/ci/citool/src/main.rs index 01483a2633d..29f94e2be5d 100644 --- a/src/ci/citool/src/main.rs +++ b/src/ci/citool/src/main.rs @@ -150,11 +150,24 @@ fn postprocess_metrics( return Ok(()); }; - let parent_metrics = - download_job_metrics(&job_name, &parent).context("cannot download parent metrics")?; - let job_metrics = - HashMap::from([(job_name, JobMetrics { parent: Some(parent_metrics), current: metrics })]); - output_test_diffs(job_metrics); + // This command is executed also on PR builds, which might not have parent metrics + // available, because some PR jobs don't run on auto builds, and PR jobs do not upload metrics + // due to missing permissions. + // To avoid having to detect if this is a PR job, and to avoid having failed steps in PR jobs, + // we simply print an error if the parent metrics were not found, but otherwise exit + // successfully. + match download_job_metrics(&job_name, &parent).context("cannot download parent metrics") { + Ok(parent_metrics) => { + let job_metrics = HashMap::from([( + job_name, + JobMetrics { parent: Some(parent_metrics), current: metrics }, + )]); + output_test_diffs(job_metrics); + } + Err(error) => { + eprintln!("Metrics for job `{job_name}` and commit `{parent}` not found: {error:?}"); + } + } Ok(()) } |
