#!/bin/sh set -eux PROJECT="$1" LOGS_DIR="$2" SHA="$3" FILENAME="$(date -Is)-$SHA.log" LOGFILE="$LOGS_DIR/$FILENAME" mkdtemp() { name="$(echo 'mkstemp(template)' | m4 -D template="${TMPDIR:-/tmp}/m4-tmpname.")" rm -f "$name" mkdir "$name" echo "$name" } { 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\n>>>\n\n' \ "$STATUS" } trap finish EXIT unset GIT_DIR REMOTE="$PWD" cd "$(mkdtemp)" git clone "$REMOTE" . git config --global user.email git@euandre.org git config --global user.name 'EuAndreh CI' if [ -e aux/with-container ]; then RUNNER='sh aux/with-container' else RUNNER='sh -c' fi $RUNNER 'make clean public dev-check' } 2>&1 | tee "$LOGFILE"