2 Commits
Author SHA1 Message Date
FernandoJVideira 7285594f3c Merge pull request 'Derive the build version from the git tag' (#12) from fix/version-from-git-tag into main
Reviewed-on: #12
2026-10-08 23:11:42 +00:00
FernandoJVideiraandClaude Sonnet 5.5 ab322b7d91 Derive the build version from the git tag
The version was a hand-edited constant in the Makefile, so tagging a release
without first committing the bump produced a release whose binaries disagree
with it: v0.2.1 was tagged on a commit still saying VERSION := v0.2.0, and
all four binaries attached to that release print v0.2.0 from `draft version`.

VERSION now comes from `git describe --tags --always`: exactly the tag on a
tagged commit (v0.2.1), tag-plus-distance after it (v0.2.1-3-g1a2b3c4), `dev`
outside a git checkout such as a source tarball. `make build VERSION=...`
still overrides it. There is nothing left to bump before tagging.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-09 00:08:56 +01:00
+5 -1
View File
@@ -1,5 +1,9 @@
PKG_NAME := git.fernandovideira.com/FernandoJVideira/draft PKG_NAME := git.fernandovideira.com/FernandoJVideira/draft
VERSION := v0.2.0 # Taken from the git tag, so a build can never disagree with the release it was
# cut from: exactly `v0.2.1` on that tag, `v0.2.1-3-g1a2b3c4` three commits
# later, `dev` outside a git checkout (e.g. a source tarball). Override with
# `make build VERSION=v1.2.3`.
VERSION ?= $(shell git describe --tags --always 2>/dev/null || echo dev)
GO_SOURCES := $(shell find . -name '*.go' -not -path './assets/testdata/*') GO_SOURCES := $(shell find . -name '*.go' -not -path './assets/testdata/*')
.PHONY: version build windows win-arm linux mac prepare-embed clean .PHONY: version build windows win-arm linux mac prepare-embed clean