name: Create postgresql docker image
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
  push:
    branches:
      - main
    paths:
      - "Dockerfile"

jobs:
  Explore-Gitea-Actions:
    runs-on: ubuntu-latest
    env:
      REGISTRY: git.cooltux.net
      IMAGE: db/pg_dump
      DOCKER_ORG: ${{ secrets.DOCKER_USERNAME }}
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2

      - name: Set up Docker BuildX
        uses: docker/setup-buildx-action@v2
        with: # replace it with your local IP
          config-inline: |
            [registry."git.cooltux.net"] 
              http = false
              insecure = false

      - name: Login to DockerHub
        uses: docker/login-action@v2
        with:
          registry: ${{ env.REGISTRY }} # replace it with your local IP
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: Get Meta
        id: meta
        run: |
          echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT
          # echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT

      - name: Set Docker Version
        id: get_version
        run: |
          DOCKER_VERSION=$(grep -oP '(?<=^ARG VERSION=).*' Dockerfile)
          echo "Docker version: $DOCKER_VERSION"
          echo "::set-output name=tag::$DOCKER_VERSION"

      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          file: ./Dockerfile
          platforms: |
            linux/amd64
          push: false
          tags: |
            ${{ env.REGISTRY }}/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.get_version.outputs.tag }}