From cb89e09ee8e44092da0ecc08ead9da4e3c5ff79c Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 7 Apr 2022 12:04:01 -0500 Subject: [PATCH] [7.17] [build] Only use buildx if cross compiling (#128560) * [build] Only use buildx if cross compiling * reuse variable * fix conditional --- src/dev/build/tasks/os_packages/docker_generator/run.ts | 1 + .../tasks/os_packages/docker_generator/template_context.ts | 1 + .../docker_generator/templates/build_docker_sh.template.ts | 7 ++++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/dev/build/tasks/os_packages/docker_generator/run.ts b/src/dev/build/tasks/os_packages/docker_generator/run.ts index 5f2bc3de1c4ac..5a1ad6c337291 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/run.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/run.ts @@ -86,6 +86,7 @@ export async function runDockerGenerator( imageTag, dockerBuildDir, dockerTargetFilename, + dockerCrossCompile, baseOSImage, dockerBuildDate, ubi: flags.ubi, diff --git a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts index 334a582bf7b96..7705b1d16d248 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts @@ -14,6 +14,7 @@ export interface TemplateContext { version: string; license: string; artifactsDir: string; + dockerCrossCompile: boolean; imageTag: string; dockerBuildDir: string; dockerTargetFilename: string; diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts b/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts index 934f1b3c020e0..73159cee1f038 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts @@ -13,12 +13,17 @@ import { TemplateContext } from '../template_context'; function generator({ imageTag, imageFlavor, + dockerCrossCompile, version, dockerTargetFilename, baseOSImage, architecture, }: TemplateContext) { const dockerArchitecture = architecture === 'aarch64' ? 'linux/arm64' : 'linux/amd64'; + const dockerTargetName = `${imageTag}${imageFlavor}:${version}`; + const dockerBuild = dockerCrossCompile + ? `docker buildx build --platform ${dockerArchitecture} -t ${dockerTargetName} -f Dockerfile . || exit 1;` + : `docker build -t ${dockerTargetName} -f Dockerfile . || exit 1;`; return dedent(` #!/usr/bin/env bash # @@ -55,7 +60,7 @@ function generator({ retry_docker_pull ${baseOSImage} echo "Building: kibana${imageFlavor}-docker"; \\ - docker buildx build --platform ${dockerArchitecture} -t ${imageTag}${imageFlavor}:${version} -f Dockerfile . || exit 1; + ${dockerBuild} docker save ${imageTag}${imageFlavor}:${version} | gzip -c > ${dockerTargetFilename}