rlsbl v0.92.0 /rlsbl.commands.release.publish
On this page

Publishing helpers: selfdoc blog post generation, asset uploads, stale dep advisory.

#rlsbl.commands.release.publish

#rlsbl.commands.release.publish

Publishing helpers: selfdoc blog post generation, asset uploads, stale dep advisory.

#_run_selfdoc_post_generate

python
def _run_selfdoc_post_generate(flags, *, project_dir=None, release_config=None, new_version=None, current_version=None, bump_type=None, changelog_entry=None, tag=None)

Generate a blog post via selfdoc during release.

Called when release_config.blog is True and selfdoc.json exists. Writes the changelog entry to a temp file and invokes selfdoc post generate --from-release with all release metadata.

The generated post file and updated manifest are picked up by the hook-generated-files mechanism (dirty snapshot diff) and included in the release commit.

#_print_stale_dep_advisory

python
def _print_stale_dep_advisory(monorepo_name, new_version, monorepo_root=None)

Print advisory about downstream packages with stale constraints.

After releasing a package, checks if any workspace package that depends on the just-released package has a constraint that no longer satisfies the new version. Prints to stderr as a non-blocking advisory.

#upload_release_assets

python
def upload_release_assets(tag, new_version, log, flags, *, ctx)

Build and upload release assets for pipelines with assets: true or custom_assets.

For each pipeline that has assets enabled:

  1. Create a dist directory under .rlsbl/dist//
  2. Call pipeline.build_assets() and/or pipeline.build_custom_assets()
  3. Check each artifact against max_asset_size_mb
  4. Upload via gh release upload
  5. Clean up the dist directory

Skips silently if no pipelines have assets enabled.

ctx: ProjectContext carrying project_root, monorepo_root, and config.