fix(telemetry): inject appVersion at build + auto-resolve at runtime

The released v0.45.1 binary shipped with the source default
appVersion="dev" because .goreleaser.yaml had ldflags="-s -w" only,
so every startup ping was rejected by the receiver with HTTP 400
(invalid version: regex requires leading digit).

Two-layer fix:

1. .goreleaser.yaml now passes -X main.appVersion={{.Version}} so
   goreleaser-built binaries report the actual release version.
2. Switch to telemetry.SendForModule which prefers
   debug.ReadBuildInfo Main/Deps when available, falling back to
   appVersion. This means `go install github.com/lukaszraczylo/
   [email protected]` users also get correct versions
   without relying on the ldflag.

Bumps oss-telemetry to v0.2.1 for SendForModule.
This commit is contained in:
2026-05-22 23:34:09 +01:00
parent 21b429c98a
commit 287289cd80
4 changed files with 5 additions and 4 deletions
+1 -1
View File
@@ -518,7 +518,7 @@ func parseConfig() {
}
func main() {
telemetry.Send("graphql-monitoring-proxy", appVersion)
telemetry.SendForModule("graphql-monitoring-proxy", "github.com/lukaszraczylo/graphql-monitoring-proxy", appVersion)
// Parse configuration
parseConfig()