This helps caching between runs and can help speed up turnaround time for
various operations. The old android container didn't work out for some reason
due to permissions so the definition has now been vendored locally to just
rebuild it each time.
* Override the compiler via CC; ./configure can't seem to detect it.
* Unset CROSS_COMPILE when running make. Per the comment, we otherwise
end up invoking commands like i686-ar.
Specifically:
* Update the base docker images to ubuntu 16.10
* Update musl to version 1.1.15
This is necessary since the versions we were previously using do not
define CLONE_NEWCGROUP, so adding the symbol to the libc crate causes
test failures.
- allow QEMU name to have subdirectory inside (replace `/` by `__` in
the filename)
- add a new code path for plain qcow2 image (for efficient bandwidth
usage, the qcow2 is expected to use compressed qcow2 format)
- move freebsd image to explicitly download the gzipped QEMU
Previously we were somewhat half-Docker, half-Travis, half apt-get, etc. This
commit alters the CI infrastructure to use Docker images for each target. This
should make it much easier to update the images and tweak various bits and
pieces of installed software. Additionally, it's also much clearer now what's
needed for each suite of tests!
Some images were updated a bit (e.g. musl is now 1.1.14), but other images
encountered failures when updating so they're not getting updated just yet.