Runbook: releasing a shop
Each shop releases independently; a release never touches its siblings.
- Local check: run the shop (
PORT=3020 bin/devfor hampers, or its launchd agent) and click the touched flow. The hampers agent iscom.georg.dev.hampers; restart withlaunchctl kickstart -k gui/$UID/com.georg.dev.hampers. - Locale changes: EN and DE, and verify YAML parses.
- Commit to
solidus-demosmain and push (one repo, per-shop directories; prefix the commit with the shop name). kamal deployfrom the shop's directory (~10 min).- If copy or locales changed:
kamal app exec 'bin/rails runner "Rails.cache.clear"'. - Verify the live subdomain: home, products, a product page, cart, the shop's signature feature.
- GitHub release notes: from the repo root run
bin/release— CalVer tag (v2026.09.11,.2on repeat days), notes generated from the commit subjects since the last tag. Because five shops share the repo, the shop-name commit prefix is what makes these notes readable: keep it. One release per deploy; rollbacks get their own tagged release with a note. Baseline:v2026.09.11. - ClickUp: complete the task with Solution, Automated Tests and QA Steps; architecture-level changes update this KB in the same PR.
Rollback
kamal rollback <sha> from the shop directory rolls back only that shop.