#!/bin/bash
# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

SCRIPT_DIR=$(dirname $(readlink -f $0))
cd ${SCRIPT_DIR}/..

LOGDIR=logs/stable-version
ASSIGN_STABLE=site_utils/stable_images/assign_stable_images.py
OPTIONS=()

# STATUS is part hack, part safety valve.  The cron job that invokes
# this script may be installed and enabled on both a primary and backup
# server.  We skip running on the backup, but really, the backup
# shouldn't have invoked this script in the first place...
#
# If we're not invoked on an autotest server at all, we assume this is
# for testing, and invoke a dry run instead.
#
SERVER_STATUS=$(cli/atest server list $(hostname) 2>&1 |
                  awk '/^status *:/ { print $NF }')
if [ "${SERVER_STATUS}" = "STATUS_PRIMARY" ]; then
  mkdir -p ${LOGDIR}
  NOTIFY=(
    chromeos-test-monitors@google.com
  )
else
  if [ -n "${SERVER_STATUS}" ]; then
    # must be backup
    exit 0
  fi
  OPTIONS=( --dry-run )
  NOTIFY=( ${LOGNAME}@google.com )
fi

# Redirect onto a log file.  For debug purposes, skip redirection if
# there's a command line argument (we ignore what the argument is), or
# if there's no log directory.
#
TAG=$(date '+%Y-%W')
if [ $# -eq 0 -a -d ${LOGDIR} ]; then
    LOGFILE="update-${TAG}.log"
    exec >>${LOGDIR}/${LOGFILE} 2>&1
fi

trap 'rm -f ${TMPFILE}' EXIT
TMPFILE=$(mktemp)

date
$ASSIGN_STABLE "${OPTIONS[@]}" 2>&1 | tee ${TMPFILE}
echo

# If we have a log directory, clean it up, and send e-mail notification.
# The log files change name each week, so by throwing out all but the
# most recent 14 files, we keep about 3 months of history, plus this
# week's log.
#
if [ -d ${LOGDIR} ]; then
    SUBJECT="Stable version update summary ${TAG}"
    site_utils/gmail_lib.py -s "${SUBJECT}" "${NOTIFY[@]}" <${TMPFILE}
    rm -f $(ls -r ${LOGDIR}/update-*.log | sed '1,14 d')
fi
