summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 446605f2250aa515b0c86ce35c1476d1e58b2b7d (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

.build_template: &distro_build
  script:
    - meson -Dmanpage=false _build
    - ninja -C _build install

stages:
  - build-flatpak
  - build-os

# We always use flatpak-builder to check if everything still works.
flatpak:master:
  image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
  stage: build-flatpak
  script:
    - flatpak-builder --stop-at=gnome-contacts app data/flatpak/org.gnome.Contacts.json
    # Make sure to keep this in sync with the Flatpak manifest, all arguments
    # are passed except the config-args because we build it ourselves
    - flatpak build app meson --prefix=/app _build
    - flatpak build app ninja -C _build install
    - flatpak-builder --finish-only --repo=repo app data/flatpak/org.gnome.Contacts.json
    # Make a Flatpak Contacts bundle for people to test
    - flatpak build-bundle repo contacts-dev.flatpak --runtime-repo=https://sdk.gnome.org/gnome-nightly.flatpakrepo org.gnome.Contacts
    # TODO: Run automatic tests inside the Flatpak env
    # - xvfb-run -a -s "-screen 0 1024x768x24" flatpak build app ninja -C _build test
  artifacts:
    paths:
      - contacts-dev.flatpak
      - _build/meson-logs/meson-log.txt
      # - _build/meson-logs/testlog.txt
    expire_in: 2 days
  cache:
    paths:
      - .flatpak-builder/cache


# We also check (less often) if we're still building on some popular distros
fedora:rawhide:
  image: fedora:rawhide
  stage: build-os
  before_script:
    - dnf update -y && dnf install -y 'dnf-command(builddep)' redhat-rpm-config
    - dnf builddep -y gnome-contacts
  <<: *distro_build
  only:
    - schedules
    - web
    - tags

ubuntu:devel:
  image: ubuntu:devel
  stage: build-os
  before_script:
    - apt update -y
    - apt build-dep -y gnome-contacts
  <<: *distro_build
  only:
    - schedules
    - web
    - tags