
name: local-build
run-name: local-build ${{ github.actor }} 
on:
  # push:
  #   tags:
  #     - v1.**
  #   branches:
  #     - 'main'
  #   branches:
  #     - 'release-*'

  # Allow run workflow manually from Action tab
  workflow_dispatch:
    inputs:
      IMAGE_VER:
        description: "version for build image"
        type: string

env:
  REGISTRY: docker.frappet.com
  IMAGE_NAME: edm/core

jobs:
  # act workflow_dispatch --reuse -W .github/workflows/local-build.yaml --input IMAGE_VER=v0.2.4-dev
  local-image:  
    runs-on: ubuntu-latest
    steps:
      - name: Check out code # checkout only cms is possible but I checkout all
        uses: actions/checkout@v3
      - name: Gen Version
        id: gen_ver
        run: |
          IMAGE_VER=${{ github.event.inputs.IMAGE_VER }}
          echo "{\"version\":\"$IMAGE_VER\", \"builddate\":\"$(date +"%Y-%m-%d_%T")\",\"ref_name\":\"$GITHUB_REF\" }" > ./Services/server/src/ver.json
          cat ./Services/server/src/ver.json
          echo '::set-output name=image_ver::'$IMAGE_VER
      - name: Debug act
        if: ${{ env.ACT }}
        run: |
          echo $GITHUB_REF
          echo ${{ steps.gen_ver.outputs.image_ver }}
          cat ./Services/server/src/ver.json

      - name: Build docker image
        uses: docker/build-push-action@v4
        with: 
          context: ./Services
          load: true
          # cache-from: type=gha
          # cache-to: type=gha,mode=max
          # cache-from: type=local,src=/tmp/.buildx-cache
          # cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
          tags: ${{env.REGISTRY}}/${{env.IMAGE_NAME}}:${{ steps.gen_ver.outputs.image_ver }},${{env.REGISTRY}}/${{env.IMAGE_NAME}}:latest
