.build_template: &distro_build script: - meson -Dmanpage=false _build - ninja -C _build install stages: - build-flatpak - build-os # We always use flatpak-builder to check if everything still works. flatpak:master: image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master stage: build-flatpak script: - flatpak-builder --stop-at=gnome-contacts app data/flatpak/org.gnome.Contacts.json # 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 _build - flatpak build app ninja -C _build install - flatpak-builder --finish-only --repo=repo app data/flatpak/org.gnome.Contacts.json # Make a Flatpak Contacts bundle for people to test - flatpak build-bundle repo contacts-dev.flatpak --runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo org.gnome.Contacts # TODO: Run automatic tests inside the Flatpak env # - xvfb-run -a -s "-screen 0 1024x768x24" flatpak build app ninja -C _build test artifacts: paths: - contacts-dev.flatpak - _build/meson-logs/meson-log.txt # - _build/meson-logs/testlog.txt expire_in: 2 days cache: paths: - .flatpak-builder/cache # We also check (less often) if we're still building on some popular distros fedora:rawhide: image: fedora:rawhide stage: build-os before_script: - dnf update -y && dnf install -y 'dnf-command(builddep)' redhat-rpm-config - dnf builddep -y gnome-contacts <<: *distro_build only: - schedules - web - tags ubuntu:devel: image: ubuntu:devel stage: build-os before_script: - apt update -y - apt build-dep -y gnome-contacts <<: *distro_build only: - schedules - web - tags