.travis.yml 5.0 KB
Newer Older
1 2 3
sudo: false
language: c
cache: ccache
4

5 6 7 8
branches:
  except:
  - /^.*-maint$/

9 10 11 12
matrix:
  include:
    - compiler: gcc
      dist: trusty
13
      env:
14
        - PYTHON=$(which python2)
15
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=upstart"
16 17
    - compiler: clang
      dist: trusty
18
      env:
19
        - PYTHON=$(which python3)
20
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=systemd"
21 22
    - compiler: clang
      os: osx
23
      before_install:
24
        - brew uninstall python mercurial postgis sfcgal cgal gdal
25 26
        - brew update
        - brew upgrade
27
        - brew install python rpcgen yajl
28 29 30 31 32
      script:
        # We can't run make distcheck/syntax-check because they
        # fail on macOS, but doing 'install' and 'dist' gives us
        # some useful coverage
        - make -j3 && make -j3 install && make -j3 dist
33

34 35
addons:
  apt:
36
    # Please keep this list sorted alphabetically
37
    packages:
38
      - augeas-tools
39 40
      - autoconf
      - automake
41
      - autopoint
42
      - bash-completion
43
      - ccache
44
      - dnsmasq-base
45
      - dwarves
46 47
      - ebtables
      - gcc
A
Andrea Bolognani 已提交
48
      - gettext
49 50
      - glusterfs-client
      - libacl1-dev
51
      - libapparmor-dev
52
      - libattr1-dev
53
      - libaudit-dev
54
      - libavahi-client-dev
55 56
      - libblkid-dev
      - libc6-dev
57
      - libcap-ng-dev
58
      - libc-dev-bin
59 60
      - libcurl4-gnutls-dev
      - libdbus-1-dev
61
      - libdevmapper-dev
62
      - libfuse-dev
63 64
      - libgnutls-dev
      - libnetcf-dev
65 66 67
      - libnl-3-dev
      - libnl-route-3-dev
      - libnuma-dev
68 69 70
      - libopenwsman-dev
      - libparted-dev
      - libpcap-dev
71
      - libpciaccess-dev
72
      - librbd-dev
73
      - libreadline-dev
74
      - libsanlock-dev
75
      - libsasl2-dev
76
      - libselinux1-dev
77
      - libssh2-1-dev
78
      - libssh-dev
79
      - libtirpc-dev
80
      - libtool
81 82 83 84 85 86
      - libudev-dev
      - libxen-dev
      - libxml2-dev
      - libxml2-utils
      - libyajl-dev
      - lvm2
87
      - make
88
#     - nfs-common    # broken on trusty since build #807 (2018-01-09)
89 90 91
      - open-iscsi
      - parted
      - patch
92
      - perl
93
      - pkgconf
94
      - policykit-1
95 96
      - qemu-utils
      - radvd
97 98 99
      - scrub
      - sheepdog
      - systemtap-sdt-dev
100
      - xsltproc
101
      - zfs-fuse
102 103 104 105

git:
  submodules: true

106 107 108 109 110 111 112
env:
  global:
    # The custom $PATH is just to pick up some extra binaries installed
    # through homebrew on macOS and it's completely harmless on Linux
    - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/rpcgen/bin:$PATH"
    - VIR_TEST_DEBUG=1

113
before_script:
114
  - ./autogen.sh --prefix=$(pwd)/install-root
115

116
script:
117
  - make -j3 && make -j3 syntax-check && make -j3 distcheck DISTCHECK_CONFIGURE_FLAGS=$DISTCHECK_CONFIGURE_FLAGS
118

119 120
after_failure:
  - echo '============================================================================'
121 122
  - 'ver=$(sed -n "s/AC_INIT(\[libvirt\], \[\([0-9.]*\)\],.*/\1/p" configure.ac);
    if [ -f $(pwd)/tests/test-suite.log ]; then
123
        cat $(pwd)/tests/test-suite.log;
124 125
    elif [ -f libvirt-$ver/_build/tests/test-suite.log ]; then
        cat libvirt-$ver/_build/tests/test-suite.log;
126 127 128
    else
        echo "=== NO LOG FILE FOUND ===";
    fi'
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

notifications:
  irc:
    # The channel name "irc.oftc.net#virt" is encrypted against libvirt/libvirt
    # to prevent IRC notifications from github forks. This was created using:
    # $ travis encrypt -r "libvirt/libvirt" "irc.oftc.net#virt"
    channels:
      - secure: "hUPdkLxX7nh75+clpnk4U0XLExLfV9DFKSvQSAUtf5JtDNMslj7AeOCf2wcbkNsEhkiF557odTAnov1s5m1w/yaa56zbjFAh5agzqRKya3QjqsrvlBKw/WuN+l82iMNLLeebTgCPAXrbAbGWH8YmYssp/7+eMsnKaVh84EQQNbMCHlLg6ovE26Fs18mZ6J5RC3OPa1vbv+xkdCHvGg/Oyp4K8bpU7RYyimA56jdxI/OfdTH9HxntHYSzykR7hDbyzZhdIlAUyRKReQVjcV5+R8fdDL/1imyGA/88KTztMeKXpZ5Rf+Ss3vYLZb6qsLLegCZ4AU/q0vvbWxjpZGJZoeyrVpfBTZdYGIzmLTMl9GYXXa/gDwFlbvRDiPDG4TIy6GlMUROinj7KRKEHu1fWRYu012ife5OjidxcwrTnz21vYaCv3AKWPpMPxwIzQPkY1hex9uLLX6z+TrAxxDLF+7UzRT9w2RLFBkLYlj2aDVrLAVb/ynRsxDz5CGzC61FSQVft2e308SkGjdn8YxvguCuXv+N70Fu1cvFyh5XYeHb4fbBRo0Ctzaec78leHlQvRGWKJxXDXRkE2lvvBc7YbBNSAYh7Fs8Y+zY7l7rMxvXdrt3nuaNQhe74V3yhxPDAld66qmAn9TYMmaZW2f5/KKKILLbCa0t2MxiAc6L2OI8="
    on_success: change
    on_failure: always
  email:
    # The list name 'libvirt-ci@redhat.com" is encrypted against libvirt/libvirt
    # to prevent IRC notifications from github forks. This was created using:
    # $ travis encrypt -r "libvirt/libvirt" "libvirt-ci@redhat.com"
    recipients:
      - secure: "QcU9eP96P0RlDNzVRZl/4sxyydPStGzECrpgJhr2IPB/7pHk23yaBrmUsq9S830tB+jwLGma1IscNB8uf7Sf7WY+cYIpfR8v030OffWnaipo/Gcs0dpnlfURWHjOFQI3RJzGEihsqvbwUFOwsM+3IDyO3qdWaiT6cN2Tj9ROlwYCySSX5YWzLyX7arBZ4lp8ESs7ohQaEwp2cegnMP2oGPJJe4SebvlCDjHZbjkU5aEradwUWnRQDJZWTKknpNLArVFxN2/ixp6f/MGY4DmkHoDweio6mHIPN5zTs5Jt32aiX6wDBa+bBa4v8TCRqzhYkQ63ZZhNV8bY5Uf9ufTdyvt96yIANyakd85b1QpMdAX76IyJi1l0/Uub6DTQZAcq3vK7iPjGeTVSpyoXrqTfGy4JxMjqDoocpWvv8ALX1wrYI/HfN2R2Aepw9jModTimOsebYhJ1yMhSt8qnh5AQNftGKL2JBKoA1LWdU2YJ5fO1bGjKNiVEkGFQTPYFWrYCUY5JcT+s5WCzNeMNm8s9na8liYhGl3WtS3rPr5M8bof+BMsBhG2hQ0loduc94x2GkvyhQZUgRbqrwNR+y4hn+rWFC3hBzzyiAULs43vY/PJ+eBdKEf3VAc0MkhQ8GgXGSA61fR6aXYonroI/WnBVItwDmUnnMfSziZXxk09GLl4="