# Publish docker images to dockerhub on a tagged release
# Docker build will be uploaded to dockerhub with the 'invetree:<tag>' tag

name: Docker Publish

on:
  release:
    types: [published]

jobs:
  publish_image:
    name: Push InvenTree web server image to dockerhub
    runs-on: ubuntu-latest
    steps:
      - name: Check out repo
        uses: actions/checkout@v2
      - name: Check Release tag
        run: |
          python3 ci/check_version_number.py --release --tag ${{ github.event.release.tag_name }}
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      - name: Login to Dockerhub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - name: Build and Push
        uses: docker/build-push-action@v2
        with:
          context: ./docker
          platforms: linux/amd64,linux/arm64,linux/arm/v7
          push: true
          target: production
          build-args:
            tag: ${{ github.event.release.tag_name }}
          tags: inventree/inventree:${{ github.event.release.tag_name }}
