Commit 4bef8674 authored by Michael Gratton's avatar Michael Gratton
Browse files

Update Gitlab CI Flatpak build with standard template

See: https://gitlab.gnome.org/GNOME/citemplates
parent 36cfa146
Pipeline #51514 passed with stages
in 20 minutes and 52 seconds
......@@ -11,6 +11,8 @@ variables:
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 packages
FEDORA_DEPS: vala gobject-introspection-devel
meson desktop-file-utils libcanberra-devel libgee-devel
glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel
......@@ -18,6 +20,8 @@ variables:
gcr-devel enchant-devel libunwind-devel iso-codes-devel
gnome-online-accounts-devel itstool json-glib-devel
FEDORA_TEST_DEPS: Xvfb tar xz
# Ubuntu & Debian packages
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
......@@ -27,9 +31,17 @@ variables:
libmessaging-menu-dev libunity-dev libjson-glib-dev
UBUNTU_TEST_DEPS: xauth xvfb
#
# Stages
#
# Flatpak vars
APP_ID: org.gnome.Geary
BUNDLE: geary-dev.flatpak
FLATPAK_MODULE: geary
GIT_SUBMODULE_STRATEGY: normal
MANIFEST_PATH: org.gnome.Geary.json
RUNTIME_REPO: "https://sdk.gnome.org/gnome-nightly.flatpakrepo"
stages:
- build
- deploy
fedora:
stage: build
......@@ -64,33 +76,82 @@ deb-package:
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
flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
stage: 'build'
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
- flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
# Make sure to keep this in sync with the Flatpak manifest, all arguments
# are passed except the config-args because we build it ourselves
- flatpak build app meson --prefix=/app ${MESON_ARGS} _build
- flatpak build app ninja -C _build install
- flatpak-builder --finish-only --repo=repo app ${MANIFEST_PATH}
# Run automatic tests inside the Flatpak env
- >
xvfb-run -a -s "-screen 0 1024x768x24"
flatpak build
--env=LANG=C.UTF-8
--env=NO_AT_BRIDGE=1
app
dbus-run-session
meson test -C _build --no-stdsplit --print-errorlogs
# Generate a Flatpak bundle
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID}
artifacts:
when: 'always'
paths:
- $FLATPAK_ARTIFACT
- "${BUNDLE}"
- '_build/meson-logs/meson-log.txt'
- '_build/meson-logs/testlog.txt'
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"
key: "$CI_JOB_NAME"
paths:
# Cache .flatpak-builder
- .flatpak-builder/cache/
- .flatpak-builder/downloads/
- .flatpak-builder/git/
- '.flatpak-builder/downloads'
- '.flatpak-builder/git'
except:
variables:
# Don't run for translation commits
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
review:
stage: 'deploy'
script:
- echo "Generating Flatpak deployment"
artifacts:
paths:
- "${BUNDLE}"
expire_in: 30 days
environment:
name: review/$CI_COMMIT_REF_NAME
url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE}
on_stop: stop_review
except:
refs:
- 'tags'
# No need to run on the upstream master branch either
- 'master'
# don't run on stable branches
- /^gnome-\d-\d\d$/
variables:
# Don't run for translation commits
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
stop_review:
stage: 'deploy'
script:
- echo "Stopping Flatpak deployment"
when: 'manual'
environment:
name: review/$CI_COMMIT_REF_NAME
action: 'stop'
except:
refs:
- 'tags'
# No need to run on the upstream master branch either
- 'master'
# don't run on stable branches
- /^gnome-\d-\d\d$/
variables:
# Don't run for translation commits
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment