This travis configuration tests libvirt builds on 5 platforms that we don't
exercise in the CentOS CI system.
- Ubuntu Trusty with GCC
- Ubuntu Trusty with CLang
- Ubuntu Precise with GCC
- Ubuntu Precise with CLang
- OS-X with CLang
NB, syntax-check fails on OS-X with errors like:
/bin/sh: /usr/bin/grep: Argument list too long
Presumably their grep impl isn't as good as the GNU one, so this test
config skips syntax-check on OS-X for now.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
.travis.yml | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
create mode 100644 .travis.yml
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..613bd2d
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,85 @@
+sudo: false
+language: c
+dist: precise
+compiler:
+ - gcc
+cache: ccache
+env:
+ - VIR_TEST_DEBUG=1 CONFIGURE_ARGS=""
+addons:
+ apt:
+ packages:
+ - xsltproc
+ - autopoint
+ - libxml2-dev
+ - libncurses5-dev
+ - libreadline-dev
+ - zlib1g-dev
+ - libgnutls-dev
+ - libgcrypt11-dev
+ - libavahi-client-dev
+ - libsasl2-dev
+ - libxen-dev
+ - lvm2
+ - libgcrypt11-dev
+ - libparted0-dev
+ - libdevmapper-dev
+ - uuid-dev
+ - libudev-dev
+ - libpciaccess-dev
+ - libcap-ng-dev
+ - libnl-3-dev
+ - libnl-route-3-dev
+ - libyajl-dev
+ - libpcap0.8-dev
+ - libnuma-dev
+ - libnetcf-dev
+ - libaudit-dev
+# - dwarves
+ - libxml2-utils
+ - libapparmor-dev
+ - dnsmasq-base
+ - librbd-dev
+ - w3c-dtd-xhtml
+
+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(a)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(a)redhat.com"
+ recipients:
+ - secure:
"QcU9eP96P0RlDNzVRZl/4sxyydPStGzECrpgJhr2IPB/7pHk23yaBrmUsq9S830tB+jwLGma1IscNB8uf7Sf7WY+cYIpfR8v030OffWnaipo/Gcs0dpnlfURWHjOFQI3RJzGEihsqvbwUFOwsM+3IDyO3qdWaiT6cN2Tj9ROlwYCySSX5YWzLyX7arBZ4lp8ESs7ohQaEwp2cegnMP2oGPJJe4SebvlCDjHZbjkU5aEradwUWnRQDJZWTKknpNLArVFxN2/ixp6f/MGY4DmkHoDweio6mHIPN5zTs5Jt32aiX6wDBa+bBa4v8TCRqzhYkQ63ZZhNV8bY5Uf9ufTdyvt96yIANyakd85b1QpMdAX76IyJi1l0/Uub6DTQZAcq3vK7iPjGeTVSpyoXrqTfGy4JxMjqDoocpWvv8ALX1wrYI/HfN2R2Aepw9jModTimOsebYhJ1yMhSt8qnh5AQNftGKL2JBKoA1LWdU2YJ5fO1bGjKNiVEkGFQTPYFWrYCUY5JcT+s5WCzNeMNm8s9na8liYhGl3WtS3rPr5M8bof+BMsBhG2hQ0loduc94x2GkvyhQZUgRbqrwNR+y4hn+rWFC3hBzzyiAULs43vY/PJ+eBdKEf3VAc0MkhQ8GgXGSA61fR6aXYonroI/WnBVItwDmUnnMfSziZXxk09GLl4="
+
+git:
+ submodules: true
+
+before_install:
+ - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update &&
brew install gnutls libgcrypt yajl gettext rpcgen ; fi
+
+# the custom PATH is just to pick up OS-X homebrew & its harmless on Linux
+before_script:
+ - PATH="/usr/local/opt/gettext/bin:/usr/local/opt/rpcgen/bin:$PATH"
./autogen.sh $CONFIGURE_ARGS
+script:
+ - make -j3 && make -j3 syntax-check && make -j3 check
+
+# Environments here are run in addition to the main environment defined above
+matrix:
+ include:
+ - compiler: clang
+ dist: precise
+ - compiler: clang
+ dist: trusty
+ - compiler: gcc
+ dist: trusty
+ - compiler: clang
+ os: osx
+ script:
+ - make -j3 && make -j3 check
--
2.9.3