aboutsummaryrefslogtreecommitdiff
path: root/aux/ci/git-post-receive.sh
diff options
context:
space:
mode:
Diffstat (limited to 'aux/ci/git-post-receive.sh')
-rwxr-xr-xaux/ci/git-post-receive.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh
new file mode 100755
index 0000000..f813259
--- /dev/null
+++ b/aux/ci/git-post-receive.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -eu
+
+for n in $(seq 0 $((GIT_PUSH_OPTION_COUNT - 1))); do
+ opt="$(eval "echo \$GIT_PUSH_OPTION_$n")"
+ if [ "$opt" = skip-ci ] || [ "$opt" = ci-skip ]; then
+ printf "\n'%s' option detected, not running ci-build.sh\n\n" \
+ "$opt"
+ exit 0
+ fi
+done
+
+# shellcheck disable=2034
+read -r _oldrev SHA _refname
+
+PROJECT="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix
+LOGS_DIR="/opt/ci/$PROJECT/logs"
+sh "/opt/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA" ||:
+
+echo 'To retrigger the build, run:'
+echo "cd /opt/www/$TLD/git/repos/$PROJECT.git/"
+echo "sh /opt/www/$TLD/git/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA"