#!/usr/bin/env bash
set -e

export WAF_JOBS=${WAF_JOBS:-1}

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

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

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

    echo "\$ $file"
    "$file"

    if [[ -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
