Merge branch 'wip/187-flatpak-ci-wrong-branch' into 'master'
Update Gitlab CI Flatpak build with standard template Closes #187 See merge request GNOME/geary!86
This commit is contained in:
commit
f80fe6b7c0
1 changed files with 89 additions and 28 deletions
117
.gitlab-ci.yml
117
.gitlab-ci.yml
|
|
@ -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:
|
||||
- "${BUNDLE}"
|
||||
- '_build/meson-logs/meson-log.txt'
|
||||
- '_build/meson-logs/testlog.txt'
|
||||
expire_in: 2 days
|
||||
cache:
|
||||
key: "$CI_JOB_NAME"
|
||||
paths:
|
||||
- '.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:
|
||||
- $FLATPAK_ARTIFACT
|
||||
expire_in: 2 days
|
||||
- "${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$/
|
||||
|
||||
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/
|
||||
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$/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue