On this page
File-driven release retry that reads retry.toml, verifies the GitHub Release exists, and dispatches CI/CD workflows via gh workflow run.
#rlsbl.commands.release_retry
#rlsbl.commands.release_retry
Release retry command that dispatches CI/CD workflows for an existing GitHub Release.
When a GitHub Release exists but CI/CD never ran (e.g., GitHub Actions outage), this command dispatches all workflows listed in retry.toml via gh workflow run. The GitHub Release itself is left untouched.
The command is file-driven: it reads .rlsbl/releases/retry.toml for configuration (version, dispatch, ref). If the file does not exist, it auto-scaffolds one from project state and proceeds.
#_find_dispatch_workflows
def _find_dispatch_workflows()Scan .github/workflows/ for YAML files that contain workflow_dispatch.
Returns a list of filenames (not full paths) that support manual dispatch.
#_scaffold_retry_file
def _scaffold_retry_file(retry_path, version_dir, target, monorepo_name, monorepo_project_path, log)Auto-scaffold retry.toml from project state.
Returns the RetryConfig after writing the file.
#_cleanup_retry_file
def _cleanup_retry_file(retry_path, log)Delete retry.toml via saferm after successful retry.
#run_cmd
def run_cmd(retry_config, flags, project_root)Dispatch CI/CD workflows for an existing GitHub Release.
Verifies the GitHub Release exists for the configured version, then dispatches all workflows listed in the retry config via gh workflow run. The release itself is not modified.
Args:
retry_config: RetryConfig instance, or None to auto-scaffold.flags: dict with keysdry-run,yes,quiet,watch.project_root: Path to the project root directory, or None for cwd.