#!/usr/bin/env bash
# Roll back to the previously-deployed image tag (recorded by deploy.sh), or to an
# explicit IMAGE_TAG if provided. Run in the deploy directory.
#
# Usage:  ./rollback.sh                 # -> previous-tag.txt
#         IMAGE_TAG=<tag> ./rollback.sh # -> explicit tag
set -euo pipefail

if [ -z "${IMAGE_TAG:-}" ]; then
  if [ ! -f previous-tag.txt ]; then
    echo "ERROR: no previous-tag.txt and no IMAGE_TAG given — nothing to roll back to" >&2
    exit 1
  fi
  IMAGE_TAG="$(cat previous-tag.txt)"
fi
export IMAGE_TAG

echo "==> Rolling back to ${IMAGE_TAG}"
exec "$(dirname "$0")/deploy.sh"
