On this page
Publishing helpers: selfblog blog post generation, GitHub Release asset uploads, and stale dependency advisory for post-release notifications.
#rlsbl.commands.release.publish
#rlsbl.commands.release.publish
Publishing helpers: selfblog blog post generation, GitHub Release asset uploads, and stale dependency advisory for post-release notifications.
#_run_selfblog_post_generate
def _run_selfblog_post_generate(flags, *, project_dir=None, release_config=None, new_version=None, current_version=None, bump_type=None, changelog_entry=None, tag=None, releases_dir=None)Generate a blog post via selfblog during release.
Called when release_config.blog is True and selfdoc.json exists. Writes the changelog entry to a temp file and invokes selfblog 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
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.
#_prefix_artifact
def _prefix_artifact(artifact_path, member_name)Prefix an artifact filename with the member name for deterministic naming.
E.g., /dist/mylib-0.1.0.tar.gz -> /dist/core--mylib-0.1.0.tar.gz where core is the member name.
#_upload_assets_for_config
def _upload_assets_for_config(tag, new_version, log, flags, config, project_dir, ctx, *, member_name=None)Build and upload assets for a single config (member or representative).
When member_name is set, artifact filenames are prefixed with the member name to ensure deterministic, non-colliding names across members.
#upload_release_assets
def upload_release_assets(tag, new_version, log, flags, *, ctx)Build and upload release assets for pipelines with assets: true or custom_assets.
Handles standalone and implicit-mode projects. In releasable mode, the caller (_run_release_mutating) iterates members directly and calls _upload_assets_for_config per member.
Skips silently if no pipelines have assets enabled.
ctx: ProjectContext carrying project_root, monorepo_root, and config.