Skip to content

fix: embed version from release-please manifest#15

Merged
eskp merged 1 commit intomainfrom
fix/version-embed
Mar 14, 2026
Merged

fix: embed version from release-please manifest#15
eskp merged 1 commit intomainfrom
fix/version-embed

Conversation

@eskp
Copy link
Copy Markdown
Contributor

@eskp eskp commented Mar 14, 2026

Summary

  • Embed .release-please-manifest.json via go:embed so kh version shows the real version (0.3.0) instead of dev — even without ldflags (go run, go build, go install)
  • Fix kh update panic: semver.MustParse("dev") crashes; now skips semver comparison when version is dev and always offers the update
  • Makefile auto-syncs the manifest copy and reads version for ldflags; release-please-config.json keeps the copy updated on version bumps

Test plan

  • go run ./cmd/kh version → shows 0.3.0
  • make build && ./bin/kh version → shows 0.3.0
  • go run ./cmd/kh update → detects 0.3.0 < 0.4.0 and updates (no panic)
  • go test ./... → all tests pass

…panic

Version was hardcoded to "dev" without ldflags, causing
semver.MustParse("dev") to panic in kh update. Now the version is
read from .release-please-manifest.json via go:embed at compile time,
so go run, go build, and go install all resolve the real version.
Ldflags from GoReleaser still take precedence for releases.
@eskp eskp merged commit 43743d4 into main Mar 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant