From 05025249e9af865a594b68d627b6a65b354867e5 Mon Sep 17 00:00:00 2001 From: Oz Tiram Date: Mon, 16 Jan 2023 19:24:11 +0100 Subject: [PATCH] seedling: Add version information directly from git (#651) * :seedling: Add version information directly from git Partial fix for kairos-io/kairos#643. Signed-off-by: Oz Tiram * Update cmd/profile-build/main.go Signed-off-by: Ettore Di Giacinto Signed-off-by: Oz Tiram Signed-off-by: Ettore Di Giacinto Co-authored-by: Ettore Di Giacinto --- Earthfile | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Earthfile b/Earthfile index 416dc68..7a60040 100644 --- a/Earthfile +++ b/Earthfile @@ -79,9 +79,13 @@ BUILD_GOLANG: ARG CGO_ENABLED ARG BIN ARG SRC + COPY +version/VERSION ./ + ARG VERSION=$(cat VERSION) ENV CGO_ENABLED=${CGO_ENABLED} - - RUN go build -ldflags "-s -w" -o ${BIN} ./cmd/${SRC} && upx ${BIN} + ARG LDFLAGS="-s -w -X 'github.com/kairos-io/kairos/internal/common.VERSION=$VERSION'" + RUN echo "Building ${BIN} from ${SRC} using ${VERSION}" + RUN echo ${LDFLAGS} + RUN go build -o ${BIN} -ldflags "${LDFLAGS}" ./cmd/${SRC} && upx ${BIN} SAVE ARTIFACT ${BIN} ${BIN} AS LOCAL build/${BIN} uuidgen: @@ -100,10 +104,12 @@ version: COPY . ./ - RUN echo $(git describe --exact-match --tags || echo "v0.0.0-$(git log --oneline -n 1 | cut -d" " -f1)") > VERSION + RUN --no-cache echo $(git describe --always --tags --dirty) > VERSION + ARG VERSION=$(cat VERSION) SAVE ARTIFACT VERSION VERSION + build-kairos-agent: FROM +go-deps COPY +webui-deps/node_modules ./internal/webui/public/node_modules @@ -147,6 +153,9 @@ framework: ARG COSIGN_EXPERIMENTAL ARG COSIGN_REPOSITORY ARG WITH_KERNEL + COPY +version/VERSION ./ + ARG VERSION=$(cat VERSION) + ARG LDFLAGS="-s -w -X 'github.com/kairos-io/kairos/internal/common.VERSION=$VERSION'" FROM golang:alpine WORKDIR /build @@ -162,8 +171,8 @@ framework: ENV USER=root COPY . /build - - RUN go run ./cmd/profile-build/main.go ${FLAVOR} $REPOSITORIES_FILE /framework + + RUN go run -ldflags "${LDFLAGS}" ./cmd/profile-build/main.go ${FLAVOR} $REPOSITORIES_FILE /framework COPY +luet/luet /framework/usr/bin/luet