From 47bfd2ed8c3219e79f8974a8fc2ac9265ed91bd2 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Tue, 18 Jan 2022 11:40:47 -0300 Subject: First commit, now with a clean history --- aux/ci/ci-build.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 aux/ci/ci-build.sh (limited to 'aux/ci/ci-build.sh') diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh new file mode 100755 index 0000000..34233b7 --- /dev/null +++ b/aux/ci/ci-build.sh @@ -0,0 +1,60 @@ +#!/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" -- cgit v1.2.3