[mutter/gbsneto/better-ci: 1/5] ci: Build GNOME Shell at the test stage
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gbsneto/better-ci: 1/5] ci: Build GNOME Shell at the test stage
- Date: Fri, 3 May 2019 17:06:47 +0000 (UTC)
commit 3f386e712ba24d2b3a8d731aa323d463b015e1f2
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Mon Apr 22 14:54:11 2019 -0300
ci: Build GNOME Shell at the test stage
Hopefully this will allow us prevent merging branches
that accidentally break GNOME Shell.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/548
.gitlab-ci.yml | 15 +++++++++++++++
.gitlab-ci/checkout-gnome-shell.sh | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f86ffd516..9d06190f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -44,3 +44,18 @@ test-mutter:
only:
- merge_requests
- /^.*$/
+
+can-build-gnome-shell:
+ image: registry.gitlab.gnome.org/gnome/gnome-shell/master:v1
+ stage: test
+ dependencies:
+ - build-mutter
+ before_script:
+ - meson install --no-rebuild -C build
+ script:
+ - .gitlab-ci/checkout-gnome-shell.sh
+ - meson gnome-shell gnome-shell/build
+ - ninja -C gnome-shell/build install
+ only:
+ - merge_requests
+ - /^.*$/
diff --git a/.gitlab-ci/checkout-gnome-shell.sh b/.gitlab-ci/checkout-gnome-shell.sh
new file mode 100755
index 000000000..64c1af953
--- /dev/null
+++ b/.gitlab-ci/checkout-gnome-shell.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/bash
+
+mutter_branch=$(git describe --contains --all HEAD)
+gnome_shell_target=
+
+git clone https://gitlab.gnome.org/GNOME/gnome-shell.git
+
+if [ $? -ne 0 ]; then
+ echo Checkout failed
+ exit 1
+fi
+
+cd gnome-shell
+
+if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
+ merge_request_remote=${CI_MERGE_REQUEST_SOURCE_PROJECT_URL//mutter/gnome-shell}
+ merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+
+ echo Looking for $merge_request_branch on remote ...
+ if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then
+ gnome_shell_target=FETCH_HEAD
+ else
+ gnome_shell_target=origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
+ echo Using $gnome_shell_target instead
+ fi
+fi
+
+if [ -z "$gnome_shell_target" ]; then
+ gnome_shell_target=$(git branch -r -l origin/$mutter_branch)
+ gnome_shell_target=${gnome_shell_target:-$(git branch -r -l ${mutter_branch#remotes/})}
+ gnome_shell_target=${gnome_shell_target:-origin/master}
+ echo Using $gnome_shell_target instead
+fi
+
+git checkout -q $gnome_shell_target
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]