From 6c2e98e40d4bb2abc48bcb4b2e3201017cdfcd3d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 31 Aug 2022 15:51:20 +1000 Subject: [PATCH] gitlab-ci: add commandline options to the meson-build.sh script The various --skip-build, --skip-test and --skip-setup skip the respective step, the --run-test argument runs the test even where MESON_TEST_ARGS is nil. Signed-off-by: Peter Hutterer --- .gitlab-ci/meson-build.sh | 44 +++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index bda825b9..4d5330df 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -5,6 +5,34 @@ if [[ -f .meson_environment ]]; then . .meson_environment fi +# If test args are set, we assume we want to run the tests +MESON_RUN_TEST="$MESON_TEST_ARGS" + +while [[ $# -gt 0 ]]; do + case $1 in + --skip-setup) + shift + MESON_SKIP_SETUP="1" + ;; + --skip-build) + shift + MESON_SKIP_BUILD="1" + ;; + --skip-test) + shift + MESON_RUN_TEST="" + ;; + --run-test) + shift + MESON_RUN_TEST="1" + ;; + *) + echo "Unknow commandline argument $1" + exit 1 + ;; + esac +done + if [[ -z "$MESON_BUILDDIR" ]]; then echo "\$MESON_BUILDDIR undefined." exit 1 @@ -35,13 +63,17 @@ echo "*************************************************" set -e -rm -rf "$MESON_BUILDDIR" -meson setup "$MESON_BUILDDIR" $MESON_ARGS +if [[ -z "$MESON_SKIP_SETUP" ]]; then + rm -rf "$MESON_BUILDDIR" + meson setup "$MESON_BUILDDIR" $MESON_ARGS +fi meson configure "$MESON_BUILDDIR" -ninja -C "$MESON_BUILDDIR" $NINJA_ARGS -if [[ -z "$MESON_TEST_ARGS" ]]; then - exit 0 +if [[ -z "$MESON_SKIP_BUILD" ]]; then + ninja -C "$MESON_BUILDDIR" $NINJA_ARGS +fi + +if [[ -n "$MESON_RUN_TEST" ]]; then + meson test -C "$MESON_BUILDDIR" $MESON_TEST_ARGS --print-errorlogs fi -meson test -C "$MESON_BUILDDIR" $MESON_TEST_ARGS --print-errorlogs -- 2.34.1