class

Mrcv::Runner::ContainerRunner

Inherits Mrcv::Runner::Base < Reference < Object

Base class for containerized execution backends (Podman and Docker).

Constructors

new(image_repository : String = "docker.io/crystallang/crystal", use_alpine : Bool = true, cache_directory : String | Nil = nil)
Source

Instance methods

available?

Checks if the container runtime binary is discoverable in PATH.

Source
binary_name

Abstract binary executable name (e.g. "podman" or "docker")

Source
build_command_args(version : Core::Version, target : Core::ProjectTarget, mode : Core::ExecutionMode) : Array(String)

Builds complete CLI argument array for container execution.

Source
build_payload(target : Core::ProjectTarget, mode : Core::ExecutionMode) : String

Constructs container payload with historical shards fallback and compilation.

Source
cache_directory
Source
cache_mount

Formats host shards cache bind mount with SELinux :z flag.

Source
execute(version : Core::Version, target : Core::ProjectTarget, mode : Core::ExecutionMode) : Core::ExecutionResult

Executes container run command against target version.

Source
image_repository
Source
image_tag(version : Core::Version) : String

Generates full container image tag string.

Source
use_alpine?
Source
workspace_mount(target : Core::ProjectTarget) : String

Formats workspace bind mount with SELinux :z flag according to FHS 3.0+.

Source