.travis.yml 3.65 KB
Newer Older
Lubomir Rintel's avatar
Lubomir Rintel committed
1
language: c
2 3
dist: trusty
sudo: required
4 5 6 7
compiler:
  - gcc
  - clang

8
addons:
9 10 11 12 13 14 15 16 17 18
  apt:
    packages:
    - autoconf
    - libtool
    - pkg-config
    - intltool
    - libdbus-glib-1-dev
    - libdbus-1-dev
    - libiw-dev
    - libglib2.0-dev
19 20
    - libmm-glib-dev
    - ppp
21 22
    - ppp-dev
    - libpolkit-gobject-1-dev
23
    - libgnutls-dev
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
    - 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
45
    - dnsmasq
46
    - libcurl4-gnutls-dev
47
    - python3-pip
48 49 50
  coverity_scan:
    project:
      name: NetworkManager/NetworkManager
51
    build_command_prepend: sh autogen.sh --with-systemd-logind=no --enable-more-warnings=no --disable-ovs
52 53 54
    build_command: make -j4
    branch_pattern: .*coverity.*

55
before_install:
56 57 58 59 60 61 62 63
    - 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
64 65 66 67 68 69 70 71 72 73 74 75

          # 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
76 77
      fi
    - sudo chmod o+x /usr/sbin/pppd
78

79 80
script:
    - |
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
      if test "$BUILD_TYPE" == 'meson'; then
          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 docs=true \
              \
              -D ifcfg_rh=false \
              -D ibft=true \
              -D ifupdown=true \
              &&
          ninja -C build &&
          ninja -C build test
      fi
104
    - |
105 106 107 108 109 110
      if test "$BUILD_TYPE" == 'autotools'; then
          git clean -fdx &&
          ./autogen.sh --with-systemd-logind=no --enable-more-warnings=no --enable-ifcfg-rh --enable-config-plugin-ibft --enable-ifupdown --enable-tests &&
          make -j4 &&
          ./contrib/travis/travis-check.sh
      fi
111

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