Skip to content

fix: CI timing overwrites and metrics plot generation#161

Merged
angerman merged 1 commit into
stable-ghc-9.14from
fix/ci-metrics-and-timings
Mar 1, 2026
Merged

fix: CI timing overwrites and metrics plot generation#161
angerman merged 1 commit into
stable-ghc-9.14from
fix/ci-metrics-and-timings

Conversation

@angerman

@angerman angerman commented Mar 1, 2026

Copy link
Copy Markdown

Summary

Fixes two issues observed in the CI run for the QUIET mode PR (#121, run 22520789467):

  • Timing overwrites: test: stage2 re-triggers the PHONY stage2 recipe, overwriting real build timings (16m 31s → 3m 36s) with near-zero no-op durations. Fixed by guarding PHASE_START/PHASE_END macros to skip writing once a phase completes successfully. Failed phases can still be retried.

  • Metrics plot generation: nix-shell is not available in the devx shell environment. Replaced with nix build --print-out-paths to get the nix store path, then invoke binaries directly. Applied to both matplotlib (plot generation) and awscli (R2 upload).

Test plan

  • CI runs display correct timings in the Summary page after tests complete
  • Metrics plots (SVG) are generated and uploaded to R2
  • Build timings are preserved when make test re-enters the stage2 target

Two issues from the QUIET mode CI run (#121):

1. **Timing overwrites:** The `test: stage2` dependency triggers the PHONY
   stage2 recipe again. Since everything is already built, the re-run
   completes in seconds, overwriting the real stage2 timings (16m 31s)
   with near-zero durations (3m 36s). Fix: guard PHASE_START/PHASE_END
   macros to skip writing if the phase already completed successfully
   (status=0). Failed phases can still be retried.

2. **Metrics plots:** The "Generate Metrics plots" CI step used
   `nix-shell -p ...` which is not available in the devx environment.
   Fix: replace `nix-shell` with `nix build --print-out-paths` to get
   the store path, then invoke the binary directly. Applied to both the
   matplotlib plot generation and the awscli R2 upload steps.
@angerman angerman force-pushed the fix/ci-metrics-and-timings branch from b6005a3 to 318a199 Compare March 1, 2026 05:36
@angerman angerman merged commit bb29bb0 into stable-ghc-9.14 Mar 1, 2026
33 checks passed
@angerman angerman deleted the fix/ci-metrics-and-timings branch March 1, 2026 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant