rlsbl v0.60.1 /rlsbl.commands.monorepo.batch_release_init
On this page

Scaffold a batch release file for all workspace projects, auto-detecting targets and commenting out packages with no unreleased commits.

#rlsbl.commands.monorepo.batch_release_init

#rlsbl.commands.monorepo.batch_release_init

Scaffold a batch release file for all workspace projects, auto-detecting targets and commenting out packages with no unreleased commits.

#_get_unreleased_commit_count

python
def _get_unreleased_commit_count(proj, workspace_root)

Return the number of unreleased commits touching a project's files.

Uses the project's monorepo tag glob to find the last version tag, then counts commits since that tag that touch files within the project's path or watch globs. Returns (count, last_tag) where last_tag is the tag string or None if no tags exist.

#_build_pkg_section

python
def _build_pkg_section(proj, workspace_root, target_names)

Build a tomlkit table for a single package section.

#_render_commented_section

python
def _render_commented_section(name, target_names, reason)

Render a package section as TOML comments.

Returns a string of comment lines (each prefixed with '# ') that represent the section the user would uncomment if they want to include it.

#_cmd_batch_release_init

python
def _cmd_batch_release_init(project_root, packages=None)

Create .rlsbl-monorepo/releases/unreleased.toml with per-package sections.

Iterates over all workspace projects (skipping dev_node projects), detects targets for each, and scaffolds a [packages.] section with empty bump/description and the detected include list.

Packages with zero unreleased commits are included as commented-out sections with a note explaining why.

Args:

  • project_root: Path to the project root directory.
  • packages: Optional comma-separated string of package names to include.

If provided, only these packages are scaffolded.