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 b1d41b2e..16c3e028 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 (anything not matched above), 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