Skip to content

Releases

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Nov 08:05
Immutable release. Only release title and notes can be modified.
v1.0.0
aecbf97
  • A static Zig build of every command, one binary per architecture
    (x86_64, aarch64) built for linux-musl on zig-common 0.8.0: probe,
    status, resolve, retire, gc, run, resume and rollback, with
    and without --ledger-config, plus ledger-maintenance and
    build-events as subcommands. Its output matches the Python tool byte for
    byte except where COMPAT.md lists a deliberate difference. Releases carry
    the binaries, SHA256SUMS and 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.md maps 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_EXCHANGE resumes 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
    eb with 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-stack is "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-stack exits 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

Choose a tag to compare

@HaoZeke HaoZeke released this 08 Nov 21:37
v0.4.3
06418ed
  • From the fix/cluster-record-lock line, on the directory-swap model: a
    publication-preparation program that leaves a staged tree without build
    evidence blocks the swap; an empty or relative --prepare is 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
    generation too; 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

Choose a tag to compare

@HaoZeke HaoZeke released this 08 Nov 21:37
v0.4.2
62e6f7e
  • 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

Choose a tag to compare

@HaoZeke HaoZeke released this 08 Nov 21:37
v0.4.1
ddb6338
  • ledger_maintenance.anchor accepts the index checkpoint line 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

Choose a tag to compare

@HaoZeke HaoZeke released this 08 Nov 21:37
v0.4.0
e7d1d81
  • eb_staged_rebuild.build_events records started, finished and
    aborted ledger events around one build command through a durable
    outbox, and eb_staged_rebuild.ledger_maintenance backfills 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 line ledger append, ledger head and
    ledger verify print, 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 verify audits it.
  • _bounded runs 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

Choose a tag to compare

@HaoZeke HaoZeke released this 08 Nov 21:37
v0.3.1
fc64ca9
  • EasyBuild 5.4.1 is in the bwrap key table: its bwrap_info.json carries
    bwrap_installpath_software and bwrap_installpath_modules
    (easybuild-framework-v5.4.1, easybuild/tools/bwrap.py), so probe on a
    5.4.1 whose Python the probe cannot import reports the keys as read from
    source instead of unknown.

v0.3.0

Choose a tag to compare

@cursor cursor released this 05 Nov 21:04

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.