2020-01-13 10:35:34 +00:00
include :
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
2020-01-13 10:33:42 +00:00
stages :
- build
- test
2020-01-13 10:35:34 +00:00
- package
- test-package
2022-01-23 19:38:45 +00:00
- deploy
2020-01-13 10:33:42 +00:00
2021-07-12 08:30:14 +00:00
variables :
2021-08-25 07:36:56 +00:00
L5_DOCKER_IMAGE : debian:bookworm
2022-05-31 18:10:48 +00:00
DEBIAN_IMAGE : $CI_REGISTRY/gnome/calls/debian:v0.0.20220531
2021-10-01 16:34:51 +00:00
GIT_SUBMODULE_STRATEGY : normal
2021-07-12 08:30:14 +00:00
2018-07-27 08:06:04 +00:00
build:native :
stage : build
artifacts :
paths :
- _build
2020-12-04 17:39:53 +00:00
variables :
2021-10-06 11:42:05 +00:00
COMMON_BUILD_OPTS : -Db_coverage=true
2020-12-04 17:39:53 +00:00
BUILD_OPTS : -Dgtk_doc=true ${COMMON_BUILD_OPTS}
2021-01-22 12:12:01 +00:00
WANT_BUILD_DEPS : "true"
2020-07-03 08:20:39 +00:00
except :
variables :
- $PKG_ONLY == "1"
2021-12-21 11:35:24 +00:00
image : "${DEBIAN_IMAGE}"
2021-07-12 08:30:14 +00:00
tags : [ ]
2021-01-22 12:12:01 +00:00
script :
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
2018-07-27 08:06:04 +00:00
test:native :
2021-01-22 12:12:01 +00:00
extends : build:native
2018-07-27 08:06:04 +00:00
stage : test
dependencies :
- build:native
script :
- export LC_ALL=C.UTF-8
2021-04-05 01:35:48 +00:00
- xvfb-run -s -noreset ninja -C _build test
2021-04-27 02:46:34 +00:00
- cp _build/src/libcalls-vala.a.p/*.c _build
- ninja -C _build coverage
2021-11-24 13:07:37 +00:00
coverage : '/^lines:\s+([\d.]+\%)\s+/'
2018-07-27 08:06:04 +00:00
2020-12-04 17:39:53 +00:00
build-gtkdoc :
2021-01-22 12:12:01 +00:00
extends : build:native
2020-12-04 17:39:53 +00:00
stage : test
dependencies :
- build:native
script :
- ninja -C _build calls-doc
- mv _build/doc/html/ _reference/
artifacts :
paths :
- _reference
2020-11-09 09:37:12 +00:00
check-po :
2021-01-22 12:12:01 +00:00
extends : build:native
2020-11-09 09:37:12 +00:00
stage : test
dependencies :
- build:native
before_script :
- apt-get -y update
- apt-get -y install intltool
script :
2021-10-01 16:34:55 +00:00
# barf on untranslated C or UI files. Seems intltool
2020-11-09 09:37:12 +00:00
# can't be told to exit with non-zero exit status
# in this case
- cd po/
2021-10-01 16:34:55 +00:00
- intltool-update -m 2>&1 | grep -qs '/.*\.\(c|ui\)' && { intltool-update -m; exit 1; } || exit 0
2021-06-22 04:26:57 +00:00
2022-03-05 02:59:11 +00:00
package:deb-pureos-byzantium:arm64 :
2021-07-12 08:30:14 +00:00
variables :
2021-08-25 07:36:56 +00:00
L5_DOCKER_IMAGE : pureos/byzantium
DEB_BUILD_PROFILES : nodoc
2021-07-12 08:30:14 +00:00
tags :
- aarch64
extends : .l5-build-debian-package
2021-06-22 04:26:57 +00:00
# For some reason including https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml fails with a network error (status code 500), therefore it's copied here
.flatpak :
image : 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
stage : 'package'
interruptible : true
2022-03-02 08:13:25 +00:00
timeout : 4h
2021-06-22 04:26:57 +00:00
tags :
- flatpak
script :
- rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
- flatpak-builder --user --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
# Generate a Flatpak bundle
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
- tar cf repo.tar repo/
artifacts :
name : 'Flatpak artifacts'
expose_as : 'Get Flatpak bundle here'
when : 'always'
paths :
- "${BUNDLE}"
- 'repo.tar'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt'
2021-11-16 07:52:25 +00:00
reports :
junit : '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.junit.xml'
2021-06-22 04:26:57 +00:00
expire_in : 14 days
cache :
2021-11-16 07:52:25 +00:00
- key : "$CI_JOB_NAME"
paths :
- '.flatpak-builder/downloads'
- '.flatpak-builder/git'
- key : "$CI_JOB_NAME"
paths :
- '.flatpak-builder/cache'
- '.flatpak-builder/ccache'
2021-11-29 09:30:32 +00:00
except :
variables :
- $PKG_ONLY == "1"
2021-06-22 04:26:57 +00:00
flatpak:master :
extends : .flatpak
stage : package
variables :
2021-07-10 02:34:23 +00:00
MANIFEST_PATH : "org.gnome.Calls.json"
2021-06-22 04:26:57 +00:00
RUNTIME_REPO : "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
FLATPAK_MODULE : "calls"
MESON_ARGS : ""
2021-07-10 02:34:23 +00:00
APP_ID : "org.gnome.Calls"
2021-06-22 04:26:57 +00:00
BUNDLE : "calls.flatpak"
2022-01-23 19:38:45 +00:00
pages :
stage : deploy
needs :
- build-gtkdoc
script :
mv _reference/ public/
artifacts :
paths :
- public
only :
- master