diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b3fbc0281..581351562 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -68,11 +68,11 @@ workflow: 'C Development Tools and Libraries' && ./.gitlab-ci/install-meson-project.sh \ + --subdir subprojects/extensions-tool/ \ + --prepare ./generate-translations.sh \ -Dman=false \ https://gitlab.gnome.org/GNOME/gnome-shell.git \ - main \ - subprojects/extensions-tool/ \ - ./generate-translations.sh && + main && dnf clean all diff --git a/.gitlab-ci/install-meson-project.sh b/.gitlab-ci/install-meson-project.sh index e87407fe2..8ecf8a300 100755 --- a/.gitlab-ci/install-meson-project.sh +++ b/.gitlab-ci/install-meson-project.sh @@ -4,12 +4,14 @@ set -e usage() { cat <<-EOF - Usage: $(basename $0) [OPTION…] REPO_URL COMMIT SUBDIR PREPARE + Usage: $(basename $0) [OPTION…] REPO_URL COMMIT Check out and install a meson project Options: -Dkey=val Option to pass on to meson + --subdir Build subdirectory instead of whole project + --prepare Script to run before build -h, --help Display this help @@ -19,6 +21,8 @@ usage() { TEMP=$(getopt \ --name=$(basename $0) \ --options='D:h' \ + --longoptions='subdir:' \ + --longoptions='prepare:' \ --longoptions='help' \ -- "$@") @@ -26,6 +30,8 @@ eval set -- "$TEMP" unset TEMP MESON_OPTIONS=() +SUBDIR=. +PREPARE=: while true; do case "$1" in @@ -34,6 +40,16 @@ while true; do shift 2 ;; + --subdir) + SUBDIR=$2 + shift 2 + ;; + + --prepare) + PREPARE=$2 + shift 2 + ;; + -h|--help) usage exit 0 @@ -46,15 +62,13 @@ while true; do esac done -if [[ $# -lt 4 ]]; then +if [[ $# -lt 2 ]]; then usage exit 1 fi REPO_URL="$1" COMMIT="$2" -SUBDIR="$3" -PREPARE="$4" CHECKOUT_DIR=$(mktemp --directory) trap "rm -rf $CHECKOUT_DIR" EXIT