1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-06-28 14:49:30 +00:00
Purism-Calls/.gitlab-ci.yml
Evangelos Ribeiro Tzaras b6e0d3dba8 ci: Move flatpak jobs to packaging stage
It is more fitting than the default "test" stage and
has the desirable side effect that the Debian packaging jobs
no longer need to wait for flatpak jobs to finish.
2023-01-11 14:23:12 +00:00

139 lines
3 KiB
YAML

include:
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
- 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
stages:
- build
- test
- package
- test-package
- deploy
variables:
L5_DOCKER_IMAGE: debian:bookworm
DEBIAN_IMAGE: $CI_REGISTRY/gnome/calls/debian:v0.0.20221117
GIT_SUBMODULE_STRATEGY: normal
build:native:
stage: build
artifacts:
paths:
- _build
variables:
COMMON_BUILD_OPTS: -Db_coverage=true
BUILD_OPTS: -Dgtk_doc=true ${COMMON_BUILD_OPTS}
WANT_BUILD_DEPS: "true"
except:
variables:
- $PKG_ONLY == "1"
image: "${DEBIAN_IMAGE}"
tags: []
script:
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
test:native:
extends: build:native
stage: test
dependencies:
- build:native
script:
- export LC_ALL=C.UTF-8
- xvfb-run -s -noreset ninja -C _build test
- cp _build/src/libcalls-vala.a.p/*.c _build
- ninja -C _build coverage
coverage: '/^lines:\s+([\d.]+\%)\s+/'
build-gtkdoc:
extends: build:native
stage: test
dependencies:
- build:native
script:
- ninja -C _build calls-doc
- mv _build/doc/html/ _reference/
artifacts:
paths:
- _reference
check-po:
extends: build:native
stage: test
dependencies:
- build:native
script:
# barf on untranslated C or UI files. Seems intltool
# can't be told to exit with non-zero exit status
# in this case
- cd po/
- intltool-update -m 2>&1 | grep -qs '/.*\.\(c|ui\)' && { intltool-update -m; exit 1; } || exit 0
package:deb-pureos-byzantium:arm64:
variables:
L5_DOCKER_IMAGE: pureos/byzantium
DEB_BUILD_PROFILES: nodoc
tags:
- aarch64
extends: .l5-build-debian-package
.vars-devel:
variables:
MANIFEST_PATH: "org.gnome.Calls.json"
FLATPAK_MODULE: "calls"
APP_ID: "org.gnome.Calls"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
BUNDLE: "calls.flatpak"
CONFIG_OPTS: >-
-Dmanpages=false
TEST_RUN_ARGS: >-
"calls:Validate desktop file"
"calls:Validate daemon desktop file"
calls:util
calls:settings
calls:origin
calls:provider
calls:call
calls:plugins
calls:contacts
calls:ui-call
calls:manager
calls:ringer
calls:media
calls:srtp
calls:sdp-crypto
# Disable test because it fails in flatpak
#calls:sip
# Build Flatpak for x86_64
flatpak@x86_64:
stage: package
extends: ['.flatpak@x86_64', '.vars-devel']
# Build Flatpak for aarch64
flatpak@aarch64:
stage: package
extends: ['.flatpak@aarch64', '.vars-devel']
# Publish Flatpak for x86_64
nightly@x86_64:
extends: '.publish_nightly'
needs: ['flatpak@x86_64']
# Publish Flatpak for aarch64
nightly@aarch64:
extends: '.publish_nightly'
needs: ['flatpak@aarch64']
pages:
stage: deploy
needs:
- build-gtkdoc
script:
mv _reference/ public/
artifacts:
paths:
- public
only:
- main