[mutter] ci: Fix checking out gnome-shell for tag pipelines



commit afced5b40503cf0250bcafe988b60c82fbc20d9f
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Dec 11 00:49:21 2020 +0100

    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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1630>

 .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 3a167c029f..bc379bbea1 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]