On each push to main, derive the next semantic version from the
conventional-commit messages since the last v* tag (feat -> minor,
fix/perf -> patch, \! or BREAKING CHANGE -> major) and, when a release is
warranted, build and publish the image tagged X.Y.Z, X.Y, X and latest,
then record an annotated vX.Y.Z tag for the next computation. Non-release
pushes publish a sha-<short> image only.
Configure Renovate to commit updates as fix(deps): so each merged Renovate
PR registers as a patch change and is released and tagged automatically.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Track the Dockerfile base image, the actions used in the Gitea workflow,
and versioned front-end dependencies referenced in HTML (via renovate
comment annotations or jsDelivr/unpkg npm URLs).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>