#!/bin/sh set -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 aux/guix/with-container.sh ]; then RUNNER='./aux/guix/with-container.sh' else RUNNER='sh -c' fi if [ -f ./bootstrap ]; then COMMAND='./bootstrap && ./configure --enable-programmer-mode --enable-ci-mode && make clean all check distcheck public' else COMMAND='make clean check public' fi $RUNNER "$COMMAND" rsync -avzzP public/ "/srv/http/$PACKAGE/" --delete } | tee "$LOGFILE" 2>&1