Yank and Rollback Runbook¶
This runbook outlines the emergency protocol for handling critical bugs, regressions, or corrupted releases published to PyPI or GitHub Releases for obliq-OCR.
1. Yanking a Release on PyPI (Non-Destructive)¶
If a published package version contains a critical bug that breaks downstream pipelines:
- Log in to your PyPI Management Console.
- Navigate to the
obliq-ocrproject settings and select the affected version. - Click Manage and select Yank release.
- Note: A yanked release remains downloadable if a user explicitly pins that exact version (
==X.Y.Z).pipautomatically skips it during standard dependency resolution.
2. Removing Bad Git Tags & GitHub Releases¶
To remove a faulty release from GitHub:
- Delete the local tag:
git tag -d vX.Y.Z
- Delete the remote tag from GitHub:
git push origin --delete vX.Y.Z
- Navigate to your repository's Releases page on GitHub, locate the bad release, and click Delete release.
3. Issuing a Hotfix Release¶
- Merge the regression fix into
main. - Bump the patch version (e.g., from
0.1.2to0.1.3). - Tag and push the new release version to trigger a clean automated deployment via GitHub Actions.