You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
capnproto/doc/push-site.sh

59 lines
1.1 KiB
Bash

#! /usr/bin/env bash
set -eu
shopt -s extglob
if grep 'localhost:4000' *.md _posts/*.md; then
echo "ERROR: Your content has links to localhost:4000!" >&2
exit 1
fi
if [ "x$(git status --porcelain)" != "x" ]; then
echo -n "git repo has uncommited changes. Continue anyway? (y/N) " >&2
read -n 1 YESNO
echo >&2
if [ "x$YESNO" != xy ]; then
exit 1
fi
fi
case $(git rev-parse --abbrev-ref HEAD) in
master )
echo "On master branch. Will generate to /next."
CONFIG=_config_next.yml
PREFIX=/next
LABEL="preview site"
FUTURE=--future
;;
release-* )
echo "On release branch. Will generate to /."
CONFIG=_config.yml
PREFIX=
LABEL="site"
FUTURE=
;;
* )
echo "Unrecognized branch." >&2
exit 1
;;
esac
echo "Regenerating site..."
rm -rf _site _site.tar.gz
jekyll _3.8.1_ build --safe $FUTURE --config $CONFIG
echo -n "Push now? (y/N)"
read -n 1 YESNO
echo
if [ "x$YESNO" == "xy" ]; then
echo "Pushing..."
tar cz --xform='s,_site/,,' _site/* | gce-ss ssh alpha2 --command "cd /var/www/capnproto.org$PREFIX && tar xz"
else
echo "Push CANCELED"
fi