name: config.yaml patch helm chart for klip
author: Kyle, Harper
description: 'This action is used when the CI done.'
inputs:
  PROJECT:
    description: ''
    required: true
    default: ''
  PROJECT_NAME:
    description: ''
    required: true
    default: ''
  ENVIRONMENT:
    description: ''
    required: true
    default: ''
  IS_STAGING:
    description: ''
    required: false
    default: 'enabled'

runs:
  using: "composite"
  steps:
    - name: set outputs
      id: set-outputs
      shell: bash
      run: |
        echo "ENVIRONMENT=${{ inputs.ENVIRONMENT }}" >> $GITHUB_OUTPUT
        echo "IS_STAGING=${{ inputs.IS_STAGING }}" >> $GITHUB_OUTPUT
        echo "PROJECT=${{ inputs.PROJECT }}" >> $GITHUB_OUTPUT
        echo "PROJECT_NAME=${{ inputs.PROJECT_NAME }}" >> $GITHUB_OUTPUT
    - name: kas or baas (staging, prod)
      if: |
        ( steps.set-outputs.outputs.PROJECT == 'kas' || steps.set-outputs.outputs.PROJECT == 'baas' ) 
        && steps.set-outputs.outputs.ENVIRONMENT == 'staging'
      shell: bash
      run: |
        if [[ ${{ inputs.IS_STAGING }} == "disabled" ]]; then
          cp ./actions_config/fixtures/${{ inputs.PROJECT_NAME }}/values/prod/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/prod/config.yaml
          exit 0
        fi
        
        if [[ ${{ inputs.IS_STAGING }} == "enabled" ]]; then
          cp ./actions_config/fixtures/${{ inputs.PROJECT_NAME }}/values/staging/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/staging/config.yaml
          cp ./actions_config/fixtures/${{ inputs.PROJECT_NAME }}/values/prod/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/prod/config.yaml
          exit 0
        fi
        
    - name: kas or baas (dev , qa, etc ...)
      if: |
        ( steps.set-outputs.outputs.PROJECT == 'kas' || steps.set-outputs.outputs.PROJECT == 'baas' ) 
        && steps.set-outputs.outputs.ENVIRONMENT != 'staging'
      shell: bash
      run: |
        if [[ ${{ inputs.PROJECT }} == "kas" ]] && [[ ${{ inputs.ENVIRONMENT }} == "qa" ]]; then
          cp ./actions_config/fixtures/${{ inputs.PROJECT_NAME }}/values/qa-2/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/qa-2/config.yaml
        else
          cp ./actions_config/fixtures/${{ inputs.PROJECT_NAME }}/values/${{ inputs.ENVIRONMENT }}/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/${{ inputs.ENVIRONMENT }}/config.yaml
        fi
        exit 0

    - name: klip(staging, prod)
      if: |
        steps.set-outputs.outputs.PROJECT == 'klip' && steps.set-outputs.outputs.ENVIRONMENT == 'staging'
      shell: bash
      run: |
        if [[ ${{ inputs.IS_STAGING }} == "disabled" ]]; then
          cp ./actions_config/fixtures/helm-chart/values/prod/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/prod/config.yaml
          exit 0
        fi
        
        if [[ ${{ inputs.IS_STAGING }} == "enabled" ]]; then
          cp ./actions_config/fixtures/helm-chart/values/staging/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/staging/config.yaml
          cp ./actions_config/fixtures/helm-chart/values/prod/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/prod/config.yaml
          exit 0
        fi
    
    - name: klip (dev, qa, etc ...)
      if: |
        steps.set-outputs.outputs.PROJECT == 'klip' && steps.set-outputs.outputs.ENVIRONMENT != 'staging'
      shell: bash
      run: |       
        cp ./actions_config/fixtures/helm-chart/values/${{ inputs.ENVIRONMENT }}/config.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/helm-chart/values/${{ inputs.ENVIRONMENT }}/config.yaml
        exit 0
    - name: devops
      if: |
        steps.set-outputs.outputs.PROJECT == 'devops' && steps.set-outputs.outputs.ENVIRONMENT != 'staging'
      shell: bash
      run: |
        cp ./actions_config/config/${{ inputs.ENVIRONMENT }}.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/${{ inputs.ENVIRONMENT }}/config.yaml
        exit 0
    - name: devops (staging)
      if: |
        steps.set-outputs.outputs.PROJECT == 'devops' && steps.set-outputs.outputs.ENVIRONMENT == 'staging'
      shell: bash
      run: |
        cp ./actions_config/config/${{ inputs.ENVIRONMENT }}.yaml charts/apps/${{ inputs.PROJECT }}/${{ inputs.PROJECT_NAME }}/values/devops/config.yaml
        exit 0