From 3cccd829f2df312fbae5f7da57937de2a3058646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 11 Dec 2020 00:49:21 +0100 Subject: [PATCH] ci: Fix checking out mutter for tag pipelines $CI_COMMIT_REF_NAME can be a branch name or a tag, depending on the pipeline, but our checkout script only deals with the former at the moment. Address this by rather than looking for a remote branch name, just try to fetch the ref like we do for merge request pipelines. Part-of: --- .gitlab-ci/checkout-mutter.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci/checkout-mutter.sh b/.gitlab-ci/checkout-mutter.sh index 0304fe29a..37655c48f 100755 --- a/.gitlab-ci/checkout-mutter.sh +++ b/.gitlab-ci/checkout-mutter.sh @@ -1,5 +1,12 @@ #!/usr/bin/bash +fetch() { + local remote=$1 + local ref=$2 + + git fetch --quiet $remote $ref 2>/dev/null +} + mutter_target= echo -n Cloning into mutter ... @@ -17,7 +24,7 @@ if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME echo -n Looking for $merge_request_branch on remote ... - if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then + if fetch $merge_request_remote $merge_request_branch; then echo \ found mutter_target=FETCH_HEAD else @@ -29,12 +36,12 @@ fi if [ -z "$mutter_target" ]; then echo -n Looking for $CI_COMMIT_REF on remote ... - mutter_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME) - if [ "$mutter_target" ]; then + if fetch origin $CI_COMMIT_REF; then echo \ found + mutter_target=FETCH_HEAD else echo \ not found - mutter_target=${mutter_target:-origin/master} + mutter_target=origin/master echo Using $mutter_target instead fi fi