name: Docker Build/Publish Image on: push: branches: [ master ] jobs: build: runs-on: ubuntu-18.04 env: DOCKER_IMAGE: kshfse/dashy DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} DOCKER_TARGET_PLATFORM: linux/arm/v7 steps: - name: Checkout the code uses: actions/checkout@v1 - name: Set up Docker Buildx uses: crazy-max/ghaction-docker-buildx@v1 with: version: latest - name: Prepare if: success() id: prepare run: | echo ::set-output name=docker_platform::${DOCKER_TARGET_PLATFORM} echo ::set-output name=docker_image::${DOCKER_REGISTRY}/${DOCKER_IMAGE} echo ::set-output name=version::${GITHUB_RUN_NUMBER} - name: Docker Login if: success() run: | echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - name: Run Buildx (push image) if: success() run: | docker buildx build --platform ${{ steps.prepare.outputs.docker_platform }} --tag ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }} --file ./docker/Dockerfile-multi-arch --output type=image,push=true .