From 416684c0c1a35792821d178eed79ac5a9d466f93 Mon Sep 17 00:00:00 2001 From: Jamie Banks Date: Fri, 12 Jun 2026 14:43:20 +0100 Subject: [PATCH] feat: inject version string into binary via Docker build argument --- .gitea/workflows/release.yml | 2 +- Dockerfile | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 2b03913..91980db 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -36,7 +36,7 @@ jobs: - name: Build and push Docker image run: | - docker build -t cr.jdbnet.co.uk/public/goencode:${{ steps.get_version.outputs.CLEAN_VERSION }} . + docker build --build-arg APP_VERSION=${{ steps.get_version.outputs.VERSION }} -t cr.jdbnet.co.uk/public/goencode:${{ steps.get_version.outputs.CLEAN_VERSION }} . docker push cr.jdbnet.co.uk/public/goencode:${{ steps.get_version.outputs.CLEAN_VERSION }} docker tag cr.jdbnet.co.uk/public/goencode:${{ steps.get_version.outputs.CLEAN_VERSION }} cr.jdbnet.co.uk/public/goencode:latest docker push cr.jdbnet.co.uk/public/goencode:latest diff --git a/Dockerfile b/Dockerfile index d59a0fc..92c575c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,11 +6,13 @@ WORKDIR /app # Copy source code COPY . . +ARG APP_VERSION=dev + # Run go mod tidy to generate go.sum based on source RUN go mod tidy # Build the application -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /app/bin/goencode ./cmd/goencode +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.Version=${APP_VERSION}" -o /app/bin/goencode ./cmd/goencode # Final stage FROM debian:bookworm-slim