Skip to content

feat: inject server version from GitHub release tag#323

Merged
butschster merged 1 commit intomasterfrom
feat/inject-version-from-release-tag
Mar 31, 2026
Merged

feat: inject server version from GitHub release tag#323
butschster merged 1 commit intomasterfrom
feat/inject-version-from-release-tag

Conversation

@butschster
Copy link
Copy Markdown
Member

What

Replace the hardcoded 1.0.0 server version with build-time injection via Go -ldflags. When a GitHub release is created (e.g. tag v1.2.3), the server version automatically becomes 1.2.3.

Why

The server always reported version 1.0.0 regardless of the actual release. This made it impossible to tell which version was running from the API (/api/version, /api/settings).

How

  • Added var version = "dev" in cmd/buggregator/main.go, overridden via -X main.version=...
  • Removed hardcoded "1.0.0" from config.go
  • Updated all build targets to inject the version:
    • CI release (release.yml): extracts version from GITHUB_REF_NAME (strips v prefix)
    • Docker (Dockerfile): accepts VERSION build-arg, passed from docker/metadata-action output
    • Makefile: uses VERSION variable (defaults to dev), e.g. make build VERSION=1.2.3

Testing

  • go build ./... compiles successfully
  • go test ./... all tests pass
  • Local builds default to "dev" version — no breakage for development

Replace hardcoded "1.0.0" version with build-time injection via
-ldflags. The version is derived from the git tag (e.g. v1.2.3 → 1.2.3)
in CI release builds, Docker builds, and Makefile targets.
Local dev builds default to "dev".
@butschster butschster added the enhancement New feature or request label Mar 31, 2026
@butschster butschster linked an issue Mar 31, 2026 that may be closed by this pull request
@butschster butschster merged commit 32b9af3 into master Mar 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

v2.0 issues

1 participant