.gitlab-ci.yml 2.69 KB
Newer Older
Bastien Nocera's avatar
Bastien Nocera committed
1
2
3
4
image: fedora:rawhide

variables:
  DEPENDENCIES: dbus-glib-devel pam-devel polkit-devel
5
                gtk-doc meson gettext gcovr intltool autoconf automake libtool
Bastien Nocera's avatar
Bastien Nocera committed
6
                gcc gcc-c++ glibc-devel make python3-dbusmock python3-libpamtest systemd-devel
Bastien Nocera's avatar
Bastien Nocera committed
7
8
9
  DEPENDENCIES_STABLE: $DEPENDENCIES libfprint-devel
  DEPENDENCIES_DEV: $DEPENDENCIES git
  # Sync'ed up with https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/.gitlab-ci.yml
10
11
12
13
  # and stripped down to remove dependencies that are not strictly needed
  DEPENDENCIES_LIBFPRINT: libgusb-devel glib2-devel meson
                          gcc gcc-c++ glibc-devel
                          gobject-introspection-devel python3-cairo python3-gobject
Bastien Nocera's avatar
Bastien Nocera committed
14

15
16
17
18
19
20
21
22
23
24
25
26
.install_libfprint_dev: &install_libfprint_dev
  before_script:
    - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_LIBFPRINT $DEPENDENCIES_DEV
    - 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

27
build_stable_autotools:
28
29
  # FIXME: Stable builds will fail until libfprintv 2 reaches rawhide
  allow_failure: true
Bastien Nocera's avatar
Bastien Nocera committed
30
31
32
33
34
35
36
  before_script:
    - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_STABLE
  script:
    - ./autogen.sh --disable-dependency-tracking
    - make
    - make install

37
build_dev_autotools:
38
  <<: *install_libfprint_dev
Bastien Nocera's avatar
Bastien Nocera committed
39
40
41
42
  script:
    - ./autogen.sh --disable-dependency-tracking
    - make
    - make install
43

44
test_dev_autotools:
45
  stage: test
46
  <<: *install_libfprint_dev
47
48
49
50
51
52
53
54
55
  script:
    - ./autogen.sh --disable-dependency-tracking
    - make
    - make check
  artifacts:
    name: log
    when: always
    paths:
      - tests/*.log
56
57
58
59
60
61
62
63
64
65
66
67
68
69

build_stable_meson:
  # FIXME: Stable builds will fail until libfprintv 2 reaches rawhide
  allow_failure: true
  before_script:
    - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_STABLE
  script:
    - meson _build
    - ninja -C _build -v
    - ninja -C _build -v install

build_dev_meson:
  <<: *install_libfprint_dev
  script:
70
    - meson _build --werror
71
72
73
74
75
76
77
78
79
80
81
82
    - ninja -C _build -v
    - ninja -C _build -v install
  artifacts:
    name: log
    when: on_failure
    paths:
      - _build/meson-logs/*.txt

test_dev_meson:
  stage: test
  <<: *install_libfprint_dev
  script:
83
    - meson _build -Db_coverage=true
84
    - meson test -C _build --verbose --no-stdsplit --timeout-multiplier 3
85
    - ninja -C _build coverage
86
  artifacts:
87
    name: log-and-coverage
88
89
    when: always
    paths:
90
      - _build/meson-logs