.travis.yml 5.0 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 16 17 18 19
    - services:
        - docker
      env:
        - IMAGE=ubuntu:16.04
        - DISTCHECK_CONFIGURE_FLAGS="--with-init-script=upstart"
20
    - compiler: clang
21
      language: c
22
      os: osx
23
      env:
24
        - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH"
25 26
      before_install:
        - brew update
A
Andrea Bolognani 已提交
27
        - brew install ccache rpcgen xz yajl
28 29
      before_script:
        - ./autogen.sh --prefix=$(pwd)/install-root
30 31 32 33 34
      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
35 36 37 38
      after_failure:
        - echo '=== LOG FILE(S) START ==='
        - find -name test-suite.log | xargs cat
        - echo '=== LOG FILE(S) END ==='
39

40 41 42 43 44 45 46 47 48 49 50
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"

51 52 53
git:
  submodules: true

54 55 56
env:
  global:
    - VIR_TEST_DEBUG=1
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
    - DOCKER_CMD="
        apt-get update &&
        apt-get install -y \$PACKAGES &&
        ./autogen.sh &&
        make -j3 &&
        make -j3 syntax-check &&
        make -j3 distcheck DISTCHECK_CONFIGURE_FLAGS=\"\$DISTCHECK_CONFIGURE_FLAGS\" ||
        (
          echo '=== LOG FILE(S) START ==='
          find -name test-suite.log | xargs cat
          echo '=== LOG FILE(S) END ==='
          exit 1
        )
      "
    # 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
      "
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

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