@@ -60,8 +60,8 @@ RUN --mount=type=bind,target=. \
60
60
FROM gobase AS version
61
61
ARG PKG
62
62
RUN --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; \
65
65
echo -n "${VERSION}" | tee /tmp/.version;
66
66
67
67
FROM gobase AS base
@@ -93,6 +93,7 @@ FROM scratch AS test-coverage
93
93
COPY --from=test /out /
94
94
95
95
FROM base AS build-linux
96
+ ARG PKG
96
97
ARG TARGETOS
97
98
ARG TARGETARCH
98
99
ARG TARGETVARIANT
@@ -102,13 +103,14 @@ RUN --mount=type=bind,target=. \
102
103
--mount=type=bind,from=version,source=/tmp/.ldflags,target=/tmp/.ldflags <<EOT
103
104
set -ex
104
105
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/
106
107
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/
108
109
xx-verify /out/docker-credential-secretservice-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}
109
110
EOT
110
111
111
112
FROM base AS build-darwin
113
+ ARG PKG
112
114
ARG TARGETOS
113
115
ARG TARGETARCH
114
116
ARG TARGETVARIANT
@@ -120,14 +122,15 @@ RUN --mount=type=bind,target=. \
120
122
set -ex
121
123
mkdir /out
122
124
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/
124
126
xx-verify /out/docker-credential-osxkeychain-${TARGETARCH}${TARGETVARIANT}
125
127
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/
127
129
xx-verify /out/docker-credential-pass-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}
128
130
EOT
129
131
130
132
FROM base AS build-windows
133
+ ARG PKG
131
134
ARG TARGETARCH
132
135
ARG TARGETVARIANT
133
136
RUN --mount=type=bind,target=. \
@@ -136,7 +139,7 @@ RUN --mount=type=bind,target=. \
136
139
--mount=type=bind,from=version,source=/tmp/.ldflags,target=/tmp/.ldflags <<EOT
137
140
set -ex
138
141
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/
140
143
xx-verify /out/docker-credential-wincred-${TARGETARCH}${TARGETVARIANT}.exe
141
144
EOT
142
145
0 commit comments