summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: f8ecf49eb33a4dc60eca63a15eec87f84b1099bb (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
# Quick syntax check:
# python -c 'import sys, yaml; yaml.dump (yaml.load (sys.stdin), sys.stdout)' <.gitlab-ci.yml

# If things don't seem to work, this can help:
# https://gitlab.gnome.org/GNOME/network-manager-applet/-/ci/lint

stages:
  - build
  - test
  - triage

.dist: &dist
  dependencies:
    - fedora30_dist

fedora30_dist:
  image: fedora:30
  stage: build
  before_script:
    - ./scripts/gitlab-ci.sh fedora_install_full autotools
  script:
    - sh autogen.sh
    - make -j$(nproc) distcheck
  artifacts:
    paths:
      - "*.xz"

fedora_meson_minimal:
  <<: *dist
  before_script:
    - ./scripts/gitlab-ci.sh fedora_install_minimal meson
  script:
    - tar xJf network-manager-applet-*.tar.xz
    - meson
      -Dwwan=false
      -Dselinux=false
      -Dteam=false
      -Dld_gc=false
      -Dappindicator=no
      -Dmore_asserts=no
      network-manager-applet-*/ build
    - ninja -v -C build
    - ninja -v -C build test
    - ninja -v -C build install
    - ninja -v -C build uninstall
  image: fedora:latest
  stage: test
  when: manual

fedora_meson_full:
  <<: *dist
  before_script:
    - ./scripts/gitlab-ci.sh fedora_install_full meson
  script:
    - tar xJf network-manager-applet-*.tar.xz
    - meson
      -Dwwan=true
      -Dselinux=true
      -Dteam=true
      -Dld_gc=true
      -Dappindicator=yes
      -Dmore_asserts=yes
      network-manager-applet-*/ build
    - ninja -v -C build
    - ninja -v -C build test
    - ninja -v -C build install
    - ninja -v -C build uninstall
  image: fedora:latest
  stage: test

fedora_autotools_minimal:
  <<: *dist
  before_script:
    - ./scripts/gitlab-ci.sh fedora_install_minimal make
  script:
    - tar xJf network-manager-applet-*.tar.xz
    - cd network-manager-applet-*/
    - ./configure
      --disable-silent-rules
      --with-more-asserts=no
      --disable-nls
      --disable-schemas-compile
      --disable-more-warnings
      --without-appindicator
      --without-wwan
      --without-selinux
      --without-team
    - make -j$(nproc)
    - make -j$(nproc) check
    - make -j$(nproc) install
    - make -j$(nproc) uninstall
  image: fedora:latest
  stage: test
  when: manual

fedora_autotools_full:
  <<: *dist
  before_script:
    - ./scripts/gitlab-ci.sh fedora_install_full make
  script:
    - tar xJf network-manager-applet-*.tar.xz
    - cd network-manager-applet-*/
    - ./configure
      --disable-silent-rules
      --with-more-asserts=yes
      --enable-nls
      --enable-schemas-compile
      --enable-more-warnings
      --with-appindicator
      --with-wwan
      --with-selinux
      --with-team
    - make -j$(nproc)
    - make -j$(nproc) check
    - make -j$(nproc) install
    - make -j$(nproc) uninstall
  image: fedora:latest
  stage: test

triage:issues:
  stage: triage
  image: ruby:2.7
  script:
    - gem install gitlab-triage
    - gitlab-triage -d --token $API_TOKEN --source-id $SOURCE_ID
  only:
    - schedules