Skip to content

Commit 91f25c7

Browse files
docs: document release process
1 parent d63bc98 commit 91f25c7

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

RELEASE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Release Guide
2+
3+
Process for publishing tagged Go module releases for this fork of `keep-common`.
4+
5+
## Versioning
6+
1) Use SemVer tags on `main`: `vX.Y.Z` when matching upstream versions; append `-tlabs.N` for fork-only releases (increment `N` for subsequent fork tags at the same base version).
7+
2) Before tagging, check the latest upstream `keep-core/keep-common` tag to avoid collisions and decide whether you are mirroring or diverging.
8+
9+
## Pre-release Checklist
10+
1) Sync with upstream: pull the latest upstream tag/commit, resolve conflicts, and ensure CI is green.
11+
2) Generators: `go generate ./.../gen`; verify the worktree is clean afterward.
12+
3) Module sanity: `go mod tidy` (expect no diff) and `go list ./...` to confirm dependencies and packages resolve.
13+
4) Quality gates: `go vet ./...` and `go test ./...`; add `go test -race ./...` for concurrency-heavy changes.
14+
5) Changelog: update `CHANGELOG.md` with Added/Changed/Fixed/Breaking notes and mention the upstream commit/tag you synced.
15+
16+
## Tagging & Publishing
17+
1) Tag: `git tag -a vX.Y.Z -m "Release vX.Y.Z"` (or `vX.Y.Z-tlabs.N` for fork-specific releases).
18+
2) Push tag: `git push origin vX.Y.Z[-tlabs.N]`.
19+
3) Create a GitHub release from the tag with the changelog excerpt and a note about the upstream baseline.

0 commit comments

Comments
 (0)