#!/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 REMOTE="$PWD" cd "$(mktemp -d)" git clone "$REMOTE" . git config --global user.email git@euandre.org git config --global user.name 'EuAndreh CI' git fetch origin refs/notes/*:refs/notes/* git annex get ||: if [ -f aux/guix/with-container.sh ]; then RUNNER='./aux/guix/with-container.sh' else RUNNER='sh -c' fi if [ -f ./configure ]; then COMMAND='./configure && make CC=cc clean check public' else COMMAND='make CC=cc clean check public' fi $RUNNER "$COMMAND" rsync -avzzP public/ "/srv/http/$PACKAGE/" --delete } | tee "$LOGFILE" 2>&1