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/arm/v7,linux/arm64 .
          docker buildx build --push \
            --tag ghcr.io/benbusby/whoogle-search:latest \
            --platform linux/amd64,linux/arm/v7,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 .