Document the deploy: SHA-embedded build and step-3 verification (Maestro 8611c4b6) #203

2 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 57cecee89b Deploy runbook: roll back to the running release, reject a dirty build (Maestro 8611c4b6, MQ-203-01, MQ-203-02)
CI / ci (push) Successful in 8m34s
CI / ci (pull_request) Successful in 8m30s
MQ-203-01: the build step reads the version from the running service's
/health on the bind address before the checkout changes, resolves it to a
commit and records that as the rollback SHA, instead of the checkout's
HEAD, which can be ahead of production after a failed or deferred deploy.
A running version of dev or *-dirty fails the step. The rollback and its
migration check use that SHA.

MQ-203-02: after checkout the build step fails on modified tracked files
outside internal/frontend/dist (the Makefile's GIT_DIRTY predicate), and
inspects the exact tag make docker produces, computed as the Makefile's
VERSION including -dirty.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:07:42 -04:00
dev_agentandClaude Opus 5.5 57c672217a Add deploy runbook that embeds and verifies the deployed version (Maestro 8611c4b6)
CI / ci (push) Successful in 8m34s
CI / ci (pull_request) Successful in 8m31s
deploy/RUNBOOK.md documents the one deploy flow on 10.60.1.14: build with
make docker (version from git describe, no manual build argument), retag
the image compose runs (mealquest-mealquest), restart through the systemd
unit, then step 3 checks /health reports the checkout's version and that /
and /plan serve the built PWA shell and its script, on the LAN address and
through Traefik. Rollback retags the previous release's image.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 17:42:15 -04:00