name: Docker Image Build
description: Builds Cobalt build docker images.
inputs:
  service:
    description: "Service name from docker compose."
    required: true
runs:
  using: "composite"
  steps:
    - name: Rename Limit
      run: git config diff.renameLimit 999999
      shell: bash
    - name: Get docker file changes
      id: changed-files
      uses: tj-actions/changed-files@2d756ea4c53f7f6b397767d8723b3a10a9f35bf2 # v44
      with:
        files_ignore: third_party/**
        files: |
          docker-compose-windows.yml
          docker/windows/**
          .github/actions/docker_win/**
    - name: Retrieve Docker metadata
      id: meta
      uses: docker/metadata-action@507c2f2dc502c992ad446e3d7a5dfbe311567a96 # v4.3.0
      with:
        images: ${{env.REGISTRY}}/${{github.repository}}/cobalt-${{inputs.service}}
        tags: |
          type=ref,event=branch
          type=ref,event=tag
          type=ref,event=pr
    - name: Set Docker Tag
      run: |
        set -x
        docker_tag="${{ steps.meta.outputs.tags }}"
        docker_tag="${docker_tag%.1[+,-]}"
        echo "DOCKER_TAG=${docker_tag}" >> $GITHUB_ENV
      shell: bash
    # We need to set docker tag properly for pull requests.  In those scenarios where no docker related files
    # were changed we need to use an existing image (e.g. main).  In cases where docker image is rebuilt we have
    # to use tag generated by the image build.
    - name: Set Docker Tag
      if: ${{ (steps.changed-files.outputs.any_changed == 'false') && (github.event_name == 'pull_request') }}
      env:
        REPO: ${{ github.repository }}
      run: echo "DOCKER_TAG=ghcr.io/${REPO}/cobalt-${{inputs.service}}:${GITHUB_BASE_REF%.1+}" >> $GITHUB_ENV
      shell: bash
    - name: Process Docker metadata
      id: process-docker
      run: |
        set -x
        set +e
        docker manifest inspect $DOCKER_TAG > /dev/null
        if [[ $? -ne 0 || ${{ steps.changed-files.outputs.any_changed }} == 'true' ]]; then
          echo "need_to_build=true" >> $GITHUB_ENV
        else
          echo "need_to_build=false" >> $GITHUB_ENV
        fi
      shell: bash
    - name: Build containers with Docker Compose
      if: env.need_to_build == 'true'
      env:
        DOCKER_CPUS: 2
        SERVICE: ${{inputs.service}}
      shell: bash
      run: |
        set -xue
        docker compose -f docker-compose-windows.yml up --no-start "${SERVICE}"
    - name: Tag images
      if: ${{ (env.need_to_build == 'true') && ((github.event_name != 'pull_request') || (!github.event.pull_request.head.repo.fork)) }}
      run: |
        docker tag cobalt-${{inputs.service}} $DOCKER_TAG
      shell: bash
    - name: Push images
      if: ${{ (env.need_to_build == 'true') && ((github.event_name != 'pull_request') || (!github.event.pull_request.head.repo.fork)) }}
      run: docker push ${DOCKER_TAG}
      shell: bash
