name: Build Docker Image

on:
  push:
    branches:
      - main
    tags:
      - "v*"

jobs:
  build-backend:
    runs-on: docker

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Login to Docker registry
        run: |
          echo "${{ secrets.REGISTRY_PASSWORD }}" | \
            docker login git.koppkb.com \
              -u "${{ secrets.REGISTRY_USERNAME }}" \
              --password-stdin

      - name: Build & push backend image
        run: |
          set -e

          IMAGE="git.koppkb.com/kopkb/qms-be"
          TAGS="-t ${IMAGE}:${{ gitea.sha }}"

          if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then
            TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}"
          fi

          echo "Building and pushing backend: ${TAGS}"
          docker buildx build \
            --platform linux/amd64 \
            --cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \
            --cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \
            -f be/Dockerfile \
            ${TAGS} \
            --push \
            be

  # --- Frontend builds (enable when FE Dockerfiles are ready) ---
  # build-frontend:
  #   runs-on: docker
  #
  #   steps:
  #     - name: Checkout repository
  #       uses: actions/checkout@v4
  #
  #     - name: Login to Docker registry
  #       run: |
  #         echo "${{ secrets.REGISTRY_PASSWORD }}" | \
  #           docker login git.koppkb.com \
  #             -u "${{ secrets.REGISTRY_USERNAME }}" \
  #             --password-stdin
  #
  #     - name: Build & push frontend image
  #       run: |
  #         set -e
  #
  #         IMAGE="git.koppkb.com/kopkb/qms-fe"
  #         TAGS="-t ${IMAGE}:${{ gitea.sha }}"
  #
  #         if [ "${{ gitea.ref_type }}" = "tag" ] && echo "${{ gitea.ref_name }}" | grep -q '^v'; then
  #           TAGS="${TAGS} -t ${IMAGE}:${{ gitea.ref_name }}"
  #         fi
  #
  #         echo "Building and pushing frontend: ${TAGS}"
  #         docker buildx build \
  #           --platform linux/amd64 \
  #           --cache-from type=registry,ref=${IMAGE}:buildcache,ignore-error=true \
  #           --cache-to type=registry,ref=${IMAGE}:buildcache,mode=max \
  #           -f fe/docker/Dockerfile \
  #           --build-arg VITE_API_BASE_URL=https://api.example.com \
  #           ${TAGS} \
  #           --push .
