@@ -60,8 +60,8 @@ RUN --mount=type=bind,target=. \
6060FROM gobase AS version
6161ARG PKG
6262RUN --mount=target=. \
63- VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags); \
64- echo "-s -w -X ${PKG}/credentials.Version=${VERSION}" | tee /tmp/.ldflags; \
63+ VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi) ; \
64+ echo "-s -w -X ${PKG}/credentials.Version=${VERSION} -X ${PKG}/credentials.Revision=${REVISION} -X ${PKG}/credentials.Package=${PKG} " | tee /tmp/.ldflags; \
6565 echo -n "${VERSION}" | tee /tmp/.version;
6666
6767FROM gobase AS base
@@ -93,6 +93,7 @@ FROM scratch AS test-coverage
9393COPY --from=test /out /
9494
9595FROM base AS build-linux
96+ ARG PKG
9697ARG TARGETOS
9798ARG TARGETARCH
9899ARG TARGETVARIANT
@@ -102,13 +103,14 @@ RUN --mount=type=bind,target=. \
102103 --mount=type=bind,from=version,source=/tmp/.ldflags,target=/tmp/.ldflags <<EOT
103104 set -ex
104105 mkdir /out
105- xx-go build -ldflags "$(cat /tmp/.ldflags)" -o /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./pass/cmd/
106+ xx-go build -ldflags "$(cat /tmp/.ldflags) -X ${PKG}/credentials.Name=docker-credential-pass " -o /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./pass/cmd/
106107 xx-verify /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}
107- xx-go build -ldflags "$(cat /tmp/.ldflags)" -o /out/docker-credential-secretservice-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./secretservice/cmd/
108+ xx-go build -ldflags "$(cat /tmp/.ldflags) -X ${PKG}/credentials.Name=docker-credential-secretservice " -o /out/docker-credential-secretservice-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./secretservice/cmd/
108109 xx-verify /out/docker-credential-secretservice-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}
109110EOT
110111
111112FROM base AS build-darwin
113+ ARG PKG
112114ARG TARGETOS
113115ARG TARGETARCH
114116ARG TARGETVARIANT
@@ -120,14 +122,15 @@ RUN --mount=type=bind,target=. \
120122 set -ex
121123 mkdir /out
122124 xx-go install std
123- xx-go build -ldflags "$(cat /tmp/.ldflags)" -o /out/docker-credential-osxkeychain-${TARGETARCH}${TARGETVARIANT} ./osxkeychain/cmd/
125+ xx-go build -ldflags "$(cat /tmp/.ldflags) -X ${PKG}/credentials.Name=docker-credential-osxkeychain " -o /out/docker-credential-osxkeychain-${TARGETARCH}${TARGETVARIANT} ./osxkeychain/cmd/
124126 xx-verify /out/docker-credential-osxkeychain-${TARGETARCH}${TARGETVARIANT}
125127
126- xx-go build -ldflags "$(cat /tmp/.ldflags)" -o /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./pass/cmd/
128+ xx-go build -ldflags "$(cat /tmp/.ldflags) -X ${PKG}/credentials.Name=docker-credential-pass " -o /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT} ./pass/cmd/
127129 xx-verify /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}
128130EOT
129131
130132FROM base AS build-windows
133+ ARG PKG
131134ARG TARGETARCH
132135ARG TARGETVARIANT
133136RUN --mount=type=bind,target=. \
@@ -136,7 +139,7 @@ RUN --mount=type=bind,target=. \
136139 --mount=type=bind,from=version,source=/tmp/.ldflags,target=/tmp/.ldflags <<EOT
137140 set -ex
138141 mkdir /out
139- xx-go build -ldflags "$(cat /tmp/.ldflags)" -o /out/docker-credential-wincred-${TARGETARCH}${TARGETVARIANT}.exe ./wincred/cmd/
142+ xx-go build -ldflags "$(cat /tmp/.ldflags) -X ${PKG}/credentials.Name=docker-credential-wincred " -o /out/docker-credential-wincred-${TARGETARCH}${TARGETVARIANT}.exe ./wincred/cmd/
140143 xx-verify /out/docker-credential-wincred-${TARGETARCH}${TARGETVARIANT}.exe
141144EOT
142145
0 commit comments