From de1691bb685f3996f74269f591c35c4adcf98ad6 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 12 Aug 2023 23:39:50 -0700 Subject: [PATCH] Added multiplatform build to github actions --- .github/workflows/master_build_push.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/master_build_push.yml b/.github/workflows/master_build_push.yml index a5fda30..c14cd55 100644 --- a/.github/workflows/master_build_push.yml +++ b/.github/workflows/master_build_push.yml @@ -29,11 +29,17 @@ jobs: INITIAL_VERSION: 1.0.0 WITH_V: false + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: DockerHub Build and push Simulator Docker Image uses: docker/build-push-action@v1.0.0 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 repository: iottelemetrysimulator/azureiot-telemetrysimulator tags: latest, ${{ steps.new_version.outputs.tag }} dockerfile: src/IotTelemetrySimulator/Dockerfile @@ -44,12 +50,13 @@ jobs: with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + platforms: linux/amd64,linux/arm64 repository: iottelemetrysimulator/azureiot-simulatordeviceprovisioning tags: latest, ${{ steps.new_version.outputs.tag }} dockerfile: src/IotSimulatorDeviceProvisioning/Dockerfile push: true - - name: Azure Coontainer Registry Build and push Docker Images + - name: Azure Container Registry Build and push Docker Images uses: azure/docker-login@v1 with: login-server: ${{ secrets.ACR_URL }} @@ -57,12 +64,12 @@ jobs: password: ${{ secrets.ACR_PASSWORD }} - run: | - docker build -f src/IotSimulatorDeviceProvisioning/Dockerfile -t ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:${{ steps.new_version.outputs.tag }} . + docker buildx build --platform=linux/amd64,linux/arm64 -f src/IotSimulatorDeviceProvisioning/Dockerfile -t ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:${{ steps.new_version.outputs.tag }} . docker push ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:${{ steps.new_version.outputs.tag }} docker tag ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:${{ steps.new_version.outputs.tag }} ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:latest docker push ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-simulatordeviceprovisioning:latest - docker build -f src/IotTelemetrySimulator/Dockerfile -t ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:${{ steps.new_version.outputs.tag }} . + docker buildx build --platform=linux/amd64,linux/arm64 -f src/IotTelemetrySimulator/Dockerfile -t ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:${{ steps.new_version.outputs.tag }} . docker push ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:${{ steps.new_version.outputs.tag }} docker tag ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:${{ steps.new_version.outputs.tag }} ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:latest docker push ${{ secrets.ACR_URL }}/public/oss/azure-samples/azureiot-telemetrysimulator:latest