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
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 keysdry-run,yes,reason,use.project_root: Path to the project root directory, or None for cwd.
#_yank_target
def _yank_target(target, project_dir, version, tag, reason, dry_run)Execute registry-specific yank for a single target.
#_yank_npm
def _yank_npm(target, project_dir, version, reason, dry_run)Deprecate a version on npm.
#_yank_go
def _yank_go(target, project_dir, version, tag, dry_run)Retract a version in Go (add retract directive to go.mod).
#_yank_pypi
def _yank_pypi(target, project_dir, version, dry_run)PyPI has no yank API -- print manual steps and wait for confirmation.
#_mark_github_release
def _mark_github_release(tag, reason, use, dry_run)Mark GitHub release as pre-release with a yank notice.
#_build_yank_notice
def _build_yank_notice(reason, use)Build the yank notice string for the GitHub release body.