#!/bin/sh

# Rollback release to previous
# Local deploy

set -e

# Environment vars
# DESTDIR, prefix for target files, optional

# Config vars
DEPLOY_DIR="<%= deploy_dir %>"

RELEASES_DIR="${DESTDIR}${DEPLOY_DIR}/releases"
CURRENT_LINK="${DESTDIR}${DEPLOY_DIR}/current"
# TODO: error handling
PREV_DIR=$(find "${RELEASES_DIR}" -maxdepth 1 | sort | tail -2 | head -1)
PREV_NAME=$(basename "${PREV_DIR}")
RELEASE="${RELEASE:-$PREV_NAME}"

echo "==> Rolling back to release $RELEASE"
if [[ -L "$CURRENT_LINK" ]]; then
    rm "$CURRENT_LINK"
fi
ln -s "${RELEASES_DIR}/${PREV_NAME}" "$CURRENT_LINK"
