[gnome-calendar] ci: Rework CI steps



commit d64a03a57df8ab41426f198455eee84a37c0a043
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sun Feb 18 19:01:46 2018 +0000

    ci: Rework CI steps

 .gitlab-ci.yml | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 57 insertions(+), 7 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 53adc4a8..a0970f04 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,15 +1,65 @@
 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 libdazzle-devel
+                evolution-data-server-devel libgweather-devel
 
 before_script:
-  - dnf install -y gcc meson ninja-build gettext gtk-doc glib2-devel gtk3-devel
-    gnome-online-accounts-devel evolution-data-server-devel libdazzle-devel
-    gsettings-desktop-schemas-devel libgweather-devel
+  - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
+
+
+##
+# Stage: Build
+#
+# Checks if GNOME Calendar 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
 
-build-calendar:
+install:
   stage: build
   script:
-  - meson . _build
-  - ninja -C _build
-  - ninja -C _build install
+    - meson . _build
+    - ninja -C _build
+    - ninja -C _build install
+
+
+##
+# Stage: Test
+#
+# Runs the unit tests and makes sure the new changes does not reintroduce bugs
+# or breaks something unrelated.
+##
+test:
+  stage: test
+  script:
+    - meson . _build
+    - ninja -C _build
+    - meson test -C _build
+
+
+##
+# Stage: Deploy
+#
+# Checks if the released version is perfectly functional.
+##
+deploy:
+  stage: deploy
+  script:
+    - meson . _build
+    - ninja -C _build
+    - meson test -C _build
+    - ninja dist -C _build
+  only:
+    - tags


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