Skip to main content

Module build

Module build 

Source
Expand description

BuildErrorDisplay - Specialized display for compilation and build errors.

This module provides rich error display for build-related issues, including compilation failures, timeouts, signal kills, and artifact errors.

§Key Design Principle

For compilation errors, we preserve and enhance rustc/cargo error formatting rather than overriding it. RCH adds context (worker info, command, timing) around the compiler output, not replacing it.

§Features

  • Compilation errors with compiler output passthrough
  • Build timeout with resource usage at timeout
  • Signal kills with OOM killer detection
  • Artifact retrieval failures with path details
  • Worker resource state display
  • JSON serialization for structured output

§Example

use rch_common::ui::errors::BuildErrorDisplay;
use rch_common::ui::OutputContext;

let display = BuildErrorDisplay::build_timeout("cargo build --release")
    .worker("build1.internal")
    .duration_secs(300)
    .timeout_secs(300)
    .last_output("Compiling serde_derive v1.0.152")
    .cpu_usage(98.0)
    .memory_usage(14.2, 16.0)
    .load_average(8.5);

display.render(OutputContext::detect());

Structs§

BuildErrorDisplay
BuildErrorDisplay - Rich error display for build/compilation errors.
SignalInfo
Signal information for killed builds.
WorkerResourceState
Worker resource state at the time of error.