#!/usr/bin/env bash
set -e
source .jenkins.d/util.sh

export CACHE_DIR=${CACHE_DIR:-/tmp}
export WAF_JOBS=${WAF_JOBS:-1}
[[ $JOB_NAME == *"code-coverage" ]] && export DISABLE_ASAN=yes

nanos() {
    # Cannot use date(1) because macOS does not support %N format specifier
    python3 -c 'import time; print(int(time.time() * 1e9))'
}

for file in .jenkins.d/*; do
    [[ -f $file && -x $file ]] || continue

    label=$(basename "$file" | sed -E 's/[[:digit:]]+-(.*)\..*/\1/')
    if [[ -n $GITHUB_ACTIONS ]]; then
        echo "::group::${label}"
    elif [[ -n $TRAVIS ]]; then
        echo -ne "travis_fold:start:${label}\r"
        echo -ne "travis_time:start:${label}\r"
        start=$(nanos)
    fi

    echo "\$ $file"
    "$file"

    if [[ -n $GITHUB_ACTIONS ]]; then
        echo "::endgroup::"
    elif [[ -n $TRAVIS ]]; then
        finish=$(nanos)
        echo -ne "travis_time:end:${label}:start=${start},finish=${finish},duration=$((finish-start)),event=${label}\r"
        echo -ne "travis_fold:end:${label}\r"
    fi
done
