mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
128 lines
3.2 KiB
YAML
128 lines
3.2 KiB
YAML
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,virtual_device,virtual_device_storage -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 --print-errorlogs --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 --print-errorlogs --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
|