From afced5b40503cf0250bcafe988b60c82fbc20d9f 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 gnome-shell 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-gnome-shell.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci/checkout-gnome-shell.sh b/.gitlab-ci/checkout-gnome-shell.sh index 3a167c029..bc379bbea 100755 --- a/.gitlab-ci/checkout-gnome-shell.sh +++ b/.gitlab-ci/checkout-gnome-shell.sh @@ -1,5 +1,12 @@ #!/usr/bin/bash +fetch() { + local remote=$1 + local ref=$2 + + git fetch --quiet $remote $ref 2>/dev/null +} + gnome_shell_target= echo -n Cloning into gnome-shell ... @@ -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 gnome_shell_target=FETCH_HEAD else @@ -29,9 +36,9 @@ fi if [ -z "$gnome_shell_target" ]; then echo -n Looking for $CI_COMMIT_REF_NAME on remote ... - gnome_shell_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME) - if [ "$gnome_shell_target" ]; then + if fetch origin $CI_COMMIT_REF_NAME; then echo \ found + gnome_shell_target=FETCH_HEAD else echo \ not found gnome_shell_target=origin/master