summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-02-18 19:01:46 +0000
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-02-18 19:01:46 +0000
commitd64a03a57df8ab41426f198455eee84a37c0a043 (patch)
treebb31cd62775504b82812010b4971d3b80cbef889 /.gitlab-ci.yml
parentbd0b16c58ffd50cd68425658597b8281e4badeb2 (diff)
downloadgnome-calendar-d64a03a57df8ab41426f198455eee84a37c0a043.tar.gz
ci: Rework CI steps
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml64
1 files 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