Blame .gitlab-ci.yml

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