4640e3f5b0
We do not need the master runtime environment and the stable 3.32 one is more readily available to users.
83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
image: fedora:rawhide
|
|
stages:
|
|
- build
|
|
- test
|
|
- flatpack
|
|
|
|
variables:
|
|
DEPENDENCIES: libgusb-devel glib2-devel nss-devel pixman-devel systemd meson gtk-doc
|
|
gcc gcc-c++ glibc-devel libX11-devel libXv-devel gtk3-devel flatpak-builder
|
|
gobject-introspection-devel python3-cairo python3-gobject
|
|
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
|
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
|
|
|
.build_one_driver_template: &build_one_driver
|
|
script:
|
|
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
# Build with a driver that doesn't need imaging, or nss
|
|
- meson -Ddrivers=$driver . _build
|
|
- ninja -C _build
|
|
- rm -rf _build/
|
|
|
|
.build_template: &build
|
|
script:
|
|
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
# And build with everything
|
|
- meson -Ddrivers=all . _build
|
|
- ninja -C _build
|
|
- ninja -C _build install
|
|
|
|
.build_template: &check_abi
|
|
script:
|
|
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES doxygen libabigail git
|
|
- ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
|
|
|
build:
|
|
stage: build
|
|
variables:
|
|
driver: virtual_image
|
|
<<: *build_one_driver
|
|
<<: *build
|
|
# <<: *check_abi
|
|
|
|
test:
|
|
stage: test
|
|
script:
|
|
- dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES
|
|
- meson -Ddrivers=virtual_image . _build
|
|
- ninja -C _build
|
|
- meson test -C _build --verbose --no-stdsplit
|
|
|
|
.flatpak_script_template: &flatpak_script
|
|
script:
|
|
- 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 --libdir=lib ${MESON_ARGS} _build
|
|
- flatpak build app ninja -C _build install
|
|
- flatpak build app rm -rf /app/include/ /app/lib/pkgconfig/
|
|
- flatpak-builder --finish-only --repo=repo app ${MANIFEST_PATH}
|
|
# Generate a Flatpak bundle
|
|
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${DBUS_ID}
|
|
|
|
.flatpak_artifacts_template: &flatpak_artifacts
|
|
artifacts:
|
|
paths:
|
|
- ${BUNDLE}
|
|
when: always
|
|
expire_in: 30 days
|
|
|
|
.flatpak_template: &flatpak
|
|
<<: *flatpak_script
|
|
<<: *flatpak_artifacts
|
|
|
|
flatpak master:
|
|
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.32
|
|
stage: flatpack
|
|
variables:
|
|
MANIFEST_PATH: "demo/org.freedesktop.libfprint.Demo.json"
|
|
# From demo/org.freedesktop.libfprint.Demo.json
|
|
MESON_ARGS: "-Dudev_rules=false -Dx11-examples=false -Dgtk-examples=true"
|
|
FLATPAK_MODULE: "libfprint"
|
|
DBUS_ID: "org.freedesktop.libfprint.Demo"
|
|
<<: *flatpak
|