---
# CORD helm chart publishing tasks

- project:
    name: helm-repo

    # add repos that have documentation to the project list in both jobs
    jobs:
      - 'publish-helm-repo':
          project-regexp: '{helm-charts-projects-regexp}'
          branch-regexp: '{supported-branches-regexp}'

- job-template:
    id: publish-helm-repo
    name: 'publish-helm-repo'
    description: |
      Created by publish-helm-repo job-template from ci-management/jjb/helm.yaml

    triggers:
      - cord-infra-gerrit-trigger-merge:
          gerrit-server-name: '{gerrit-server-name}'
          project-regexp: '{project-regexp}'
          branch-regexp: '{branch-regexp}'
          file-include-regexp: '{all-files-regexp}'
          dependency-jobs: '{dependency-jobs}'

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'

    wrappers:
      - lf-infra-wrappers:
          build-timeout: '{build-timeout}'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    scm:
      - lf-infra-gerrit-scm:
          git-url: '$GIT_URL/$GERRIT_PROJECT'
          refspec: ''
          branch: '$GERRIT_BRANCH'
          submodule-recursive: 'false'
          choosing-strategy: 'gerrit'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    node: '{build-node}'
    project-type: freestyle
    concurrent: false

    builders:
      - shell: |
          #!/usr/bin/env bash
          set -eu -o pipefail

          echo "git version: $(git --version)"

          # Configure git
          git config --global user.email "do-not-reply@opencord.org"
          git config --global user.name "Jenkins"

          # Checkout 'cord-charts-repo' repo that contains updated charts
          git clone ssh://jenkins@gerrit.opencord.org:29418/cord-charts-repo.git

          # Clone the `helm-repo-tools` which contains scripts
          git clone ssh://jenkins@gerrit.opencord.org:29418/helm-repo-tools.git

          # Setup helm and external repos
          helm init --client-only
          helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
          helm repo add rook-beta https://charts.rook.io/beta
          helm repo add cord https://charts.opencord.org

          # Update the repo
          ./helm-repo-tools/helmrepo.sh

          # Tag and push to git the charts repo
          pushd cord-charts-repo

            # only update if charts are changed
            set +e
            if git diff --exit-code index.yaml > /dev/null; then
              echo "No changes to charts in patchset $GERRIT_CHANGE_NUMBER on project: $GERRIT_PROJECT, exiting."
              exit 0
            fi
            set -e

            # version tag is the current date in RFC3339 format
            NEW_VERSION=$(date -u +%Y%m%dT%H%M%SZ)

            # Add changes and create commit
            git add -A
            git commit -m "Changed by CORD Jenkins publish-helm-repo job: $BUILD_NUMBER, for project: $GERRIT_PROJECT, patchset: $GERRIT_CHANGE_NUMBER"

            # create tag on new commit
            git tag "$NEW_VERSION"

            echo "Tags including new tag:"
            git tag -n

            # push new commit and tag back into repo
            git push origin
            git push origin "$NEW_VERSION"
          popd

          # Set up the ssh host keys for the docs host
          mkdir -p ~/.ssh
          echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts

          # Copy updated repo to host
          rsync -rvzh --delete-after --exclude=.git cord-charts-repo/ {docs-ssh-host}:/var/www/charts

    publishers:
      - email:
          recipients: 'andy@opennetworking.org kailash@opennetworking.org luca@opennetworking.org teo@opennetworking.org saurav@opennetworking.org zdw@opennetworking.org'

