Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Brian Goff authored on 2019/10/17 02:09:10... | ... |
@@ -315,19 +315,28 @@ ENTRYPOINT ["hack/dind"] |
315 | 315 |
FROM dev AS src |
316 | 316 |
COPY . /go/src/github.com/docker/docker |
317 | 317 |
|
318 |
-FROM src AS build-binary |
|
318 |
+FROM src AS binary-base |
|
319 | 319 |
ARG DOCKER_GITCOMMIT=HEAD |
320 |
+ENV DOCKER_GITCOMMIT=${DOCKER_GITCOMMIT} |
|
321 |
+ARG VERSION |
|
322 |
+ENV VERSION=${VERSION} |
|
323 |
+ARG PLATFORM |
|
324 |
+ENV PLATFORM=${PLATFORM} |
|
325 |
+ARG PRODUCT |
|
326 |
+ENV PRODUCT=${PRODUCT} |
|
327 |
+ARG DEFAULT_PRODUCT_LICENSE |
|
328 |
+ENV DEFAULT_PRODUCT_LICENSE=${DEFAULT_PRODUCT_LICENSE} |
|
329 |
+ |
|
330 |
+FROM binary-base AS build-binary |
|
320 | 331 |
RUN --mount=type=cache,target=/root/.cache/go-build \ |
321 | 332 |
hack/make.sh binary |
322 | 333 |
|
323 |
-FROM src AS build-dynbinary |
|
324 |
-ARG DOCKER_GITCOMMIT=HEAD |
|
334 |
+FROM binary-base AS build-dynbinary |
|
325 | 335 |
RUN --mount=type=cache,target=/root/.cache/go-build \ |
326 | 336 |
hack/make.sh dynbinary |
327 | 337 |
|
328 |
-FROM src AS build-cross |
|
329 |
-ARG DOCKER_GITCOMMIT=HEAD |
|
330 |
-ARG DOCKER_CROSSPLATFORMS="" |
|
338 |
+FROM binary-base AS build-cross |
|
339 |
+ARG DOCKER_CROSSPLATFORMS |
|
331 | 340 |
RUN --mount=type=cache,target=/root/.cache/go-build \ |
332 | 341 |
hack/make.sh cross |
333 | 342 |
|
... | ... |
@@ -158,6 +158,8 @@ ifdef DOCKER_CROSSPLATFORMS |
158 | 158 |
BUILD_CROSS = --build-arg CROSS=true |
159 | 159 |
endif |
160 | 160 |
|
161 |
+VERSION_AUTOGEN_ARGS = --build-arg VERSION --build-arg DOCKER_GITCOMMIT --build-arg PRODUCT --build-arg PLATFORM --build-arg DEFAULT_PRODUCT_LICENSE |
|
162 |
+ |
|
161 | 163 |
default: binary |
162 | 164 |
|
163 | 165 |
all: build ## validate all checks, build linux binaries, run all tests\ncross build non-linux binaries and generate archives |
... | ... |
@@ -170,7 +172,7 @@ cross: ## cross build the binaries for darwin, freebsd and\nwindows |
170 | 170 |
cross: BUILD_OPTS += --build-arg CROSS=true --build-arg DOCKER_CROSSPLATFORMS |
171 | 171 |
|
172 | 172 |
binary dynbinary cross: buildx |
173 |
- $(BUILD_CMD) $(BUILD_OPTS) --output=bundles/ --target=$@ . |
|
173 |
+ $(BUILD_CMD) $(BUILD_OPTS) --output=bundles/ --target=$@ $(VERSION_AUTOGEN_ARGS) . |
|
174 | 174 |
|
175 | 175 |
build: target = --target=final |
176 | 176 |
ifdef USE_BUILDX |
... | ... |
@@ -264,6 +266,7 @@ ifdef USE_BUILDX |
264 | 264 |
ifeq ($(BUILDX), bundles/buildx) |
265 | 265 |
buildx: bundles/buildx ## build buildx cli tool |
266 | 266 |
endif |
267 |
+endif |
|
267 | 268 |
|
268 | 269 |
# This intentionally is not using the `--output` flag from the docker CLI, which |
269 | 270 |
# is a buildkit option. The idea here being that if buildx is being used, it's |