eb-staged-rebuild

eb-staged-rebuild eb-staged-rebuild

eb-staged-rebuild rebuilds an existing EasyBuild installation in a versioned generation directory, then exchanges that complete tree with the stable software/<name>/<version> directory and publishes the module file with a same-directory replace. The previous tree stays on disk as software/<name>/.<version>.<run-id>.

Why

EasyBuild --rebuild and --force empty an existing install before the new install has passed its sanity checks. This program sends EasyBuild at <state-root>/generations/<run-id> and exchanges the live directory only after that generation is complete. rollback exchanges the hidden sibling back onto the stable path. gc deletes that sibling after the grace period, and leaves the stable path in place.

Get started

Install the package, probe the filesystem, publish one generation, and roll it back.

Tutorial
Installation

Python 3.11 or newer on Linux, with the packages used by the sandbox probes.

Installation
Rebuild and publish

Operator steps for a dry run, a build, and module publication.

Rebuild and publish
Recovery and rollback

Resume a failed run, roll a published generation back, and collect hidden siblings.

Recover and roll back
Staging model

Generations, the hidden sibling, and the directory exchange.

Staging model
Reference

Commands, environment variables, the Python API, and the changelog.

Command line