Skip to main content

Module exec

Module exec 

Source
Expand description

epicenter exec — run one command against a fresh per-job build dir seeded from the vault.

A job gets its own directory under {cargo-cache-home}/epicenter/work/<id>/ that plays the role of Cargo’s build dir for the child process (CARGO_BUILD_BUILD_DIR — no config file is written). The vault’s unit groups are hard-linked in first, so the build starts warm; the units the job produces can be harvested back. Because every job owns its build dir, jobs never contend on Cargo’s per-build-dir lock, and the job dir itself is a disposable view: deleting it removes no state the vault still holds.

stdout and stderr of the command pass through untouched; epicenter’s own frame lines go to stderr, and the command’s exit code becomes epicenter’s exit code.

Structs§

Options
What the caller wants.
WorkDirInfo
One job dir as the read-only summary sees it.
WorkTier
What the work/ tier currently holds (read-only summary).

Functions§

run
Run the job; returns the command’s exit code.
work_root
{cargo-cache-home}/epicenter/work — the home of per-job working dirs, a sibling of build/ and store/.
work_tier
Summarize the job dirs under work/.