{{ if has "github" .Values.global.gitProviders }}
{{ if .Values.pipelines.deployableResources.helm }}
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
  name: github-helm-charts-lib-review
  labels:
    app.edp.epam.com/pipelinetype: review
    {{- include "edp-tekton.labels" . | nindent 4 }}
spec:
  description: "The Review pipeline for building Helm"
  workspaces:
    - name: shared-workspace
    - name: ssh-creds
  params:
    - name: pipelineUrl
      default: https://portal-{{ .Release.Namespace }}.{{ .Values.global.dnsWildCard }}/c/main/pipelines/$(context.pipelineRun.namespace)/$(context.pipelineRun.name)
      type: string
    - name: git-source-url
      default: "https://github.com/epmd-edp/python-python-python-3.8"
      description: git url to clone
      type: string
    - name: git-source-revision
      description: 'git revision to checkout (branch, tag, sha, ref…)'
      default: "edp"
      type: string
    - name: git-refspec
      description: Refspec to fetch before checking out revision.
      default: ""
      type: string
    - name: CODEBASE_NAME
      description: "Project name"
      type: string
    - name: changeNumber
      description: Change number from Merge Request
      default: ""
      type: string
    - name: gitfullrepositoryname
      description: "Repository full name"
      type: string
    - name: gitsha
      description: "Commit sha"
      type: string
    - name: CHART_DIR
      description: "The directory in source that contains the helm chart"
      default: "charts"
      type: string
    - name: CT_CONFIGS_DIR
      description: "ct-configs directory for helm-lint"
      default: "."
      type: string
    - name: targetBranch
      description: "Target branch of Merge Request"
      type: string
    - name: CHART_VERSION_INCREMENT
      description: "Check Chart version increment"
      default: 'true'
      type: string
  tasks:
    - name: github-set-pending-status
      taskRef:
        kind: Task
        name: github-set-status
      params:
        - name: REPO_FULL_NAME
          value: $(params.gitfullrepositoryname)
        - name: DESCRIPTION
          value: "Build has started"
        - name: STATE
          value: "pending"
        - name: AUTH_TYPE
          value: Token
        - name: GITHUB_TOKEN_SECRET_NAME
          value: ci-github
        - name: GITHUB_TOKEN_SECRET_KEY
          value: token
        - name: SHA
          value: $(params.gitsha)
        - name: TARGET_URL
          value: $(params.pipelineUrl)

    - name: fetch-repository
      taskRef:
        kind: Task
        name: git-clone
      runAfter:
        - github-set-pending-status
      params:
        - name: url
          value: $(params.git-source-url)
        - name: revision
          value: $(params.git-source-revision)
        - name: refspec
          value: $(params.git-refspec)
        - name: subdirectory
          value: source
      workspaces:
        - name: output
          workspace: shared-workspace
        - name: ssh-directory
          workspace: ssh-creds

    - name: helm-docs
      taskRef:
        kind: Task
        name: helm-library-docs
      runAfter:
        - fetch-repository
      params:
        - name: CHART_DIR
          value: $(params.CHART_DIR)
      workspaces:
        - name: source
          workspace: shared-workspace
          subPath: source

{{- include "helm-library-review-common" . | nindent 4 }}

{{ include "github-review-vote" . | nindent 2 }}

{{ end }}
{{ end }}
