Files @ 619bc033bc52
Branch filter:

Location: website/cron/scripts/website-update.sh

brett
js: Render <video> inner HTML when no source is supported.

The HTML inside <video> is meant to be rendered by browsers that don't
support the tag at all. You have to respond to the JavaScript error event
to deal with browsers that support video, but no available source. See
<https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video#Showing_fallback_content_when_no_source_could_be_decoded>;.
#!/bin/sh

set -e
set -u

LOCKDIR="/tmp/website-update.$(id -u)"
SITEDIR=~/website
PRODUCTION_BRANCH=master
DB_FILE=~/Database/conservancy-website.sqlite3
DB_SCRIPT=~bkuhn/django-supporters-list.sql

git_rev_name() {
    git rev-parse --abbrev-ref --symbolic-full-name "$@"
}

if ! mkdir "$LOCKDIR"; then
    test -d "$LOCKDIR"
    exit $?
fi
trap 'rmdir "$LOCKDIR"' 0 INT TERM QUIT

exitcode=0
if [ "$DB_SCRIPT" -nt "$DB_FILE" ]; then
    sqlite3 "$DB_FILE" <"$DB_SCRIPT" || exitcode=$?
fi

# If the checkout is not on the production branch,
# assume maintenance is happening and stop.
cd "$SITEDIR"
if [ "$(git_rev_name HEAD)" != "$PRODUCTION_BRANCH" ]; then
    exit "$exitcode"
fi

# Abort if the production branch isn't tracking a remote branch.
if ! git_upstream="$(git_rev_name '@{upstream}' 2>/dev/null)"; then
    exit 3
fi

IFS=/ read git_remote git_refspec <<EOF
$git_upstream
EOF
git fetch --quiet --no-tags "$git_remote" "$git_refspec"
if [ "$(git rev-parse "$PRODUCTION_BRANCH")" = "$(git rev-parse "$git_upstream")" ]; then
    exit "$exitcode"
fi

git merge --quiet --ff-only "$git_remote" "$git_refspec"
python2 -m compileall -q www || exitcode=$?
chgrp -R www-data www || exitcode=$?
chmod -R g+rX-w,o+X-w www || exitcode=$?
chmod -R o+r www/conservancy/static || exitcode=$?
exit "$exitcode"