name: check ref branch/tag
author: Bolt lee
description: 'This action sets the deployment environment.'
inputs:
  ref:
    description: ''
    required: false
    default: 'test'
  head:
    description: ''
    required: false
    default: 'test'
  type:
    description: ''
    required: false
    default: 'test'
outputs:
  deploy_env:
    description: 'Get deployed environment' # dev, qa
    value: ${{ steps.set-values.outputs.deploy_env }}
  deploy_env_2:
    description: 'Get deployed environment'
    value: ${{ steps.set-values.outputs.deploy_env_2 }} # dev2, qa2
  release:
    description: 'Check rc or alpha tag'
    value: ${{ steps.release-pr.outputs.check }}
runs:
  using: "composite"
  steps:
    - name: check ref
      id: set-values
      shell: bash
      run: |
        TYPE=${{ inputs.type }}
        REF_NAME=${{ inputs.ref }}
        HEAD_REF_NAME=${{ inputs.head }}
        echo "TYPE-REF : ${{ inputs.type }}-${{ inputs.ref }}"
        
        if [[ "${TYPE}" == "tag" ]]; then
          echo "env test"
          echo "deploy_env=$( echo qa )" >> $GITHUB_OUTPUT
          echo "deploy_env_2=$( echo qa )" >> $GITHUB_OUTPUT
          if [[ "${REF_NAME}" =~ "qa2" ]]; then
            echo "deploy_env=$( echo qa2 )" >> $GITHUB_OUTPUT
            echo "deploy_env_2=$( echo qa2 )" >> $GITHUB_OUTPUT
          fi
        elif [[ "${TYPE}" == "branch" ]]; then
          if [[ "${REF_NAME}" == "dev2" ]]; then
            echo "deploy_env=$( echo dev )" >> $GITHUB_OUTPUT
            echo "deploy_env_2=$( echo dev2 )" >> $GITHUB_OUTPUT
          elif [[ "${REF_NAME}" == "dev3" ]]; then
            echo "deploy_env_2=$( echo dev3 )" >> $GITHUB_OUTPUT
          elif [[ "${REF_NAME:0:3}" == "dev" ]]; then
            echo "deploy_env=$( echo dev )" >> $GITHUB_OUTPUT
            echo "deploy_env_2=$( echo dev )" >> $GITHUB_OUTPUT
          elif [[ "${REF_NAME}" =~ "hotfix" ]]; then
            echo "deploy_env=$( echo qa )" >> $GITHUB_OUTPUT
            echo "deploy_env_2=$( echo qa2 )" >> $GITHUB_OUTPUT
          elif [[ "${REF_NAME:0:6}" == "master" ]]; then
            echo "deploy_env=$( echo staging )" >> $GITHUB_OUTPUT
            echo "deploy_env_2=$( echo staging )" >> $GITHUB_OUTPUT
            exit 0
          fi
        fi
        if [[ "${HEAD_REF_NAME}" =~ "hotfix" ]]; then
          echo "deploy_env=$( echo qa )" >> $GITHUB_OUTPUT
          echo "deploy_env_2=$( echo qa2 )" >> $GITHUB_OUTPUT
        fi
        
    - name: check deploy_env
      shell: bash
      run: |
        echo "DEPLOY_ENV:${{ steps.set-values.outputs.deploy_env}}"
    
