summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: c96bb9496a921f8f8720cb8ed393aa154accc615 (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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
language: c
dist: trusty
sudo: required
compiler:
  - gcc
  - clang

addons:
  apt:
    packages:
    - autoconf
    - libtool
    - pkg-config
    - intltool
    - libdbus-glib-1-dev
    - libdbus-1-dev
    - libiw-dev
    - libglib2.0-dev
    - libmm-glib-dev
    - ppp
    - ppp-dev
    - libpolkit-gobject-1-dev
    - libgnutls-dev
    - libgcrypt11-dev
    - uuid-dev
    - libudev-dev
    - libgirepository1.0-dev
    - gobject-introspection
    - gtk-doc-tools
    - libglib2.0-doc
    - libreadline-dev
    - libnewt-dev
    - libnss3-dev
    - iptables
    - make
    - python-software-properties
    - python-gi
    - python-dbus
    - dbus
    - dbus-x11
    - libjansson4
    - libjansson-dev
    - libndp-dev
    - automake
    - dnsmasq
    - libcurl4-gnutls-dev
    - python3-pip
  coverity_scan:
    project:
      name: NetworkManager/NetworkManager
    build_command_prepend: sh autogen.sh --with-systemd-logind=no --enable-more-warnings=no --disable-ovs
    build_command: make -j4
    branch_pattern: .*coverity.*

before_install:
    - sudo dbus-uuidgen --ensure
    - |
      if test "$BUILD_TYPE" == 'meson'; then
          git clone https://github.com/ninja-build/ninja &&
          pushd ninja &&
              ./configure.py --bootstrap &&
              sudo cp ninja /usr/bin/ &&
          popd

          # Recent meson requires python 3.5, which isn't in Ubuntu 14.04.
          # Hence we cannot install it via `pip3 install meson`. Install the latest
          # working release.
          #
          # Wouldn't it be nice to have a build system that supports everything
          # that NetworkManager would like to support?
          wget https://github.com/mesonbuild/meson/releases/download/0.44.1/meson-0.44.1.tar.gz -O /tmp/meson.tar.gz
          tar -C /tmp -xvzf /tmp/meson.tar.gz
          pushd /tmp/meson-0.44.1
              sudo python3 setup.py install
          popd
      fi
    - sudo chmod o+x /usr/sbin/pppd

script:
    - |
      if test "$BUILD_TYPE" == 'meson'; then
          if [ "$CC" == gcc ]; then
              CRYPTO=nss
          else
              CRYPTO=gnutls
          fi &&
          meson build \
              \
              -D ld_gc=false \
              -D session_tracking=no \
              -D systemdsystemunitdir=no \
              -D systemd_journal=false \
              -D selinux=false \
              -D libaudit=no \
              -D libpsl=false \
              -D vapi=false \
              -D introspection=false \
              -D qt=false \
              -D crypto=$CRYPTO \
              -D docs=false \
              \
              -D libnm_glib=true \
              -D iwd=true \
              -D ofono=true \
              -D teamdctl=false \
              \
              -D dhclient=/bin/nowhere/dhclient \
              -D dhcpcanon=/bin/nowhere/dhcpcanon \
              -D dhcpcd=/bin/nowhere/dhcpd \
              \
              -D netconfig=/bin/nowhere/netconfig \
              -D resolvconf=/bin/nowhere/resolvconf \
              \
              -D ifcfg_rh=false \
              -D ibft=true \
              -D ifupdown=true \
              &&
          ninja -C build &&
          ninja -C build test
      fi
    - |
      if test "$BUILD_TYPE" == 'autotools'; then
          if [ "$CC" == gcc ]; then
              CRYPTO=gnutls
          else
              CRYPTO=nss
          fi &&
          git clean -fdx &&
          NOCONFIGURE=1 ./autogen.sh &&
          mkdir ./build &&
          pushd ./build &&
          ../configure \
              --prefix="$PWD/INST" \
              --enable-gtk-doc=yes \
              --with-systemd-logind=no \
              --enable-more-warnings=no \
              --enable-tests=yes \
              --with-crypto=$CRYPTO \
              \
              --with-libnm-glib=yes \
              --with-iwd=yes \
              --with-ofono=yes \
              --enable-teamdctl=no \
              \
              --with-dhcpcanon=yes \
              --with-dhcpcd=yes \
              --with-dhclient=yes \
              \
              --with-netconfig=/bin/nowhere/netconfig \
              --with-resolvconf=/bin/nowhere/resolvconf \
              \
              --enable-ifcfg-rh=yes \
              --enable-config-plugin-ibft=yes \
              --enable-ifupdown=yes \
              &&
          make -j4 &&
          if [ "$CC" == gcc ]; then
              sudo locale-gen pl_PL.UTF-8 &&
              sudo make install &&
              NM_TEST_CLIENT_CHECK_L10N=1 ../contrib/travis/travis-check.sh
          else
              ../contrib/travis/travis-check.sh
          fi &&
          popd
      fi

env:
  matrix:
    - BUILD_TYPE=autotools
    - BUILD_TYPE=meson
  global:
    secure: K36MXkcsuDZ0msuEj5zHMmHfv6O725lsXuFdP6AJ3rYWKuLYE1+iNLgIRndNWDK9ckkNQFaCxDY4Z/NCfCYQTGAS9oXR5AwNqNbhOq8XrqdaZ2GX35sob8Tp4B3IsoREkN/UbIkXQKYlA5rUhgtSifUg3EwfeOiFvnLCwHcp0rYHnvT/jaq5vodBbA1jChjezcMHsp43kvPXHpybKRkipb9EzV/V3VtDLLWh9WQBvQNawpsHnT+MXSke1yU1zfNMyD9XiD7VDzCwaTs6LzjoFBLc86QS5U/9W72s0rFe6SbecntQHftknRzSrGiJDNe64wDZN/Wxq1MHxEOFCwDi6vcSwQ+RoTdhyshhfPVY2Mm5soj2w7Dx43Cz0dDZDCMhu5xxzFAFgkieJSfwXbuxga0ds58Ph8MgtDSp3fBRewZwI+vMuzl7a1hGkcqJojrm1lfgAKbNgrNUzQRwbVYAyrpa6/vCbd6ZH4PEtITwLaRf2mz8PG71xiMQguDDDXS8WF0U7Looe+G9ybAUwDS5hqHfeP+3q6bfN5Sg5Zs5QkBIN5LZbeWbPYldOEEDTvo3VI7e84bk7U5qEoUKc0w/tqVF1B5KgNUq6nIkCkmoBx8RFnmjpOHh99IfeRG9nQTRpCaEDvAM4fcRzITzId8dIIfAW/45P3ozzfz/HYiie+o=