2019-12-05 12:56:12 +00:00
|
|
|
variables:
|
2019-12-05 13:23:35 +00:00
|
|
|
FEDORA_TAG: rawhide
|
|
|
|
FEDORA_VERSION: rawhide
|
2019-12-05 16:18:14 +00:00
|
|
|
FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FEDORA_VERSION:$FEDORA_TAG"
|
2019-12-05 12:56:12 +00:00
|
|
|
BUNDLE: "org.freedesktop.libfprint.Demo.flatpak"
|
|
|
|
LAST_ABI_BREAK: "056ea541ddc97f5806cffbd99a12dc87e4da3546"
|
|
|
|
|
2019-12-05 13:23:35 +00:00
|
|
|
include:
|
|
|
|
- project: 'wayland/ci-templates'
|
|
|
|
ref: master
|
|
|
|
file: '/templates/fedora.yml'
|
|
|
|
|
2018-05-31 10:18:17 +00:00
|
|
|
stages:
|
2019-11-25 18:08:31 +00:00
|
|
|
- check-source
|
2018-05-31 10:18:17 +00:00
|
|
|
- build
|
2018-10-23 08:37:44 +00:00
|
|
|
- test
|
2019-07-01 15:31:57 +00:00
|
|
|
- flatpack
|
2018-05-31 10:18:17 +00:00
|
|
|
|
2019-12-05 12:56:12 +00:00
|
|
|
image: "$FEDORA_IMAGE"
|
2018-05-31 10:18:17 +00:00
|
|
|
|
2018-10-23 08:37:44 +00:00
|
|
|
.build_one_driver_template: &build_one_driver
|
2018-05-31 10:18:17 +00:00
|
|
|
script:
|
2018-09-28 13:55:56 +00:00
|
|
|
# Build with a driver that doesn't need imaging, or nss
|
2019-12-04 13:28:12 +00:00
|
|
|
- meson --werror -Ddrivers=$driver . _build
|
2018-09-28 13:55:56 +00:00
|
|
|
- ninja -C _build
|
2018-10-08 14:50:30 +00:00
|
|
|
- rm -rf _build/
|
2018-10-23 08:37:44 +00:00
|
|
|
|
|
|
|
.build_template: &build
|
|
|
|
script:
|
2018-09-28 13:55:56 +00:00
|
|
|
# And build with everything
|
2019-12-04 13:28:12 +00:00
|
|
|
- meson --werror -Ddrivers=all . _build
|
2018-05-31 10:18:17 +00:00
|
|
|
- ninja -C _build
|
|
|
|
- ninja -C _build install
|
|
|
|
|
2019-08-05 17:18:43 +00:00
|
|
|
.build_template: &check_abi
|
|
|
|
script:
|
|
|
|
- ./.ci/check-abi ${LAST_ABI_BREAK} $(git rev-parse HEAD)
|
|
|
|
|
2018-10-23 08:37:44 +00:00
|
|
|
build:
|
|
|
|
stage: build
|
2019-12-05 12:58:39 +00:00
|
|
|
except:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule"
|
2019-07-01 15:31:57 +00:00
|
|
|
variables:
|
|
|
|
driver: virtual_image
|
2018-10-23 08:37:44 +00:00
|
|
|
<<: *build_one_driver
|
|
|
|
<<: *build
|
2019-08-16 07:33:57 +00:00
|
|
|
# <<: *check_abi
|
2018-10-23 08:37:44 +00:00
|
|
|
|
2019-07-01 15:31:57 +00:00
|
|
|
test:
|
|
|
|
stage: test
|
2019-12-05 12:58:39 +00:00
|
|
|
except:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule"
|
2019-07-01 15:31:57 +00:00
|
|
|
script:
|
2019-12-04 13:28:12 +00:00
|
|
|
- meson --werror -Ddrivers=all . _build
|
2019-07-01 15:31:57 +00:00
|
|
|
- ninja -C _build
|
|
|
|
- meson test -C _build --verbose --no-stdsplit
|
|
|
|
|
2019-11-26 18:17:26 +00:00
|
|
|
test_valgrind:
|
|
|
|
stage: test
|
2019-12-05 12:58:39 +00:00
|
|
|
except:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule"
|
2019-11-26 18:17:26 +00:00
|
|
|
script:
|
|
|
|
- meson -Ddrivers=all . _build
|
|
|
|
- ninja -C _build
|
|
|
|
- meson test -C _build --verbose --no-stdsplit --setup=valgrind
|
|
|
|
|
2019-11-19 15:32:46 +00:00
|
|
|
test_indent:
|
2019-11-25 18:08:31 +00:00
|
|
|
stage: check-source
|
2019-12-05 12:58:39 +00:00
|
|
|
except:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule"
|
2019-11-19 15:32:46 +00:00
|
|
|
script:
|
|
|
|
- scripts/uncrustify.sh --check
|
|
|
|
|
2018-10-23 08:37:44 +00:00
|
|
|
.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
|
|
|
|
|
2019-12-04 18:04:04 +00:00
|
|
|
.flatpak_master_template: &flatpak_master
|
2019-07-10 09:59:09 +00:00
|
|
|
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.32
|
2019-07-01 15:31:57 +00:00
|
|
|
stage: flatpack
|
2019-12-05 12:58:39 +00:00
|
|
|
except:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule"
|
2018-10-23 08:37:44 +00:00
|
|
|
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
|
2019-12-04 18:04:04 +00:00
|
|
|
|
|
|
|
flatpak-auto master:
|
|
|
|
<<: *flatpak_master
|
|
|
|
when: always
|
|
|
|
only:
|
|
|
|
- tags
|
|
|
|
- master
|
|
|
|
|
|
|
|
flatpak-manual master:
|
|
|
|
<<: *flatpak_master
|
|
|
|
when: manual
|
|
|
|
except:
|
|
|
|
- tags
|
|
|
|
- master
|
2019-12-05 13:23:35 +00:00
|
|
|
|
|
|
|
# CONTAINERS creation stage
|
|
|
|
container_fedora_build:
|
|
|
|
extends: .fedora@container-build
|
|
|
|
only:
|
|
|
|
variables:
|
|
|
|
- $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES"
|
|
|
|
variables:
|
|
|
|
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
|
|
|
|
# a list of packages to install
|
|
|
|
FEDORA_RPMS:
|
|
|
|
doxygen
|
|
|
|
flatpak-builder
|
|
|
|
gcc
|
|
|
|
gcc-c++
|
|
|
|
git
|
|
|
|
glib2-devel
|
|
|
|
glibc-devel
|
|
|
|
gobject-introspection-devel
|
|
|
|
gtk-doc
|
|
|
|
gtk3-devel
|
|
|
|
libabigail
|
|
|
|
libgusb-devel
|
|
|
|
libX11-devel
|
|
|
|
libXv-devel
|
|
|
|
meson
|
|
|
|
nss-devel
|
|
|
|
pixman-devel
|
|
|
|
python3-cairo
|
|
|
|
python3-gobject
|
|
|
|
systemd
|
|
|
|
umockdev
|
|
|
|
uncrustify
|
|
|
|
valgrind
|