[RFC PATCH] test: add devel/test-in-docker.sh

Tomi Ollila tomi.ollila at iki.fi
Fri Aug 19 06:50:20 PDT 2016


On Wed, Aug 17 2016, Tomi Ollila <tomi.ollila at iki.fi> wrote:

> With this user can try and test notmuch in docker container,
> in fixed environment where it should compile and tests should pass...
>
> Currently provided container environments are Debian 8.5 and
> Ubuntu 16.04 based. Host OS could be any Linux environment with
> modern enough docker; Perhaps this works on macOS (with docker 1.12+)
> too (in Windows this script probably fails).
> ---
>
> Currently quite a few tests FAIL -- due to missing prerequisite tests.
> It would be easy to add some packages, like gdb, emacs(-nox), dtach,
> but I left those out just to tease you >;)
>

There are 2 problems in this script

1) If the initial docker images (ubuntu:16.04 or debian:8.5) are not
   pulled before docker build started, using sha256 hash of the docker
   image doesn't work as the initial image where to start building on.

2) Surprisingly(*) ubuntu:16.03 sha256 has changed from
   42118e3df429f09ca581a9deb3df274601930e428e452f7e4e9f1833c56a100a to 
   f8d79ba03c00bbcd8079cf05b7526ac8f4f422744aad8c3747a29a38ed8c4a41
   between 2016-08-15 (mon) and 2016-08-19 (fri).

So, currently `docker pull debian:8.5` and then
`./test-in-docker debian8` should work. If ubuntu:16.04 was pulled early
enough `./test-in-docker ubuntu1604` would work (too).

The next version (which I probably do sometime in distant future, when I
have time to enchange tests (before that I try to do some reviews!)) will
probably work the opposite way -- use name:tag as source and after build
spit a (friendly) WARNING if the hash of the initial image has changed
in-between.


(*) or perhaps not so surprisingly -- anyway it is unfortunate that these
images are not so ephemeral as one would wish for...


Tomi


More information about the notmuch mailing list