From cc9bfc25565554455b6e4de0d42d44a9ae53cf5c Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 10 Aug 2026 09:44:42 +0200 Subject: [PATCH] chore: monotonic package version for dev builds (#32679) --- .goreleaser-nightly.yml | 9 ++++++--- .goreleaser.yml | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.goreleaser-nightly.yml b/.goreleaser-nightly.yml index 83b2ccd9a..427faeedf 100644 --- a/.goreleaser-nightly.yml +++ b/.goreleaser-nightly.yml @@ -11,7 +11,8 @@ builds: - -trimpath - -tags=release ldflags: - - -X github.com/evcc-io/evcc/util.Version={{ .Version }} -X github.com/evcc-io/evcc/util.Commit={{ .ShortCommit }} -s -w + # the package version carries a timestamp for ordering, the reported version does not + - -X github.com/evcc-io/evcc/util.Version={{ if .IsSnapshot }}{{ incminor .Tag }}-dev+{{ .ShortCommit }}{{ else }}{{ .Version }}{{ end }} -X github.com/evcc-io/evcc/util.Commit={{ .ShortCommit }} -s -w env: - CGO_ENABLED=0 goos: @@ -56,8 +57,10 @@ checksum: name_template: "checksums.txt" snapshot: - # semver pre-release of the upcoming version - version_template: "{{ incminor .Version }}-dev+{{ .ShortCommit }}" + # semver pre-release of the upcoming version. The timestamp makes the package + # version increase monotonically: apt compares it numerically, while the commit + # alone would sort randomly. + version_template: "{{ incminor .Version }}-dev.{{ .Timestamp }}+{{ .ShortCommit }}" changelog: sort: asc diff --git a/.goreleaser.yml b/.goreleaser.yml index a392aa64c..56c7630cf 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -16,7 +16,8 @@ builds: - -trimpath - -tags=release ldflags: - - -X github.com/evcc-io/evcc/util.Version={{ .Version }} -s -w + # the package version carries a timestamp for ordering, the reported version does not + - -X github.com/evcc-io/evcc/util.Version={{ if .IsSnapshot }}{{ incminor .Tag }}-dev+{{ .ShortCommit }}{{ else }}{{ .Version }}{{ end }} -s -w env: - CGO_ENABLED=0 goos: @@ -63,8 +64,10 @@ checksum: name_template: "checksums.txt" snapshot: - # semver pre-release of the upcoming version - version_template: "{{ incminor .Version }}-dev+{{ .ShortCommit }}" + # semver pre-release of the upcoming version. The timestamp makes the package + # version increase monotonically: apt compares it numerically, while the commit + # alone would sort randomly. + version_template: "{{ incminor .Version }}-dev.{{ .Timestamp }}+{{ .ShortCommit }}" changelog: sort: asc