#/bin/bash
set -euo pipefail

# usage: local-release.sh <repo>

# Tags a new image from local working tree, makes a temporary commit,
# pushes it to $repo, builds a temporary set of manifests replacing the
# deployment with the $repo pullspec.

REPO="$1"
git add .
git commit -m "Temporary"
REV=$(git rev-parse --short HEAD)
docker build -t $REPO:$REV -f images/cluster-dns-operator/Dockerfile .
docker push $REPO:$REV
git reset --soft HEAD~1

TMP_MANIFESTS=/tmp/cluster-dns-operator-manifests
mkdir -p $TMP_MANIFESTS
cp manifests/* $TMP_MANIFESTS
cat manifests/0000_08_cluster-dns-operator_02-deployment.yaml | sed "s~openshift/origin-cluster-dns-operator:latest~$REPO:$REV~" > "$TMP_MANIFESTS/0000_08_cluster-dns-operator_02-deployment.yaml"

echo "Pushed $REPO:$REV"
echo "Install manifests using:"
echo ""
echo "oc apply -f $TMP_MANIFESTS"