mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2024-11-16 05:15:36 +00:00
954517a4eb
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.
138 lines
3 KiB
YAML
138 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
|