rlsbl v0.113.0 /rlsbl.commands.yank
On this page

Yank command for registry-level removal of a published version, probing each configured target and executing registry-specific yank actions.

#rlsbl.commands.yank

#rlsbl.commands.yank

Yank command for registry-level removal of a published version, probing each configured target and executing registry-specific yank actions.

For each configured target, probes the registry to determine publication status, then executes the registry-specific yank action:

  • npm: npm deprecate
  • Go: retract directive + tag deletion
  • PyPI: human-in-the-loop checklist (no yank API)

Also sets the GitHub pre-release flag and adds a yank notice to the release.

#run_cmd

python
def run_cmd(args, flags, project_root)

Yank a version from registries and mark the GitHub Release.

For each configured target:

  • PUBLISHED: execute registry-specific yank
  • UNPUBLISHED: skip with a message
  • UNPROBEABLE: hard error

Args:

  • args: Positional args; first element is the version to yank.
  • flags: dict with keys dry-run, yes, reason, use.
  • project_root: Path to the project root directory, or None for cwd.

#_yank_target

python
def _yank_target(target, project_dir, version, tag, reason, dry_run)

Execute registry-specific yank for a single target.

#_yank_npm

python
def _yank_npm(target, project_dir, version, reason, dry_run)

Deprecate a version on npm.

#_yank_go

python
def _yank_go(target, project_dir, version, tag, dry_run)

Retract a version in Go (add retract directive to go.mod).

#_yank_pypi

python
def _yank_pypi(target, project_dir, version, dry_run)

PyPI has no yank API -- print manual steps and wait for confirmation.

#_mark_github_release

python
def _mark_github_release(tag, reason, use, dry_run)

Mark GitHub release as pre-release with a yank notice.

#_build_yank_notice

python
def _build_yank_notice(reason, use)

Build the yank notice string for the GitHub release body.

Search