Quanamo — tag

quanamo-tag is the local release workflow for Quanamo projects — push packages, tag versions. Never touches production servers. Deploy is a separate step via quanamo-deploy.

Folder-agnostic — operates on the current working directory's git repo and its declared path packages. Run from one of:

  • ~/Herd/admin.quanamo.test/
  • ~/Herd/feedz.quanamo.test/
  • ~/Herd/kanban.quanamo.test/

Steps

#Action
1aGather changelog: git log --oneline $(git describe --tags --abbrev=0)..HEAD for main + each path package
1bCategorise: Features / Bug fixes / Infrastructure / Config
1cIf doc-worthy changes exist, recurse into quanamo-update-docs with the appropriate scope
2For each path package in composer.json: commit dirty files, push, tag the package
3Push main project + CHANGELOG entry
4Read version from CHANGELOG.md
5CI gate (currently vacuous on Quanamo — no .github/workflows/). If CI configured: gh run list once, schedule recurring 2-min poll if still running
6git tag v<version> && git push origin v<version>

Version bump auto-decide

BumpWhen
Patchbug fixes, config, dependency bumps
Minornew features, improvements
Majorbreaking changes, major rewrites

Applied independently per package and per main project.


Shared package handling

admin and feedz both depend on quanamo/quanamo-core as a path package. The release loop deals with this correctly: when admin's pass picks up a pending core tag bump, feedz's subsequent pass resolves against the new tag.


Hard rules

  • Never SSH into production servers. Local only.
  • Tag BEFORE deploy.
  • No gh run watch if CI ever lands — scheduled recurring poll, not blocking.