95 lines
2.6 KiB
YAML
95 lines
2.6 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: meson test -v --no-stdsplit -C $BUILD_DIR engine-tests
|
|
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
|
|
gnome-online-accounts-devel itstool
|
|
FEDORA_TEST_DEPS: 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 libgoa-1.0-dev itstool gettext
|
|
libmessaging-menu-dev libunity-dev
|
|
|
|
#
|
|
# 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
|
|
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/
|