#/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"