summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: a7dc0cc2c48ff0476302cfd120c259bde7954317 (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
stages:
- build
- test
- weeklytest
- deploy

build:fedora:
    image: fedora:28
    stage: build
    script:
    - dnf install -y gcc meson gettext itstool redhat-rpm-config git
                 gtk3-devel gnome-autoar-devel gnome-desktop3-devel
                 gobject-introspection-devel libselinux-devel
                 libxml2-devel tracker-devel desktop-file-utils
                 libgexiv2-devel gcovr
    # Waiting for gcovr 3.5 to be released.
    - pip install git+https://github.com/gcovr/gcovr.git
    - meson _build . -Db_coverage=true
    artifacts:
        paths:
        - _build

test:fedora:
    image: fedora:28
    stage: test
    dependencies:
    - build:fedora
    script:
    # Coverage data contains paths relative to the build directory,
    # so changing to it makes writing filter expressions easier.
    #
    # _build/src/ contains generated sources, so that is filtered out as well.
    - cd _build
    - ninja test
    - gcovr --root=.
        --exclude=src/
        --exclude=../data/
        --exclude=../eel/check-program.c
        --exclude=../eel/eel-debug.c
        --exclude=../eel/eel-lib-self-check-functions.c
        --exclude=../eel/eel-self-checks.c
        --exclude=../src/animation/
        --exclude=../src/gtk/
        --exclude=../src/nautilus-lib-self-check-functions.c
        --exclude=../src/nautilus-self-check-functions.c
        --exclude=../subprojects/libgd/
        --exclude=../test/
    coverage: '/^TOTAL.*\s+(\d+\%)$/'
      
build:flatpak:
    image: flatpak/flatpak-builder:gnome-3-28
    stage: build
    script:
    # This should be removed once the base image works with git submodules
    - dnf install -y git
    - export
    - flatpak-builder --force-clean --repo=repo app build-aux/flatpak/org.gnome.Nautilus.json
    - flatpak build-bundle repo nautilus-dev.flatpak org.gnome.Nautilus
    artifacts:
        paths:
          - nautilus-dev.flatpak
        expire_in: 2 days

    
build:rawhide:
    image: fedora:rawhide
    stage: weeklytest
    script:
    - dnf install -y gcc meson gettext itstool redhat-rpm-config git
                 gtk3-devel gnome-autoar-devel gnome-desktop3-devel
                 gobject-introspection-devel libselinux-devel
                 libxml2-devel tracker-devel desktop-file-utils
                 libgexiv2-devel
    - meson _build .
    - cd _build
    - ninja test
    only:
    - schedules
    
build:ubuntu:
    image: ubuntu:devel
    stage: weeklytest
    script:
    - apt install -y gcc meson gettext itstool git
                 gtk3-devel gnome-autoar-devel gnome-desktop3-devel
                 gobject-introspection-devel libselinux-devel
                 libxml2-devel tracker-devel desktop-file-utils
                 libgexiv2-devel
    - meson _build .
    - cd _build
    - ninja test
    only:
    - schedules
    
build:suse:
    image: opensuse:tumbleweed
    stage: weeklytest
    script:
    - dnf install -y gcc meson gettext itstool git
                 gtk3-devel gnome-autoar-devel gnome-desktop3-devel
                 gobject-introspection-devel libselinux-devel
                 libxml2-devel tracker-devel desktop-file-utils
                 libgexiv2-devel
    - meson _build .
    - cd _build
    - ninja test
    only:
    - schedules