geary/.gitlab-ci.yml
2019-11-27 17:24:42 +11:00

110 lines
3 KiB
YAML

#
# Geary CI config.
#
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
variables:
# Flatpak CI vars
BUNDLE: geary-dev.flatpak
# ImapDB and other tests that touch the disk are super slow on CI
# runners like gcc150.osuosl.org that use platter drives still.
# See Infrastructure/Infrastructure#97.
TEST_ARGS: -t 10
# Locale used for unit tests. See notes in test/test-engine.vala and
# test/test-client.vala.
TEST_LOCALE: en_US.UTF-8
# Build
BUILD_DIR: build
CONFIG_CMD: meson --buildtype=debug $BUILD_DIR
BUILD_CMD: ninja -v -C $BUILD_DIR
TEST_CMD: xvfb-run meson test -v --no-stdsplit -C $BUILD_DIR $TEST_ARGS
INSTALL_CMD: ninja -v -C $BUILD_DIR install
# Fedora packages
FEDORA_DEPS:
meson vala desktop-file-utils enchant2-devel folks-devel gcr-devel
glib2-devel gmime-devel gnome-online-accounts-devel gspell-devel
gtk3-devel iso-codes-devel json-glib-devel itstool
libappstream-glib-devel libgee-devel libhandy-devel libpeas-devel
libsecret-devel libunwind-devel libxml2-devel libytnef-devel
sqlite-devel webkitgtk4-devel
FEDORA_TEST_DEPS: glibc-langpack-en tar xz Xvfb
# Ubuntu packages
UBUNTU_DEPS:
meson build-essential valac desktop-file-utils gettext iso-codes
itstool libappstream-glib-dev libenchant-dev libfolks-dev
libgcr-3-dev libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev
libgoa-1.0-dev libgspell-1-dev libgtk-3-dev libhandy-0.0-dev
libjson-glib-dev libmessaging-menu-dev libpeas-dev libsecret-1-dev
libsqlite3-dev libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev
libytnef0-dev
UBUNTU_TEST_DEPS: locales xauth xvfb
fedora:
stage: build
image: fedora:rawhide
before_script:
- dnf update -y --nogpgcheck
- dnf install -y --nogpgcheck $FEDORA_DEPS $FEDORA_TEST_DEPS
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
artifacts:
when: 'always'
paths:
- '$BUILD_DIR/meson-logs/meson-log.txt'
- '$BUILD_DIR/meson-logs/testlog.txt'
expire_in: 2 days
ubuntu:
stage: build
image: ubuntu:devel
before_script:
- apt-get update
- apt-get install -q -y --no-install-recommends $UBUNTU_DEPS $UBUNTU_TEST_DEPS
- locale-gen $TEST_LOCALE
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
artifacts:
when: 'always'
paths:
- '$BUILD_DIR/meson-logs/meson-log.txt'
- '$BUILD_DIR/meson-logs/testlog.txt'
expire_in: 2 days
flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
variables:
APP_ID: org.gnome.Geary.Devel
FLATPAK_MODULE: geary
MANIFEST_PATH: org.gnome.Geary.yml
MESON_ARGS: "-Dprofile=development"
RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
TEST_RUN_ARGS: $TEST_ARGS
extends: .flatpak
review:
stage: deploy
dependencies:
- flatpak
extends: .review
stop_review:
stage: deploy
extends: .stop_review
nightly:
extends: '.publish_nightly'
only:
refs:
- mainline