name: 4testing multiarch-build on: push: branches: - 'hotfix/v**' - 'release/v**' env: DOCKER_PATH: "/build/install/docker" REPO: "onlyoffice" DOCKER_IMAGE_PREFIX: "4testing-docspace" DOCKERFILE: "Dockerfile.app" jobs: build: runs-on: ubuntu-latest strategy: matrix: platform: [linux/amd64] steps: - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v2 - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build 4testing run: | cd .${DOCKER_PATH} TAG=${{github.run_number}} export DOCKER_TAG=$(echo "${GITHUB_REF_NAME}" | sed '/^release\b\|^hotfix\b/s/release.*\/\|hotfix.*\///') docker buildx bake -f build.yml \ --set *.args.GIT_BRANCH=$GITHUB_REF_NAME \ --set *.platform=linux/amd64 \ --load DOCKER_IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep "$REPO" | tr '\n' ' ') IFS=" " read -a IMAGES <<< "$DOCKER_IMAGES" for IMAGE in ${IMAGES[@]}; do NEW_IMAGE="$IMAGE"-"$TAG" docker push "$IMAGE" docker tag "$IMAGE" "$NEW_IMAGE" docker push "$NEW_IMAGE" done shell: bash