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:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Build (${{ matrix.arch }})
|
- name: Build (${{ matrix.arch }})
|
||||||
run: |
|
run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
|
VERSION="$(git describe --tags --always --dirty)"
|
||||||
|
echo "Version: $VERSION"
|
||||||
|
|
||||||
# Crea il container senza avviarlo
|
# Crea il container senza avviarlo
|
||||||
CID=$(docker create \
|
CID=$(docker create \
|
||||||
--platform ${{ matrix.platform }} \
|
--platform ${{ matrix.platform }} \
|
||||||
@@ -46,7 +51,7 @@ jobs:
|
|||||||
docker exec "$CID" sh -c "
|
docker exec "$CID" sh -c "
|
||||||
${{ matrix.upx_install }}
|
${{ matrix.upx_install }}
|
||||||
export CGO_ENABLED=0
|
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
|
upx /src/dist/todotxt2remind
|
||||||
" 2>&1 | cat
|
" 2>&1 | cat
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user