libvirt/.travis.yml
Andrea Bolognani 90206eac15 travis: Introduce MACOS_CMD
It mirrors the existing DOCKER_CMD, both in how it's defined
as part of the environment and how it's called by passing it
directly to the shell.

In addition to making the configuration more consistent, this
also allows us to move from having the macOS build script
divided into four steps, some of which have slightly different
semantics and the relationship between which is not immediately
obvious without consulting the documentation, to a single
straightforward shell invocation.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2018-06-15 08:09:41 +02:00

158 lines
5.0 KiB
YAML

sudo: required
language: generic
branches:
except:
- /^.*-maint$/
matrix:
include:
- services:
- docker
env:
- IMAGE=ubuntu:18.04
- DISTCHECK_CONFIGURE_FLAGS="--with-init-script=systemd"
- services:
- docker
env:
- IMAGE=ubuntu:16.04
- DISTCHECK_CONFIGURE_FLAGS="--with-init-script=upstart"
- compiler: clang
language: c
os: osx
env:
- PATH="/usr/local/opt/gettext/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/rpcgen/bin:$PATH"
script:
/bin/sh -xc "$MACOS_CMD"
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"
git:
submodules: true
env:
global:
- VIR_TEST_DEBUG=1
- 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
)
"
# 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 ||
(
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
"
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="