Skip to main content

Module progress

Module progress 

Source
Expand description

Shared buildah commit-marker → BuildEvent progress reconstruction.

Buildah’s frontend (buildah build) does not emit structured per-instruction events; it prints exactly one commit marker line per executed instruction: --> <hex> (a fresh layer) or --> Using cache <hex> (a cache hit). The stage FROM line does NOT get a --> marker.

InstructionProgress walks a pre-computed, flattened list of planned instructions (in Dockerfile order, FROM excluded) and, as each marker arrives on a log line, advances a cursor and reconstructs the matching BuildEvent::InstructionComplete / BuildEvent::StageComplete / next BuildEvent::InstructionStarted events. Non-marker lines are forwarded verbatim as BuildEvent::Output.

This logic is shared between the buildah-sidecar backend (whose Go buildd only streams Log lines) and the buildah-CLI backend (which runs a single buildah build and parses its stdout/stderr the same way).

Structs§

InstructionProgress
Tracks build progress by parsing buildah commit markers out of the build’s log stream and reconstructing per-instruction TUI events.