From b55ebbb9a9c0128bc752c10a15fc2e57f9d3d0c5 Mon Sep 17 00:00:00 2001 From: ntishchauhan0022 Date: Sat, 17 Jun 2023 13:29:45 +0530 Subject: [PATCH] fixing arm build Signed-off-by: ntishchauhan0022 --- operator-ci.yaml | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/operator-ci.yaml b/operator-ci.yaml index f2c737e..3bda70e 100644 --- a/operator-ci.yaml +++ b/operator-ci.yaml @@ -167,17 +167,22 @@ stages: pool: vmImage: "ubuntu-20.04" steps: - - task: Docker@2 - displayName: "Building docker image" + - task: DockerInstaller@0 + displayName: "Install Docker" inputs: - command: 'build' - Dockerfile: '**/Dockerfile' - tags: '$(Build.BuildId)' - repository: '${{ parameters.ApplicationName }}' + dockerVersion: '24.0.2' + releaseType: 'stable' + - script: | + docker buildx create --use + docker buildx inspect --bootstrap + displayName: "Setup Docker Buildx" + - script: | + docker buildx build -f **/Dockerfile -t ${{ parameters.ApplicationName }}:$(Build.BuildId) --platform=linux/amd64 --load + displayName: "Building Docker image" - script: | mkdir -p $(Build.ArtifactStagingDirectory)/image/amd64 docker save -o $(Build.ArtifactStagingDirectory)/image/amd64/${{ parameters.ApplicationName }}.tar ${{ parameters.ApplicationName }}:$(Build.BuildId) - displayName: "Archiving docker image" + displayName: "Archiving Docker image" - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/image/amd64' @@ -188,18 +193,25 @@ stages: pool: vmImage: "ubuntu-20.04" steps: - - task: Docker@2 - displayName: "Building docker image" + - task: DockerInstaller@0 + displayName: "Install Docker" inputs: - command: 'build' - Dockerfile: '**/Dockerfile' - tags: '$(Build.BuildId)-arm64' - arguments: '--build-arg ARCH=arm64' - repository: '${{ parameters.ApplicationName }}' + dockerVersion: '24.0.2' + releaseType: 'stable' + - script: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + displayName: "Setup QEMU for ARM emulation" + - script: | + docker buildx create --use + docker buildx inspect --bootstrap + displayName: "Setup Docker Buildx" + - script: | + docker buildx build -f **/Dockerfile -t ${{ parameters.ApplicationName }}:$(Build.BuildId)-arm64 --build-arg TARGETARCH=arm64 --platform=linux/arm64 --load + displayName: "Building Docker image" - script: | mkdir -p $(Build.ArtifactStagingDirectory)/image/arm64 docker save -o $(Build.ArtifactStagingDirectory)/image/arm64/${{ parameters.ApplicationName }}.tar ${{ parameters.ApplicationName }}:$(Build.BuildId)-arm64 - displayName: "Archiving docker image" + displayName: "Archiving Docker image" - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/image/arm64'