#!/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}" = "primary" ]; then
  mkdir -p ${LOGDIR}
  NOTIFY=(
    chromeos-infra-eng@grotations.appspotmail.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
