From a71b93dd84c10e967ea7eb82b289afd8c6e1aa8c Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 5 Mar 2025 15:07:06 +0800 Subject: [PATCH] fix: unable to install software-properties-common in dev builder (#5643) * fix: unable to install software-properties-common in dev builder * test dev builder * improve dev-build image * setup qemu action --- .../actions/build-dev-builder-images/action.yml | 16 +++++++++++----- Makefile | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/actions/build-dev-builder-images/action.yml b/.github/actions/build-dev-builder-images/action.yml index 9c30caad35..41f6919396 100644 --- a/.github/actions/build-dev-builder-images/action.yml +++ b/.github/actions/build-dev-builder-images/action.yml @@ -41,7 +41,14 @@ runs: username: ${{ inputs.dockerhub-image-registry-username }} password: ${{ inputs.dockerhub-image-registry-token }} - - name: Build and push dev-builder-ubuntu image + - name: Set up qemu for multi-platform builds + uses: docker/setup-qemu-action@v3 + with: + platforms: linux/amd64,linux/arm64 + # The latest version will lead to segmentation fault. + image: tonistiigi/binfmt:qemu-v7.0.0-28 + + - name: Build and push dev-builder-ubuntu image # Build image for amd64 and arm64 platform. shell: bash if: ${{ inputs.build-dev-builder-ubuntu == 'true' }} run: | @@ -52,7 +59,7 @@ runs: IMAGE_NAMESPACE=${{ inputs.dockerhub-image-namespace }} \ DEV_BUILDER_IMAGE_TAG=${{ inputs.version }} - - name: Build and push dev-builder-centos image + - name: Build and push dev-builder-centos image # Only build image for amd64 platform. shell: bash if: ${{ inputs.build-dev-builder-centos == 'true' }} run: | @@ -69,8 +76,7 @@ runs: run: | make dev-builder \ BASE_IMAGE=android \ + BUILDX_MULTI_PLATFORM_BUILD=amd64 \ IMAGE_REGISTRY=${{ inputs.dockerhub-image-registry }} \ IMAGE_NAMESPACE=${{ inputs.dockerhub-image-namespace }} \ - DEV_BUILDER_IMAGE_TAG=${{ inputs.version }} && \ - - docker push ${{ inputs.dockerhub-image-registry }}/${{ inputs.dockerhub-image-namespace }}/dev-builder-android:${{ inputs.version }} + DEV_BUILDER_IMAGE_TAG=${{ inputs.version }} diff --git a/Makefile b/Makefile index 98fd3db1be..c2f6f72200 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,8 @@ ifeq ($(BUILDX_MULTI_PLATFORM_BUILD), all) BUILDX_MULTI_PLATFORM_BUILD_OPTS := --platform linux/amd64,linux/arm64 --push else ifeq ($(BUILDX_MULTI_PLATFORM_BUILD), amd64) BUILDX_MULTI_PLATFORM_BUILD_OPTS := --platform linux/amd64 --push +else ifeq ($(BUILDX_MULTI_PLATFORM_BUILD), arm64) + BUILDX_MULTI_PLATFORM_BUILD_OPTS := --platform linux/arm64 --push else BUILDX_MULTI_PLATFORM_BUILD_OPTS := -o type=docker endif