Persistent, human-readable state for in-container sysroot/rootfs iterations.
The build plan JSON is treated as immutable during iterations. Instead, the
runner records progress into this state file so subsequent runs can pick up
where they left off without re-running already successful steps.
Constants
OVERRIDES_FILE = "sysroot-build-overrides.json"
PLAN_FILE = "sysroot-build-plan.json"
REPORT_DIR_NAME = "sysroot-build-reports"
STATE_FILE = "sysroot-build-state.json"
Class methods
Return the SHA256 hex digest for path, or nil when the file is missing.
SourceInstance methods
Returns true when the given step_name has already completed successfully
within phase_name.
Sourcecreated_at
Timestamp for when this state file was initially created (UTC, ISO8601).
Sourceinvalidate_progress!(reason :
String) :
Nil Clear completed steps and record a reason for invalidation.
Sourceinvalidated_at
Timestamp (UTC, ISO8601) for the most recent state invalidation.
Sourceinvalidated_at=(invalidated_at :
String |
Nil)
Timestamp (UTC, ISO8601) for the most recent state invalidation.
Sourceinvalidation_reason
Human-readable reason for invalidating runner progress.
Sourceinvalidation_reason=(invalidation_reason :
String |
Nil)
Human-readable reason for invalidating runner progress.
Sourcemark_current_phase(phase_name :
String |
Nil) :
Nil Update the current phase tracking marker.
SourceRecord that step_name failed within phase_name.
SourceRecord that step_name finished successfully within phase_name.
Sourcenext_incomplete_step
Return the next incomplete phase/step for the plan.
Sourceon_disk_overrides
Load overrides JSON from the workspace, or nil when missing.
Sourceon_disk_overrides_digest
Return the digest for the on-disk overrides file, if present.
Sourceon_disk_plan
Load the build plan JSON from the workspace, or nil when missing.
Sourceon_disk_plan_digest
Return the digest for the on-disk build plan, if present.
Sourceon_disk_state
Load persisted state from the workspace, or nil when missing.
Sourceoverrides=(overrides : BuildPlanOverrides | Nil)
Sourceoverrides_changed
true when the overrides digest changed since the last load.
Sourceoverrides_changed=(overrides_changed :
Bool)
true when the overrides digest changed since the last load.
Sourceoverrides_digest
SHA256 digest (hex) of the overrides file used to produce this state.
Sourceoverrides_digest=(overrides_digest :
String |
Nil)
SHA256 digest (hex) of the overrides file used to produce this state.
Sourceoverrides_exists?
Returns true when the overrides file exists for this workspace.
Sourceoverrides_path
Resolve overrides path into the active namespace.
Sourceplan_digest
SHA256 digest (hex) of the build plan file used to produce this state.
Sourceplan_digest=(plan_digest :
String |
Nil)
SHA256 digest (hex) of the build plan file used to produce this state.
Sourceplan_exists?
Returns true when the build plan file exists for this workspace.
Sourceplan_path
Resolve the plan path into the active namespace.
Sourceprogress
Runner progress tracked per phase/package.
Sourcereport_dir
Resolve report directory path into the active namespace.
Sourceresolve_plan(plan :
BuildPlan, use_overrides :
Bool = true) :
BuildPlan Apply overrides to plan and return the resolved plan.
Sourcerootfs_id
Identifier for the prepared rootfs. This changes whenever the rootfs is
regenerated from scratch.
Sourcesave(path :
Path = state_path)
Persist the state JSON to disk.
Sourcesave_overrides
Persist overrides to disk and refresh their digest.
Sourcesave_plan
Persist the current build plan to the workspace and refresh its digest.
Sourcestate_exists?
Returns true when the build state file exists for this workspace.
Sourcestate_path
Current rootfs-relative state path
Sourcetouch
Update updated_at to the current UTC time.
Sourceupdated_at
Timestamp for the most recent update (UTC, ISO8601).
Sourceupdated_at=(updated_at :
String |
Nil)
Timestamp for the most recent update (UTC, ISO8601).
Sourceworkspace
Active workspace for this build state.
Sourceworkspace=(workspace : SysrootWorkspace) : SysrootWorkspace
Source