name: Create Docker Image
run-name: ${{ gitea.actor }} Building Docker Image 🚀
on: [push]

jobs:
  build:
    name: Build Docker Image
    runs-on: docker-x86
    container: 
      image: docker:dind
      privileged: true
    env:
      BRANCH: master
      VERSION: 8.3-fpm
      DOCKER_HOST: tcp://127.0.0.1:2375
      VERSIONARCH: ${VERSION}-${ARCH}

    steps:
      - name: Environment
        run: |
          if [ ! -d build-cache ]; then mkdir build-cache; fi
          if [ -n "${HTTP_PROXY}" ]; then echo "HTTP PROXY [${HTTP_PROXY}]"; sed -i -e s'/https/http/' /etc/apk/repositories; fi
          apk add git curl nodejs jq
          ( dockerd --host=tcp://0.0.0.0:2375 --tls=false & ) && sleep 3
          docker info && docker version
          # env|sort
          # docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" "$CI_SERVER_HOST"
          #echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin
          echo "++ PS" && ps -Af
          echo "++ Environment" && env|sort
          echo "++ PWD" && pwd
          echo "++ ls" && ls -al

      - name: Checkout Code
        uses: actions/checkout@v4

      - name: Prepare Registry FQDN
        id: registry
        run: |
          registry=${{ github.server_url }}
          registry=${registry##http*://}
          echo "registry=${registry}" >> "$GITHUB_OUTPUT"

      #- name: Environment part 2
      #  run: |
      #    echo "++ Environment" && env|sort
      #    echo "++ PWD" && pwd
      #    echo "++ ls" && ls -al
      #    echo "++ workspace" && ls ${{ gitea.workspace }}
      #    echo "++ host is ${{ gitea.repository }}"
      #    echo "++ registry is ${{ steps.registry.outputs.registry }}"
      #    echo "++ container ${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}"
      #    echo "++ gitea server/domain ${{ gitea.server }}/${{ gitea.domain }}:latest"
      #    echo "++ github token ${{ gitea.TOKEN }}"
      #    echo "++ runtime token ${{ env.ACTIONS_RUNTIME_TOKEN }}"

      #- name: Build
      #  run: |
      #    set -x
      #    if [ -f init ]; then chmod 500 init; fi
      #    docker build ${HTTP_PROXY:+--build-arg HTTP_PROXY=${HTTP_PROXY}} -t ${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}
      #    docker push ${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}

      # name: Set up Docker Buildx
      # uses: https://github.com/docker/setup-buildx-action@v3
      # with:
      #   config-inline: |
      #     [registry."<my-private-unsecure-git-repository-ip-address>:5000"]
      #       http = true
      #       insecure = true            

      - name: Login to Container Registry
        uses: docker/login-action@v2
        with:
          registry: ${{ steps.registry.outputs.registry }}
          username: deon
          password: ${{ secrets.PKG_WRITE_TOKEN }}

      #- name: Build and push Docker image
      #  uses: docker/build-push-action@v5
      #  env:
      #    GIT_AUTH_TOKEN: ${{ secrets.PKG_WRITE_TOKEN }}
      #  with:
      #    context: .
      #    file: ./Dockerfile
      #    push: true
      #    tags: "${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}"