summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: b22cd39239810bcfdb1d295f1b8b84ff7db5e0fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
image: fedora:latest

variables:
  DEPENDENCIES_GRILO:
    gobject-introspection-devel
    libxml2-devel
    glib2-devel
    gtk3-devel
    liboauth-devel
    totem-pl-parser-devel
    meson
    redhat-rpm-config
    gcc
    gcc-c++
    glibc-devel
    git
    vala
    gtk-doc

  DEPENDENCY_GRILO_SOUP2:
    libsoup-devel
    libgdata-devel
    libdmapsharing-devel

  DEPENDENCY_GRILO_SOUP3:
    libsoup3-devel
    libdmapsharing4-devel

  DEPENDENCIES:
    sqlite-devel
    libgcrypt-devel
    itstool
    lua-devel
    gperf
    libarchive-devel
    json-glib-devel
    avahi-gobject-devel
    libmediaart-devel
    gom-devel
    gnome-online-accounts-devel
    gstreamer1-devel
    gstreamer1-plugins-good
    gstreamer1-plugins-bad-free-extras
    python3-gobject-base
    dbus-daemon
    tracker-miners
    tracker-devel
    upower

build_stable:
  before_script:
    - dnf update -y --nogpgcheck
  script:
    - dnf install -y --nogpgcheck $DEPENDENCIES_GRILO $DEPENDENCIES $DEPENDENCY_GRILO_SOUP2
    # As part of configuring grilo-plugins.git for build, the latest code from
    # grilo.git will be fetched by Meson and it will be built as a subproject.
    - meson . _build --prefix=/usr -Dgrilo:soup3=false
      -Denable-bookmarks=yes
      -Denable-chromaprint=yes
      -Denable-dleyna=yes
      -Denable-dmap=yes
      -Denable-filesystem=yes
      -Denable-flickr=yes
      -Denable-freebox=yes
      -Denable-gravatar=yes
      -Denable-local-metadata=yes
      -Denable-lua-factory=yes
      -Denable-magnatune=yes
      -Denable-metadata-store=yes
      -Denable-opensubtitles=yes
      -Denable-optical-media=yes
      -Denable-podcasts=yes
      -Denable-raitv=yes
      -Denable-shoutcast=yes
      -Denable-thetvdb=yes
      -Denable-tmdb=yes
      -Denable-tracker3=yes
      -Denable-youtube=yes
    - ninja -C _build
    - ninja -C _build install
    # Start a system bus for upower
    - mkdir -p /run/dbus
    - mkdir -p /var
    - ln -s /var/run /run
    - dbus-daemon --system --fork
    - /usr/libexec/upowerd &
    - LANG=C.UTF-8 dbus-run-session meson test -C _build --suite=grilo-plugins
  artifacts:
    name: meson-logs
    when: on_failure
    paths:
      - _build/meson-logs

build_soup3:
  before_script:
    - dnf update -y --nogpgcheck
  script:
    - dnf install -y --nogpgcheck --exclude=libsoup-devel $DEPENDENCIES_GRILO $DEPENDENCIES $DEPENDENCY_GRILO_SOUP3
    # As part of configuring grilo-plugins.git for build, the latest code from
    # grilo.git will be fetched by Meson and it will be built as a subproject.
    - meson . _build --prefix=/usr -Dgrilo:soup3=true
      -Denable-bookmarks=yes
      -Denable-chromaprint=yes
      -Denable-dleyna=yes
      -Denable-dmap=yes
      -Denable-filesystem=yes
      -Denable-flickr=yes
      -Denable-freebox=yes
      -Denable-gravatar=yes
      -Denable-local-metadata=yes
      -Denable-lua-factory=yes
      -Denable-magnatune=yes
      -Denable-metadata-store=yes
      -Denable-opensubtitles=no
      -Denable-optical-media=yes
      -Denable-podcasts=yes
      -Denable-raitv=yes
      -Denable-shoutcast=yes
      -Denable-thetvdb=yes
      -Denable-tmdb=yes
      -Denable-tracker3=yes
      -Denable-youtube=no
    - ninja -C _build
    - ninja -C _build install
    # Start a system bus for upower
    - mkdir -p /run/dbus
    - mkdir -p /var
    - ln -s /var/run /run
    - dbus-daemon --system --fork
    - /usr/libexec/upowerd &
    - LANG=C.UTF-8 dbus-run-session meson test -C _build --suite=grilo-plugins
  artifacts:
    name: meson-logs
    when: on_failure
    paths:
      - _build/meson-logs