.travis.yml 5.1 KB
Newer Older
1 2
sudo: required
language: generic
3

4 5
branches:
  except:
A
Andrea Bolognani 已提交
6
    - /^.*-maint$/
7

8 9
matrix:
  include:
10 11
    - services:
        - docker
12
      env:
13
        - IMAGE=ubuntu:18.04
14
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=systemd"
15
        - DOCKER_CMD="$LINUX_CMD"
16 17 18 19 20
    - services:
        - docker
      env:
        - IMAGE=ubuntu:16.04
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=upstart"
21
        - DOCKER_CMD="$LINUX_CMD"
22
    - compiler: clang
23
      language: c
24
      os: osx
25
      env:
26
        - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH"
27
      script:
A
Andrea Bolognani 已提交
28
        /bin/sh -xc "$MACOS_CMD"
29

30 31 32 33 34 35 36 37 38 39 40
script:
  - docker run
      --privileged
      -v $(pwd):/build
      -w /build
      -e VIR_TEST_DEBUG="$VIR_TEST_DEBUG"
      -e PACKAGES="$PACKAGES"
      -e DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS"
      "$IMAGE"
      /bin/sh -xc "$DOCKER_CMD"

41 42 43
git:
  submodules: true

44 45 46
env:
  global:
    - VIR_TEST_DEBUG=1
47
    - LINUX_CMD="
48 49 50 51 52 53
        apt-get update &&
        apt-get install -y \$PACKAGES &&
        ./autogen.sh &&
        make -j3 syntax-check &&
        make -j3 distcheck DISTCHECK_CONFIGURE_FLAGS=\"\$DISTCHECK_CONFIGURE_FLAGS\" ||
        (
A
Andrea Bolognani 已提交
54 55 56
          echo '=== LOG FILE(S) START ===';
          find -name test-suite.log | xargs cat;
          echo '=== LOG FILE(S) END ===';
57 58 59
          exit 1
        )
      "
A
Andrea Bolognani 已提交
60 61 62 63 64 65 66 67 68 69
    # We can't run 'distcheck' or 'syntax-check' because they fail on
    # macOS, but doing 'install' and 'dist' gives us some useful coverage
    - MACOS_CMD="
        brew update &&
        brew install ccache rpcgen xz yajl &&
        ./autogen.sh --prefix=\$(pwd)/install-root &&
        make -j3 &&
        make -j3 install &&
        make -j3 dist ||
        (
A
Andrea Bolognani 已提交
70 71 72
          echo '=== LOG FILE(S) START ===';
          find -name test-suite.log | xargs cat;
          echo '=== LOG FILE(S) END ===';
A
Andrea Bolognani 已提交
73 74 75
          exit 1
        )
      "
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
    # Please keep this list sorted alphabetically
    - PACKAGES="
        augeas-tools
        autoconf
        automake
        autopoint
        bash-completion
        ccache
        dnsmasq-base
        dwarves
        ebtables
        gcc
        gettext
        git
        glusterfs-client
        libacl1-dev
        libapparmor-dev
        libattr1-dev
        libaudit-dev
        libavahi-client-dev
        libblkid-dev
        libc6-dev
        libcap-ng-dev
        libc-dev-bin
        libdbus-1-dev
        libdevmapper-dev
        libfuse-dev
        libgnutls28-dev
        libnetcf-dev
        libnl-3-dev
        libnl-route-3-dev
        libnuma-dev
        libopenwsman-dev
        libparted-dev
        libpcap-dev
        libpciaccess-dev
        librbd-dev
        libreadline-dev
        libsanlock-dev
        libsasl2-dev
        libselinux1-dev
        libssh2-1-dev
        libssh-dev
        libtirpc-dev
        libtool
        libudev-dev
        libxen-dev
        libxml2-dev
        libxml2-utils
        libyajl-dev
        lvm2
        make
        nfs-common
        open-iscsi
        parted
        patch
        perl
        pkgconf
        policykit-1
        qemu-utils
        radvd
        scrub
        sheepdog
        systemtap-sdt-dev
        xsltproc
        zfs-fuse
      "
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158

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="