Hive Hive
Sign in

feat(server): show module cache tab on the build detail page

GitHub issue · Closed

Metadata
Source
tuist/tuist #10857
Updated
Jun 24, 2026
Domains
Cache
Details

Describe here the purpose of your PR.

The build detail page previously did not surface module-cache analytics, even when the underlying command event had binary-cache data. This adds a Module Cache tab to BuildRunLive that mirrors the tab already shown on the command run detail and test run detail pages, so the three views stay consistent.

Module-cache data (xcode_targets in ClickHouse) is keyed by command_event_id, not build_run_id. BuildRunLive already loads the build’s associated command event, so the new tab queries through it and reuses the shared TuistWeb.Runs.ModuleCacheTab component. The tab is gated on Tuist.Xcode.has_binary_cache_data?/1 against the command event, so it only appears when there’s actually data to show — same pattern as RunDetailLive.

How to test locally

  1. Boot the server: mise run dev.
  2. Open a build detail page for a build whose associated command event produced xcode_targets with non-nil binary_cache_hash (e.g. any tuist xcodebuild build run on a project using binary cache).
  3. Confirm the Module Cache tab appears alongside Overview / Xcode Cache / Warnings / Errors and renders the summary widgets, cacheable-targets chart, and module table with search, filter, sort, and pagination.
  4. Open a build whose command event has no binary-cache data and confirm the tab is hidden.

Added two LiveView tests covering both cases in server/test/tuist_web/live/build_run_live_test.exs.

Comments

No GitHub comments yet.