On this page
Batch release command for monorepo workspaces that reads unreleased.toml, resolves topological order, and releases each package sequentially.
#rlsbl.commands.monorepo.batch_release
#rlsbl.commands.monorepo.batch_release
Batch release command for monorepo workspaces.
Reads .rlsbl-monorepo/releases/unreleased.toml, validates all listed items, determines topological release order, and releases each sequentially by delegating to the existing single-package release flow.
In explicit mode ([releasables.*] sections), iterates releasables in dependency order (a releasable's position = max topological position of its member packages). For each releasable, picks one representative member package and releases through it.
In implicit mode ([packages.*] sections), iterates packages directly in topological order (original behavior).
#_releasable_release_order
def _releasable_release_order(batch_names, releasables, projects, graph)Compute release order for releasables based on member topological positions.
A releasable's position is the maximum topological position of its member packages. This ensures that a releasable whose members depend on members of another releasable is released after the dependency.
Returns an ordered list of releasable names from the batch.
#_cmd_batch_release
def _cmd_batch_release(flags, project_root)Execute a batch release of multiple monorepo packages or releasables.
#_batch_release_releasables
def _batch_release_releasables(flags, workspace_root, batch_path, batch_config, projects)Execute batch release in releasable mode.
#_batch_release_packages
def _batch_release_packages(flags, workspace_root, batch_path, batch_config, projects)Execute batch release in package mode (implicit, original behavior).
#_finalize_batch_file
def _finalize_batch_file(batch_path, log)Rename the batch release file to a timestamped name and lock it.