language: go os: linux dist: bionic sudo: require cache: directories: - $HOME/.ccache go: - "1.12" env: global: - CCACHE_TEMPDIR=/tmp/.ccache-temp matrix: - LIBVIRT=2.3.0 EXT=xz - LIBVIRT=3.1.0 EXT=xz - LIBVIRT=5.1.0 EXT=xz before_install: - go get golang.org/x/lint/golint - go get golang.org/x/tools/cmd/goyacc install: # credit here goes to the go-libvirt authors, # see: https://github.com/rgbkrk/libvirt-go/blob/master/.travis.yml - sudo apt-get -qqy build-dep libvirt - sudo apt-get -qqy install curl qemu-system-x86 - sudo mkdir -p /usr/src && sudo chown $(id -u) /usr/src - curl -O -s https://libvirt.org/sources/libvirt-${LIBVIRT}.tar.${EXT} - tar -C /usr/src -xf libvirt-${LIBVIRT}.tar.${EXT} - pushd /usr/src/libvirt-${LIBVIRT} - ccache --show-stats - | env PATH=/usr/lib/ccache:$PATH \ ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc \ --without-polkit \ --without-esx --without-vbox --without-xen --without-libxl --without-lxc \ --with-qemu - make - sudo make install - ccache --show-stats - popd - sudo libvirtd -d -l -f libvirtd.conf - sudo virtlogd -d || true before_script: - go get -d ./... - sudo qemu-img create -f raw -o size=10M /var/lib/libvirt/images/test.raw - sudo virsh define .travis/test-domain.xml - sudo virsh start test - sudo virsh pool-create .travis/test-pool.xml - sudo virsh secret-define .travis/test-secret.xml script: - ./scripts/licensecheck.sh - LIBVIRT_SOURCE=/usr/src/libvirt-${LIBVIRT} go generate ./... - go build ./... - golint -set_exit_status ./... - go vet ./... - go test -v -tags=integration ./...