#!/bin/bash

COMMIT=$(printf '%03d-%s' $(git cherry $CI_MERGE_REQUEST_DIFF_BASE_SHA HEAD^ | wc -l) $(git rev-parse --short HEAD))

echo -e "\e[0Ksection_start:`date +%s`:commit_$COMMIT\r\e[0KBuilding commit $COMMIT"

set -Eeuxo pipefail

./autogen.sh
rm -fr build
mkdir build
cd build
export LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH-}"
if ../configure --enable-demos --with-spirv-tools DXCOMPILER_LIBS="-L/usr/local/lib" CFLAGS="-g -O2 -Werror" \
        CPPFLAGS="-DVKD3D_SHADER_UNSUPPORTED_DXIL -DVKD3D_SHADER_UNSUPPORTED_GLSL -DVKD3D_ABORT_ON_ERR" && \
        make -j$(nproc) ; then
    make -j$(nproc) AM_COLOR_TESTS=always check || \
        touch ../tests_failed
else
    touch ../build_failed
fi

cat tests/d3d12.log | grep -E 'd3d12: [0-9]+ tests executed' || true

mkdir -p ../artifacts/$COMMIT
rsync -Rr config.log doc/* test-suite.log tests/*.log tests/*/*.log ../artifacts/$COMMIT || true

git reset --hard

echo -e "\e[0Ksection_end:`date +%s`:commit_$COMMIT\r\e[0K"