#!/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

# Building with -Wno-array-bounds because MinGW headers currently emit
# a lot of those

./autogen.sh
rm -fr build
mkdir build
cd build
../configure CROSSCC64="x86_64-w64-mingw32-gcc -Wno-array-bounds -Werror" CROSSCC32="i686-w64-mingw32-gcc -Wno-array-bounds -Werror" && \
    make -j$(nproc) crosstest || \
        touch ../pipeline_failed

mkdir -p ../artifacts/$COMMIT
rsync -Rr config.log tests/*.txt tests/*.exe ../artifacts/$COMMIT || true

# Make the driver easily available to the Windows CI job
cp tests/driver.cross64.exe ../artifacts

git reset --hard

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