#!/bin/sh -eux PACKAGE="$1" LOGS_DIR="$2" read -r _ SHA _ # oldrev newrev refname FILENAME="$(date -Is)-$SHA.log" LOGFILE="$LOGS_DIR/$FILENAME" { echo "Starting CI job at: $(date -Is)" finish() { STATUS="$?" printf "\n\n>>> exit status was %s\n" "$STATUS" echo "Finishing CI job at: $(date -Is)" cd - NOTE=$(cat <>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s" "$STATUS" } trap finish EXIT unset GIT_DIR CLONE="$(mktemp -d)" git clone . "$CLONE" cd "$CLONE" git config --global user.email git@euandre.org git config --global user.name 'EuAndreh CI' if [ -f ./bootstrap ]; then ./build-aux/with-container.sh './bootstrap && ./configure --enable-programmer-mode --enable-ci-mode && make clean all check distcheck public' else ./build-aux/with-container.sh 'make clean check public' fi rsync -avzzP public/ "/srv/http/$PACKAGE/" --delete } | tee "$LOGFILE" 2>&1