ci: derive binary version from git describe instead of a hardcoded string
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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user