Boost logo

Boost :

Subject: Re: [boost] Docker environment(s) for Boost Development
From: Tom Kent (lists_at_[hidden])
Date: 2018-07-25 23:36:07


On Wed, Jul 25, 2018 at 4:17 AM, Mateusz Loskot via Boost <
boost_at_[hidden]> wrote:

> Boost - Dev mailing list wrote
> > On Tue, May 8, 2018 at 6:59 AM, James E. King, III via Boost <
>
> > boost_at_.boost
>
> >> wrote:
> >> I submitted a pull request into the superproject containing some docker
> >> scripts. The intention of this is to simplify managing a docker build
> >> environment for boost:
> >>
> >> https://github.com/boostorg/boost/pull/184
> >>
> >> [...]
> >> This partially came out of the discussion we had a number of months back
> >> about how we handle third party dependencies. For the most part one has
> >> to
> >> look at README files in various locations to learn about them. This is
> >> an
> >> attempt to pull all the dependencies together for a complete build into
> >> one
> >> place (the Dockerfile).
> >
> > I just wanted to mention that I've got a stable of boost docker images
> > available at:
> > https://hub.docker.com/r/teeks99/boost-cpp-docker/
> >
> > built from the git repo:
> > https://github.com/teeks99/boost-cpp-docker
> >
> > I initially created these as the source for the linux regression runners
> > that I manage (teeks99-02*, teeks99-03*)
>
> Tom,
>
> Do you also automated running the regression tests?
>
> Could you explain your workflow with those docker images
> you perform to run the complete Boost regression tests suite?
>
> Best regards,
> Mateusz Loskot
>

I do use those images in the regression tests that I run; teeks99-02-*,
teeks99-03-* . Those images are setup in dockerhub, so when their upstream
images (typically the ubuntu one that was mainstream when that version of
the compiler was released) get updates, docker hub will automatically
rebuild them with the updates.

As far as new versions of the toolset (e.g. when clang drops a .1 build)
that is up to me to re-run the images. Which I'm often forgetful about
doing. For completely new versions (e.g. gcc7 -> gcc8) I have to manually
make up a new config.

I didn't mention it above, but I have two separate docker hub repos for
keeping the gcc and clang toolsets. These don't have anything boost
specific in it (even the boost-cpp-docker doesn't have that much, just some
specific dependencies), and I've used them for other purposes. They can be
found at:
https://github.com/teeks99/gcc-ubuntu-docker
https://github.com/teeks99/clang-ubuntu-docker

As far as how I use them in the regression tests, I've got a bit of tooling
setup here:
https://github.com/teeks99/boost-build/tree/master/Regression

It is mostly just a couple python scripts that continuously cycle between
configurations and the lists of configs that I want to run on each machine,
windows and linux.

Tom


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk