1#!/bin/bash 2 3if [[ -f .meson_environment ]]; then 4 . .meson_environment 5fi 6 7if [[ -z "$MESON_BUILDDIR" ]]; then 8 echo "\$MESON_BUILDDIR undefined." 9 exit 1 10fi 11 12# emulate a few gitlab variables to make it easier to 13# run and debug locally. 14if [[ -z "$CI_JOB_ID" ]] || [[ -z "$CI_JOB_NAME" ]] || [[ -z "$CI_PROJECT_NAME" ]]; then 15 echo "Missing \$CI_JOB_ID or \$CI_JOB_NAME". 16 CI_PROJECT_NAME=$(basename $PWD) 17 CI_JOB_ID=$(date +%s) 18 CI_JOB_NAME='${CI_PROJECT_NAME}-job-local' 19 echo "Simulating gitlab environment: " 20 echo " CI_JOB_ID=$CI_JOB_ID" 21 echo " CI_JOB_NAME=$CI_JOB_NAME" 22 echo " CI_PROJECT_NAME=$CI_PROJECT_NAME" 23fi 24 25 26echo "*************************************************" 27echo "builddir: $MESON_BUILDDIR" 28echo "meson args: $MESON_ARGS" 29echo "ninja args: $NINJA_ARGS" 30echo "meson test args: $MESON_TEST_ARGS" 31echo "*************************************************" 32 33set -e 34 35rm -rf "$MESON_BUILDDIR" 36meson "$MESON_BUILDDIR" $MESON_ARGS 37meson configure "$MESON_BUILDDIR" 38ninja -C "$MESON_BUILDDIR" $NINJA_ARGS 39 40if [[ -z "$MESON_TEST_ARGS" ]]; then 41 exit 0 42fi 43 44# we still want to generate the reports, even if meson test fails 45meson test -C "$MESON_BUILDDIR" $MESON_TEST_ARGS --print-errorlogs 46exit_code=$? 47 48exit $exit_code 49