Files
@ 053504d099b8
Branch filter:
Location: website/systemd/conservancy-www-update.sh - annotation
053504d099b8
954 B
text/x-sh
Update "cleanup" and "update" services for Python 3
e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 ab0b2401dbb8 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 d5e4646ca521 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 d5e4646ca521 e1d4fdfabac2 e1d4fdfabac2 d5e4646ca521 e1d4fdfabac2 053504d099b8 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 e1d4fdfabac2 | #!/bin/sh
set -e
set -u
PRODUCTION_BRANCH="${PRODUCTION_BRANCH:-master}"
git_rev_name() {
git rev-parse --abbrev-ref --symbolic-full-name "$@"
}
# If the checkout is not on the production branch,
# assume maintenance is happening and stop.
if [ "$(git_rev_name HEAD)" != "$PRODUCTION_BRANCH" ]; then
exit 0
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 0
fi
exitcode=0
git merge --quiet --ff-only "$git_remote" "$git_refspec"
python3 -m compileall -q -x - 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"
|