For a while QEMU has provided simple make rules for building QEMU inside
standard docker container environments. This provides an equivalent
mechanism for libvirt inspired by QEMU's.
QEMU actually builds the container images on developer's machines
locally. Libvirt already hosts pre-built images on quay.io, so that is
used directly as it is quicker to download them than to build them
locally. This also ensures the container contents match what the live
CI system is using, as opposed to building an image with newer packages.
NB, there is a currently a test failure with this change to travis
that we don't currently see. Current travis runs a privileged
docker container, but with this change we now run unprivileged
containers. This shows that the "virsh-snapshot" test is trying
to create a file under $HOME, and docker blocks this. Obviously
needs fixing before pushing.
Changed in v3:
- Lots of new variables & variable renames
- Rename to top level Makefile.ci
- Rename make targets to have @ separator for the image
- Refactor macOS travis config
Changed in v2:
- Drop cross-compilation patches temporarily. The cross-compiler
images are not yet built on quay.io and rather than creating and
bulding many more images manually, I'm working on script to
automate setup of quay.io images
- Many changes to the make rules to make it possible to use them
from Travis CI to match its currently testing setup
- Modify Travis CI config to use the new make rules for consistency
Daniel P. Berrangé (6):
tests: don't abort in fopen(/proc/mounts)
tests: add targets for building libvirt inside docker containers
travis: convert ubuntu, centos & mingw builds to use new make rules
travis: use declarative syntax for homebrew packages
travis: remove display of test-suite.log from macOS
travis: put macOS script inline in the macOS matrix entry
.gitignore | 1 +
.travis.yml | 78 +++++-----------
Makefile.am | 2 +
Makefile.ci | 206 ++++++++++++++++++++++++++++++++++++++++++
tests/vircgroupmock.c | 6 +-
5 files changed, 235 insertions(+), 58 deletions(-)
create mode 100644 Makefile.ci
--
2.20.1