From 4033f8965ba335edb57008a0dd05e5df9e452a84 Mon Sep 17 00:00:00 2001 From: Oleg Tkachuk Date: Mon, 13 Jul 2026 16:25:11 +0300 Subject: [PATCH 1/2] docs: align dev docs and release notes with current tooling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit local-development.md: reference the Makefile's fmt/vet/tidy targets and fix the build-all description (all six release platforms, not "all platforms"). RELEASE_NOTES.md: the file claimed the workflow replaces it with generated content, but nothing reads it — notes come from GitHub (goreleaser github-native), categorized by PR label via .github/release.yml. Rewrite to document that and keep the local --snapshot command. --- RELEASE_NOTES.md | 18 ++++++++---------- docs/development/setup/local-development.md | 12 ++++++++---- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b1d41b2e..39d2cb2b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,16 +1,14 @@ -# Release Notes Template +# Release Notes -This file is a template for release notes. When running the GitHub Actions workflow, this file will be replaced with auto-generated content. +Generated by GitHub, not from this file (nothing in the release pipeline reads +it). GoReleaser uses `changelog.use: github-native`, so notes come from GitHub's +API, categorized by PR **label** via [`.github/release.yml`](.github/release.yml): +Features (`enhancement`), Bug Fixes (`bug`), Documentation (`documentation`), +Other (unlabeled), excluded (`automated`/bots/etc). Label your PR to influence +them — title wording is ignored. -## CLI Binaries +Build binaries locally without publishing: -Download the appropriate archive for your platform from the release assets. - -## For Local Testing - -When running GoReleaser locally, use: ```bash goreleaser release --clean --skip=validate --skip=publish --snapshot ``` - -The `--snapshot` flag will skip release creation and just build the binaries. diff --git a/docs/development/setup/local-development.md b/docs/development/setup/local-development.md index c19d97e6..d6fd48ad 100644 --- a/docs/development/setup/local-development.md +++ b/docs/development/setup/local-development.md @@ -43,7 +43,7 @@ Unit tests are colocated as `*_test.go` next to the code they cover. # Build for your current platform (produces openframe--) make build -# Build for all platforms +# Cross-compile all six release platforms (matches .goreleaser.yml) make build-all # Or build directly @@ -84,11 +84,14 @@ k3d cluster delete openframe-test ## Lint and Format ```bash -make lint # golangci-lint run ./... -gofmt -w . -goimports -w . +make fmt # gofmt -w over the tree +make vet # go vet ./... +make lint # golangci-lint run ./... +make tidy # fail if `go mod tidy` would change go.mod/go.sum ``` +These mirror the CI gates — run them before pushing. + ## Development Workflow ```bash @@ -96,6 +99,7 @@ goimports -w . git fetch upstream && git checkout main && git merge upstream/main # Create a branch, make changes, then before committing: +make fmt vet tidy make test make lint From f6971d00a49f50fbcaaf7a43b834a477e51b793e Mon Sep 17 00:00:00 2001 From: Oleg Tkachuk Date: Mon, 13 Jul 2026 16:36:24 +0300 Subject: [PATCH 2/2] docs: describe "Other Changes" as the catch-all, not just unlabeled The `['*']` category also catches labeled-but-uncategorized PRs, not only unlabeled ones. Fix the wording in RELEASE_NOTES.md and the .github/release.yml comment. --- .github/release.yml | 3 ++- RELEASE_NOTES.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/release.yml b/.github/release.yml index 6131b608..1c58aaf0 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -7,7 +7,8 @@ # Notes are built per merged PR and categorized by the PR's LABELS, which is # robust to this repo's squash-merge + free-form PR titles (commit-title regexes # would miss most of them). A PR lands in the FIRST category whose label it -# carries; anything unlabeled falls through to "Other Changes". +# carries; anything not matched by an earlier category (unlabeled, or labeled +# but uncategorized) falls through to the "Other Changes" catch-all. changelog: exclude: labels: diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 39d2cb2b..16c3e028 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,7 +4,7 @@ Generated by GitHub, not from this file (nothing in the release pipeline reads it). GoReleaser uses `changelog.use: github-native`, so notes come from GitHub's API, categorized by PR **label** via [`.github/release.yml`](.github/release.yml): Features (`enhancement`), Bug Fixes (`bug`), Documentation (`documentation`), -Other (unlabeled), excluded (`automated`/bots/etc). Label your PR to influence +Other (anything not matched above), excluded (`automated`/bots/etc). Label your PR to influence them — title wording is ignored. Build binaries locally without publishing: