From 939e0ab565f9270cc5e0b5e727b363fb188cbca3 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 23 Jan 2021 19:37:39 -0300 Subject: Add default CI infrastructure --- build-aux/ci/ci-build.sh | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 build-aux/ci/ci-build.sh (limited to 'build-aux/ci/ci-build.sh') diff --git a/build-aux/ci/ci-build.sh b/build-aux/ci/ci-build.sh new file mode 100755 index 0000000..b7a4c38 --- /dev/null +++ b/build-aux/ci/ci-build.sh @@ -0,0 +1,53 @@ +#!/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 build-aux/with-container.sh ]; then + RUNNER='./build-aux/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 -- cgit v1.2.3