name: buildx on: workflow_run: workflows: ["docker_main"] branches: [main] types: - completed push: tags: - '*' jobs: on-success: runs-on: ubuntu-latest steps: - name: Wait for tests to succeed if: ${{ github.event.workflow_run.conclusion != 'success' && startsWith(github.ref, 'refs/tags') != true }} run: exit 1 - name: checkout code uses: actions/checkout@v2 - name: install buildx id: buildx uses: crazy-max/ghaction-docker-buildx@v1 with: version: latest - name: Login to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Login to ghcr.io uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: build and push the image if: startsWith(github.ref, 'refs/heads/main') && github.actor == 'benbusby' run: | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker buildx ls docker buildx build --push \ --tag benbusby/whoogle-search:latest \ --platform linux/amd64,linux/arm64 . docker buildx build --push \ --tag ghcr.io/benbusby/whoogle-search:latest \ --platform linux/amd64,linux/arm64 . - name: build and push tag if: startsWith(github.ref, 'refs/tags') run: | docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker buildx ls docker buildx build --push \ --tag benbusby/whoogle-search:${GITHUB_REF#refs/*/v}\ --platform linux/amd64,linux/arm/v7,linux/arm64 . docker buildx build --push \ --tag ghcr.io/benbusby/whoogle-search:${GITHUB_REF#refs/*/v}\ --platform linux/amd64,linux/arm/v7,linux/arm64 .