name: build docker image

on:
  workflow_dispatch:
  push:
    branches:
      - "**"
    tags:
      - "**"

jobs:
  test:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout the code
        uses: actions/checkout@v3
      - name: Test Bash scripts
        run: sudo apt-get -qq update && sudo apt-get install -y devscripts shellcheck && make test
  build:
    runs-on: ubuntu-22.04
    needs: test
    steps:
      - name: Checkout the code
        uses: actions/checkout@v3
      # https://github.com/docker/setup-qemu-action
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2
      # https://github.com/docker/setup-buildx-action
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2
      - name: Get latest release version number
        id: docker-tag
        uses: yuya-takeyama/docker-tag-from-github-ref-action@v1
      - name: Login to Docker Hub
        run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
      - name: Build multiarch image
        run: |
          docker buildx build --push \
            --tag fradelg/mysql-cron-backup:${{ steps.docker-tag.outputs.tag }} \
            --platform linux/amd64,linux/arm/v7,linux/arm64 .