summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-03-01 13:47:10 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-03-01 14:01:22 -0300
commit0a2faf014c91c697c578bcbb2bb8d54b8da1b098 (patch)
tree068911e97905e0b3b8770e2c59b92ad05d79cdde
parent817a065e506ac898da1eb0170c0620e61f2dd2b1 (diff)
downloadgnome-control-center-0a2faf014c91c697c578bcbb2bb8d54b8da1b098.tar.gz
ci: Introduce CI
-rw-r--r--.gitlab-ci.yaml64
1 files changed, 64 insertions, 0 deletions
diff --git a/.gitlab-ci.yaml b/.gitlab-ci.yaml
new file mode 100644
index 000000000..581b76eb9
--- /dev/null
+++ b/.gitlab-ci.yaml
@@ -0,0 +1,64 @@
+image: fedora:rawhide
+stages:
+ - build
+ - test
+ - deploy
+
+variables:
+ DEPENDENCIES: gcc meson ninja-build gettext gtk-doc glib2-devel
+ gtk3-devel gsettings-desktop-schemas-devel git
+ gnome-online-accounts-devel gnome-bluetooth-devel
+ gnome-desktop3-devel gnome-settings-daemon-devel
+ switcheroo-control-devel NetworkManager-devel
+ colord-devel libgtop2-devel libgudev-devel
+ grilo-devel gnome-color-manager-devel upower-devel
+ accountsservice-devel smbclient-devel clutter-devel
+ clutter-gtk-devel libxml2-devel pulseaudio-devel
+ libXi-devel libX11-devel
+
+before_script:
+ - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
+
+
+##
+# Stage: Build
+#
+# Checks if GNOME Control Center is properly building and installing. This is the
+# most important stage of the CI, and no MR should ever be merged if it breaks
+# any of them.
+##
+build:
+ stage: build
+ script:
+ - meson . _build
+ - ninja -C _build
+ - ninja -C _build install
+
+
+##
+# Stage: Test
+#
+# Runs the unit tests.
+##
+test:
+ stage: test
+ script:
+ - meson . _build
+ - ninja -C _build
+ - meson test -C _build --verbose --no-stdsplit
+
+
+##
+# Stage: Deploy
+#
+# Checks if the released version is in a good shape.
+##
+deploy:
+ stage: deploy
+ script:
+ - meson . _build
+ - ninja -C _build
+ - meson test -C _build
+ - ninja dist -C _build
+ only:
+ - tags \ No newline at end of file