geary/.gitlab-ci.yml
2018-09-26 18:43:46 -06:00

96 lines
2.7 KiB
YAML

#
# Geary CI config.
#
stages:
- build
variables:
BUILD_DIR: build
CONFIG_CMD: meson --buildtype=debug build
BUILD_CMD: ninja -v -C $BUILD_DIR
TEST_CMD: xvfb-run meson test -v --no-stdsplit -C $BUILD_DIR
INSTALL_CMD: ninja -v -C $BUILD_DIR install
FEDORA_DEPS: vala gobject-introspection-devel
meson desktop-file-utils libcanberra-devel libgee-devel
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel
webkitgtk4-devel libsecret-devel libxml2-devel vala-tools
gcr-devel enchant-devel libunwind-devel iso-codes-devel
gnome-online-accounts-devel itstool json-glib-devel
FEDORA_TEST_DEPS: Xvfb tar xz
UBUNTU_DEPS: valac libgirepository1.0-dev
meson desktop-file-utils libcanberra-dev
libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev
libsecret-1-dev libxml2-dev libnotify-dev libsqlite3-dev
libwebkit2gtk-4.0-dev libgcr-3-dev libenchant-dev
libunwind-dev iso-codes libgoa-1.0-dev itstool gettext
libmessaging-menu-dev libunity-dev libjson-glib-dev
UBUNTU_TEST_DEPS: xauth xvfb
#
# Stages
#
fedora:
stage: build
image: fedora:latest
before_script:
- dnf update -y --nogpgcheck
- dnf install -y --nogpgcheck $FEDORA_DEPS $FEDORA_TEST_DEPS
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
ubuntu:
stage: build
image: ubuntu:rolling
before_script:
- apt-get update
- apt-get install -q -y --no-install-recommends $UBUNTU_DEPS $UBUNTU_TEST_DEPS
script:
- $CONFIG_CMD
- $BUILD_CMD
- $TEST_CMD
- $INSTALL_CMD
deb-package:
stage: build
image: ubuntu:rolling
before_script:
- apt-get update
- apt-get install -q -y --no-install-recommends packaging-dev $UBUNTU_DEPS
script:
- dpkg-buildpackage -b -us -uc
flatpack-package:
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
stage: build
variables:
GIT_SUBMODULE_STRATEGY: normal
FLATPAK_ARTIFACT: geary-git.flatpak
script:
- flatpak-builder flatpak-build org.gnome.Geary.json
- flatpak build-export flatpak-repo flatpak-build --update-appstream
- flatpak build-bundle flatpak-repo $FLATPAK_ARTIFACT
--runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo
org.gnome.Geary
artifacts:
paths:
- $FLATPAK_ARTIFACT
expire_in: 2 days
cache:
# JOB_NAME - Each job will have it's own cache
# COMMIT_REF_SLUG = Lowercase name of the branch
# ^ Keep diffrerent caches for each branch
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
# Cache .flatpak-builder
- .flatpak-builder/cache/
- .flatpak-builder/downloads/
- .flatpak-builder/git/