The older versions aren't maintained anymore. Luckily, this is quite a minimal change, since we only use a very small subset of those APIs.
149 lines
3.5 KiB
YAML
149 lines
3.5 KiB
YAML
#
|
|
# Geary CI config.
|
|
#
|
|
|
|
include:
|
|
- project: Infrastructure/freedesktop-ci-templates
|
|
file: templates/fedora.yml
|
|
ref: aec7a6ce7bb38902c70641526f6611e27141784a
|
|
- project: 'GNOME/citemplates'
|
|
file: 'flatpak/flatpak_ci_initiative.yml'
|
|
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
|
inputs:
|
|
dist-job-name: "flatpak"
|
|
|
|
|
|
variables:
|
|
FDO_UPSTREAM_REPO: gnome/geary
|
|
|
|
# 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
|
|
TEST_LOCALE: C.UTF-8
|
|
|
|
|
|
stages:
|
|
- prepare
|
|
- build
|
|
- deploy
|
|
|
|
|
|
##
|
|
# Stage: Prepare
|
|
#
|
|
# This mostly consists of preparing Docker iamges for re-use the CI
|
|
##
|
|
|
|
# See also https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates
|
|
build.container.fedora@x86_64:
|
|
extends:
|
|
- '.fdo.container-build@fedora'
|
|
- '.fedora.container.common'
|
|
stage: 'prepare'
|
|
variables:
|
|
# no need to pull the whole tree for rebuilding the image
|
|
GIT_STRATEGY: none
|
|
# Expiry sets fdo.expires on the image
|
|
FDO_EXPIRES_AFTER: 8w
|
|
# Geary build dependencies (Fedora packages)
|
|
FDO_DISTRIBUTION_PACKAGES: >-
|
|
appstream
|
|
dbus-daemon
|
|
dconf
|
|
desktop-file-utils
|
|
enchant2-devel
|
|
folks-devel
|
|
gcr-devel
|
|
git
|
|
glib-networking
|
|
glib2-devel
|
|
glibc-langpack-en
|
|
gmime30-devel
|
|
gnome-online-accounts-devel
|
|
gnutls-utils
|
|
gsettings-desktop-schemas
|
|
gsound-devel
|
|
gspell-devel
|
|
gtk3-devel
|
|
iso-codes-devel
|
|
itstool
|
|
json-glib-devel
|
|
libgee-devel
|
|
libhandy1-devel
|
|
libicu-devel
|
|
libpeas-devel
|
|
libsecret-devel
|
|
libstemmer-devel
|
|
libunwind-devel
|
|
libxml2-devel
|
|
libytnef-devel
|
|
meson
|
|
ninja
|
|
pinentry-gnome3
|
|
sqlite-devel
|
|
vala
|
|
webkit2gtk4.1-devel
|
|
Xvfb
|
|
|
|
.fedora.container.common:
|
|
variables:
|
|
# When branching a stable release, change 'main' to the
|
|
# release branch name to ensure that a new image will
|
|
# be created, tailored for the stable branch.
|
|
BRANCH_NAME: 'main'
|
|
CONTAINER_TAG: '2025-12-12.0'
|
|
FEDORA_VERSION: latest
|
|
# Derive FDO variables from this automatically.
|
|
# DO NOT edit, instead change the variables above
|
|
FDO_REPO_SUFFIX: '${BRANCH_NAME}'
|
|
FDO_DISTRIBUTION_TAG: '${CONTAINER_TAG}-fedora-${FEDORA_VERSION}'
|
|
FDO_DISTRIBUTION_VERSION: '${FEDORA_VERSION}'
|
|
|
|
##
|
|
# Stage: Build
|
|
#
|
|
# This stage actually builds & tests Geary. It does so both in Fedora, and in Flatpak
|
|
##
|
|
|
|
fedora:
|
|
extends:
|
|
- '.fdo.suffixed-image@fedora'
|
|
- '.fedora.container.common'
|
|
stage: build
|
|
|
|
variables:
|
|
BUILD_DIR: _build
|
|
script:
|
|
- meson setup --buildtype=debug "$BUILD_DIR"
|
|
- meson compile -C "$BUILD_DIR"
|
|
- xvfb-run -a dbus-run-session -- meson test -v --no-stdsplit -C "$BUILD_DIR" "$TEST_ARGS"
|
|
- meson install -C "$BUILD_DIR"
|
|
artifacts:
|
|
when: 'always'
|
|
paths:
|
|
- '$BUILD_DIR/meson-logs'
|
|
expire_in: 2 days
|
|
|
|
flatpak:
|
|
stage: build
|
|
variables:
|
|
APP_ID: org.gnome.Geary.Devel
|
|
FLATPAK_MODULE: geary
|
|
MANIFEST_PATH: org.gnome.Geary.json
|
|
RUNTIME_REPO: 'https://nightly.gnome.org/gnome-nightly.flatpakrepo'
|
|
TEST_RUN_ARGS: $TEST_ARGS
|
|
BUNDLE: geary-dev.flatpak
|
|
extends: .flatpak
|
|
|
|
##
|
|
# Stage: Deploy
|
|
#
|
|
# This stage is meant for deplying any nightly (Flatpak) builds, docs, etc
|
|
##
|
|
|
|
nightly:
|
|
extends: '.publish_nightly'
|
|
needs: ['flatpak']
|