Repository navigation
Releases
Releases · stackhands/eb-staged-rebuild
v1.0.0
Immutable
release. Only release title and notes can be modified.
- A static Zig build of every command, one binary per architecture
(x86_64, aarch64) built forlinux-muslon zig-common 0.8.0:probe,
status,resolve,retire,gc,run,resumeandrollback, with
and without--ledger-config, plusledger-maintenanceand
build-eventsas subcommands. Its output matches the Python tool byte for
byte except whereCOMPAT.mdlists a deliberate difference. Releases carry
the binaries,SHA256SUMSand build provenance attestations. - CI checks both builds against each other. A differential runs every
command and compares the trees and journals it leaves. A crash matrix kills
a run, a rollback and a retire at every fault step (295 cases). A fail
matrix gives every step an I/O error (152 cases). The signal, ledger,
metadata, access-control, build-events and real-EasyBuild suites also run
against the binary.TESTMAP.mdmaps each test that imports the Python
code to what covers it for the binary, and CI fails on a missing row. - Fix: a run killed right after
RENAME_EXCHANGEresumes to the published
state, and a rollback killed right after its exchange rolls back once. - Fix (binary): an allocation failure stops the program. It never runs
ebwith the parent environment and without the staged install paths.
A restore that cannot be recorded is not ignored. A damaged build-events
state file is refused instead of crashing. Error text names the errno the
kernel gave. - Fix (binary): a missing
eb-stackis "cannot start", as in Python, and a
stop during ledger delivery kills the ledger's process group first. - The ledger call keeps the first 64 KiB of each stream, returns when
eb-stackexits and stops any process it left behind. - Documentation: https://stackhands.github.io/eb-staged-rebuild/, with the
release-binary install and the Zig build's differences.
eb-staged-rebuild 0.4.3
- From the
fix/cluster-record-lockline, on the directory-swap model: a
publication-preparation program that leaves a staged tree without build
evidence blocks the swap; an empty or relative--prepareis refused
before anything runs; a sealed (read-only) install takes the run marker
and moves beside the live tree through a writable window on its top
directory; a read-only module stage is cleared through the owned-tree
cleanup on resume; the preparation context names each staged tree as
generationtoo; a prepared access policy is published and rolled back
even when the module bytes did not change. The branch's prepare,
publication-metadata, read-only, sealed-install, ledger-policy and
bounded-output tests come along, written for the swap model; its
generation-pointer gc and outbox suites stay on the branch.
eb-staged-rebuild 0.4.2
- The ledger tests and the pinned-ledger CI action build eb-stack 0.7.0
(defb6ae); the ledger CLI's receipt, tile-log and checkpoint lines are
unchanged from 0.6.2.
eb-staged-rebuild 0.4.1
ledger_maintenance.anchoraccepts theindex checkpointline eb-stack
0.6.0 prints after the head's checkpoint once the tile log has sealed a
run (every 256 records), instead of refusing the receipt.
eb-staged-rebuild 0.4.0
eb_staged_rebuild.build_eventsrecordsstarted,finishedand
abortedledger events around one build command through a durable
outbox, andeb_staged_rebuild.ledger_maintenancebackfills observed
history, publishes daily signed anchors, proves the anchor chain and
projects package history from a verified log (docs/build-events.md,
docs/ledger-maintenance.md).- The ledger adapter and the maintenance verifier read the eb-stack 0.5.2
CLI: the receipt is the first lineledger append,ledger headand
ledger verifyprint, exactly one tile-log or checkpoint line for the
same size and root follows it (none for the size-0 head of an empty
log), and a tile log is written beside every private ledger copy before
ledger verifyaudits it. _boundedruns the ledger CLI through pipes and kills its process group
on every exit, including a signal to the caller, so an interrupted
delivery leaves no eb-stack process behind.
eb-staged-rebuild 0.3.1
- EasyBuild 5.4.1 is in the bwrap key table: its
bwrap_info.jsoncarries
bwrap_installpath_softwareandbwrap_installpath_modules
(easybuild-framework-v5.4.1,easybuild/tools/bwrap.py), soprobeon a
5.4.1 whose Python the probe cannot import reports the keys as read from
source instead of unknown.
v0.3.0
eb-staged-rebuild 0.3.0 directory-swap safety.
Pair the local flock lock with a POSIX record lock on .lock.posix. Module-file replacement keeps ownership, mode, and the listed access-control-list bytes, and refuses a stale temporary. Drain the build process group before the writer lock is released. Garbage collection refuses an unreadable tracked module and stays on that sibling's filesystem. A directory swap is recorded in an eb-stack ledger without reading a generation journal: schema 4 when a ledger policy is frozen, schema 2 otherwise; schema 1 and schema 3 are refused.
open-004 is still unvalidated. Cross-node locking and behavior on the General Parallel File System are not measured. Recorded checks use ext4.