include: - project: 'libfprint/libfprint' ref: master file: '/.gitlab-ci/libfprint-templates.yaml' - project: 'wayland/ci-templates' ref: master file: '/templates/fedora.yml' variables: extends: .libfprint_common_variables FDO_DISTRIBUTION_TAG: latest FDO_DISTRIBUTION_VERSION: rawhide FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG" DEPENDENCIES: dbus-glib-devel gcc gcovr gettext git glibc-devel gtk-doc libasan libfprint-devel meson pam-devel polkit-devel python3-dbusmock python3-libpamtest systemd-devel image: "$FEDORA_IMAGE" stages: - check-source - build - test .fprintd_build_preconditions: except: variables: - $FPRINT_CRON_TASK == "BUILD_CI_IMAGES" .install_libfprint_dev: before_script: # Make sure we don't build or link against the system libfprint - dnf remove -y libfprint-devel - git clone https://gitlab.freedesktop.org/libfprint/libfprint.git - cd libfprint - meson . _build --prefix=/usr -Ddrivers=virtual_image -Ddoc=false - ninja -C _build - ninja -C _build install - cd .. # So we don't get error about this libfprint file - echo "libfprint/demo/gtk-libfprint-test.ui" >> po/POTFILES.skip test_indent: stage: check-source extends: .fprintd_build_preconditions script: - scripts/uncrustify.sh - git diff - "! git status -s | grep -q ." build_stable: extends: .fprintd_build_preconditions stage: build script: - meson _build - ninja -C _build -v - ninja -C _build -v install build_dev: extends: - .fprintd_build_preconditions - .install_libfprint_dev stage: build script: - meson _build --werror -Dgtk_doc=true - ninja -C _build -v - ninja -C _build -v install artifacts: name: log when: on_failure paths: - _build/meson-logs/*.txt test_dev: extends: - .fprintd_build_preconditions - .install_libfprint_dev stage: test script: - meson _build -Db_coverage=true - meson test -C _build --verbose --no-stdsplit --timeout-multiplier 3 - ninja -C _build coverage - cat _build/meson-logs/coverage.txt artifacts: name: log-and-coverage when: always paths: - _build/meson-logs test_dev_with_sanitizer: extends: - .fprintd_build_preconditions - .install_libfprint_dev stage: test script: - meson _build -Db_sanitize=address - meson test -C _build --verbose --no-stdsplit --timeout-multiplier 5 artifacts: name: meson-logs when: on_failure paths: - _build/meson-logs # CONTAINERS creation stage container_fedora_build: extends: .fdo.container-build@fedora only: variables: - $FPRINT_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 FDO_DISTRIBUTION_PACKAGES: $DEPENDENCIES $LIBFPRINT_DEPENDENCIES