oe7drt-website/.githooks/pre-push

87 lines
2.4 KiB
Text
Raw Permalink Normal View History

2023-04-08 22:40:14 +02:00
#!/usr/bin/env bash
# create static files with hugo and upload them with rsync
# to my webserver
# created: 2023-03-26T23:27:11+0200
2023-04-08 22:55:58 +02:00
clean_up () {
echo -en "\n>>> Removing output files..."
2023-04-08 22:55:58 +02:00
rm -rf public
if [ "$?" -eq "0" ]; then
echo " Success!"
else
echo " *** FAILED ***"
echo "Could not delete output files (public). Aborting..."
exit 1
fi
echo
2023-04-08 22:55:58 +02:00
}
# git lfs
echo -n ">>> Check for git-lfs..."
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\n"; exit 2; }
git lfs pre-push "$@"
echo " Done!"
echo -en "\n>>> Creating static files with `hugo version | awk '{ print $1,$2 }'` (oe7drt.com)..."
2024-09-29 19:19:56 +02:00
ret="$(hugo --gc --minify --printPathWarnings --logLevel warn)"
# if [ -n "$(echo $ret | grep Total)" ] ; then
if [ "$?" -eq "0" ] ; then
echo " Success!"
else
echo " *** FAILED ***"
echo "Could not create static files (hugo). Aborting..."
2023-04-08 22:55:58 +02:00
clean_up
# exit with 1, so the update does not proceed, so we will know
exit 1
fi
echo -n ">>> Pushing files to *celeste* (oe7drt.com)..."
2024-05-19 18:30:24 +02:00
ret="$(rsync --no-motd -acvhz --stats --del public/ celeste:/srv/sites/oe7drt/ > /dev/null 2>&1)"
if [ "$?" -eq "0" ] ; then
echo " Success!"
else
echo " *** FAILED ***"
echo "Could not sync files to *celeste* (rsync). Aborting..."
2023-04-08 22:55:58 +02:00
clean_up
exit 1
fi
2023-04-08 22:55:58 +02:00
clean_up
# ==============================================================
# 5uxkejb6la7olhncaotybxrscmdlbxwy64ucuyrum4tsgfuoxbyav2qd.onion
echo -en "\n>>> Creating static files with `hugo version | awk '{ print $1,$2 }'` (onion services)..."
ret="$(hugo --gc --minify --printPathWarnings --logLevel warn --baseURL http://5uxkejb6la7olhncaotybxrscmdlbxwy64ucuyrum4tsgfuoxbyav2qd.onion/)"
# if [ -n "$(echo $ret | grep Total)" ] ; then
if [ "$?" -eq "0" ] ; then
echo " Success!"
else
echo " *** FAILED ***"
echo "Could not create static files (hugo). Aborting..."
clean_up
# exit with 1, so the update does not proceed, so we will know
exit 1
fi
echo -n ">>> Pushing files to *celeste* (onion services)..."
ret="$(rsync --no-motd -acvhz --stats --del public/ celeste:/srv/sites/oe7drt-onion/ > /dev/null 2>&1)"
if [ "$?" -eq "0" ] ; then
echo " Success!"
else
echo " *** FAILED ***"
echo "Could not sync files to *celeste* (rsync). Aborting..."
clean_up
exit 1
fi
clean_up