ci: derive binary version from git describe instead of a hardcoded string
All checks were successful
Release Binaries / build (amd64, golang:1.24-alpine, linux/amd64, linux-amd64, apk add --no-cache upx) (release) Successful in 13s
Release Binaries / build (arm64, golang:1.24-alpine, linux/arm64, linux-arm64, apk add --no-cache upx zstd-static) (release) Successful in 17s

main.go's version var now defaults to "dev" for local builds and is
overridden at build time via -ldflags "-X main.version=...". The
release workflow computes VERSION with `git describe --tags --always
--dirty` (fetch-depth: 0 so tags are available) and injects it into
the Go build inside the container.
This commit is contained in:
2026-07-10 00:13:35 +02:00
parent 72efcb13ba
commit f8bc389ae5
2 changed files with 7 additions and 2 deletions

View File

@@ -26,11 +26,16 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build (${{ matrix.arch }})
run: |
set -o pipefail
VERSION="$(git describe --tags --always --dirty)"
echo "Version: $VERSION"
# Crea il container senza avviarlo
CID=$(docker create \
--platform ${{ matrix.platform }} \
@@ -46,7 +51,7 @@ jobs:
docker exec "$CID" sh -c "
${{ matrix.upx_install }}
export CGO_ENABLED=0
go build -trimpath -ldflags='-s -w' -o /src/dist/todotxt2remind .
go build -trimpath -ldflags='-s -w -X main.version=$VERSION' -o /src/dist/todotxt2remind .
upx /src/dist/todotxt2remind
" 2>&1 | cat