summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2022-05-06 16:45:20 +0200
committerFlorian Müllner <fmuellner@gnome.org>2022-07-04 17:47:36 +0200
commit9e30afe678323cd26e06f91c5e4a5a4e691b7bb6 (patch)
treeb4ec75593362d57649940a656c7787200ccb2943 /.gitlab-ci
parentd14bb7b536625605e9e208650c817d698cfc5bb2 (diff)
downloadgnome-shell-9e30afe678323cd26e06f91c5e4a5a4e691b7bb6.tar.gz
ci: Try falling back to stable branch before HEAD
For non-MR pipelines, we check for a matching branch or tag name in mutter. As we use the same naming policy for stable branches and branch at about the same time, this works generally fine for branches. However for tags, it is less unlikely that there is no matching tag in mutter, in particularly late in a stable cycle when most changes are translation updates (which are much rare in mutter than gnome-shell). Before falling back to main (which is doomed to fail in that case), try to guess the correct stable branch based on the tag name. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2293>
Diffstat (limited to '.gitlab-ci')
-rwxr-xr-x.gitlab-ci/checkout-mutter.sh18
1 files changed, 16 insertions, 2 deletions
diff --git a/.gitlab-ci/checkout-mutter.sh b/.gitlab-ci/checkout-mutter.sh
index 449a34e5d..765e39dcc 100755
--- a/.gitlab-ci/checkout-mutter.sh
+++ b/.gitlab-ci/checkout-mutter.sh
@@ -47,9 +47,23 @@ if [ -z "$mutter_target" ]; then
mutter_target=FETCH_HEAD
else
echo \ not found
- mutter_target=HEAD
- echo Using $mutter_target instead
fi
fi
+fallback_branch=${CI_COMMIT_TAG:+gnome-}${CI_COMMIT_TAG%%.*}
+if [ -z "$mutter_target" -a "$fallback_branch" ]; then
+ echo -n Looking for $fallback_branch instead ...
+ if fetch origin $fallback_branch; then
+ echo \ found
+ mutter_target=FETCH_HEAD
+ else
+ echo \ not found
+ fi
+fi
+
+if [ -z "$mutter_target" ]; then
+ mutter_target=HEAD
+ echo Using $mutter_target instead
+fi
+
git checkout -q $mutter_target