#!/usr/bin/env bash

# SPDX-FileCopyrightText: 2022-2024 Open Networking Foundation (ONF) and the ONF Contributors
# SPDX-License-Identifier: Apache-2.0

set -eu -o pipefail

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

# Variables used in this and child scripts
export PUBLISH_URL="charts.opencord.org"
export OLD_REPO_DIR="cord-charts-repo"
export NEW_REPO_DIR="chart_repo"

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

# Checkout 'cord-charts-repo' repo that contains updated charts
git clone "ssh://jenkins@gerrit.opencord.org:29418/$OLD_REPO_DIR.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 repo add stable https://charts.helm.sh/stable
helm repo add rook-release https://charts.rook.io/release
helm repo add cord https://charts.opencord.org
helm repo add elastic  https://helm.elastic.co
helm repo add kiwigrid https://kiwigrid.github.io

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

# Tag and push to git the charts repo
pushd "$OLD_REPO_DIR"

  # 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

rsync -rvzh --delete-after --exclude=.git "$OLD_REPO_DIR/" "static.opennetworking.org:/srv/sites/$PUBLISH_URL/"
