From b624712b88945e936f9a2b3b57eec51c9087d713 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Sat, 5 Sep 2026 19:09:23 +0300 Subject: [PATCH] Document the release branch policy main carries released versions only, so its history is the deployment history and every release tag points into it. Development happens on dev and merges into main when a release is cut. --- PRD.md | 3 +++ README.md | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/PRD.md b/PRD.md index 412917e..5590b51 100644 --- a/PRD.md +++ b/PRD.md @@ -350,6 +350,9 @@ Explicitly *not* React. Images are built locally, pushed to a private container registry, then pulled on the server and run with Docker Compose. +- **Branches**: `main` carries released versions only, so its history is the + deployment history and every release tag points into it. Development happens + on `dev` and merges into `main` when a release is cut. - **Versioning**: CalVer `vYYYYMMDD-N`, where `N` is the Nth build of that day. `make image` derives `N` by counting the day's existing git tags, creates the new tag, and bakes the version into the binary through diff --git a/README.md b/README.md index 906b27a..d3b8f3c 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,19 @@ One static Go binary. No Node.js, no bundler, no separate database server. | Auth | HTTP Basic, one shared household password | | Runtime image | `FROM scratch` | +## Branches + +`main` holds released versions only. Every release tag points at a commit on +`main`, so its history is the deployment history. + +All development happens on `dev`. Merge into `main` when cutting a release, +then build and push the image from there. + +```sh +git switch dev # where the work happens +git switch main && git merge dev && make release +``` + ## Quick start ```sh