
PureOS Byzantium tracks Debian oldstable which isn't suitable for an upstream test. Track Debian testing instead which has recent GNOME.
161 lines
3.4 KiB
YAML
161 lines
3.4 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:
|
|
DEBIAN_IMAGE: $CI_REGISTRY/gnome/calls/debian:v0.0.20230120
|
|
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
|
|
|
|
build:tarball:
|
|
stage: build
|
|
image: "${DEBIAN_IMAGE}"
|
|
tags: []
|
|
artifacts:
|
|
paths:
|
|
- _build/meson-dist
|
|
script:
|
|
- meson setup . _build
|
|
- xvfb-run -s -noreset meson dist -C _build
|
|
only:
|
|
- tags
|
|
|
|
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-debian-trixie:arm64:
|
|
variables:
|
|
L5_DOCKER_IMAGE: debian:trixie
|
|
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']
|
|
allow_failure: true
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
# Build Flatpak for aarch64
|
|
flatpak@aarch64:
|
|
stage: package
|
|
extends: ['.flatpak@aarch64', '.vars-devel']
|
|
allow_failure: true
|
|
except:
|
|
variables:
|
|
- $PKG_ONLY == "1"
|
|
|
|
# Publish Flatpak for x86_64
|
|
nightly@x86_64:
|
|
extends: '.publish_nightly'
|
|
allow_failure: true
|
|
needs: ['flatpak@x86_64']
|
|
|
|
# Publish Flatpak for aarch64
|
|
nightly@aarch64:
|
|
extends: '.publish_nightly'
|
|
allow_failure: true
|
|
needs: ['flatpak@aarch64']
|
|
|
|
pages:
|
|
stage: deploy
|
|
needs:
|
|
- build-gtkdoc
|
|
script:
|
|
mv _reference/ public/
|
|
artifacts:
|
|
paths:
|
|
- public
|
|
only:
|
|
- main
|