| name | bondery-release |
| description | Bondery release operator runbook โ prerequisites on main, extension gates, promote main:release and product tags, Dokploy image pins, rollback, and hotfix sequencing. Use when cutting a monthly or patch release, pushing to release, tagging api-X.Y.Z / webapp-X.Y.Z / ext-X.Y.Z, pinning image tags, promoting to production, or rolling back.
|
| metadata | {"version":"1.0.0","namespace":"bondery"} |
Bondery Release
When to use
- Cutting a monthly, patch, or hotfix release (
X.Y.Z)
- Pushing
main to release or tagging api-*, webapp-*, ext-*
- Pinning
BONDERY_INFRA_*_IMAGE_TAG after a tested deploy
- Rolling back production or self-host pins
- Coordinating Chrome extension publish before product deploy
When not to use
- Changelog wording or version math โ use
bondery-changelog
- CI workflow YAML or tag semantics detail โ use
.github/workflows/README.md
- Pre-merge quality gates on a PR โ use
bondery-verification-loop
- Post-push CI triage โ use Cursor
babysit skill
- API compatibility policy โ use
bondery-api โ references/versioning.md
Non-negotiables
:sha-<short> must exist on main before api-X.Y.Z / webapp-X.Y.Z โ merge to main first; stage-images.yml builds artifacts on push to main.
- Product tags promote, they do not rebuild โ release workflows promote
ghcr.io/usebondery/{api,webapp}:sha-<short> โ :X.Y.Z unless force_rebuild: true on manual dispatch (human-approved only).
- Extension gate (when extension changed): do not push
main:release or product tags until the user confirms the Chrome Web Store listing is live.
- Website exception:
git push origin main:release is not extension-gated โ marketing CD only (deploy-website.yml).
- Pin the tested api/webapp pair in
packages/helpers/src/env/manifest.ts โ do not use floating :production as the production/self-host pin for api/webapp.
- CI truth:
.github/workflows/README.md overrides remembered release folklore.
Related skills and docs
Decision tree
Full index: references/README.md.
Release operator checklist