Subject: Re: [boost] [MPL] A Proposal
From: Peter Dimov (lists_at_[hidden])
Date: 2016-11-15 16:41:55


Bruno Dutra wrote:

> On Mon, Nov 14, 2016 at 12:06 AM, Edward Diener <eldiener_at_[hidden]>
> wrote:

> > and how you change the .travis.yml file to specify one of those versions
> > ?
>
> For an example of how to set up Travis to test on several versions of GCC
> and Clang, you can take a look at Metal's '.travis.yml' [5], ...

I used Bruno's .travis.yml as a starting point to create a minimal Travis
configuration with a build matrix that covers several combination of
g++/clang++ versions and -std settings, and you can see the result here:

https://github.com/pdimov/mp11/blob/develop/.travis.yml

I omitted clang-3.5 as it conflicts with the other three, and clang-3.9 as
it doesn't seem to exist as a package.

For a C++03 library such as iostreams, you should probably include C++03
tests as well, and test the compiler versions installed by default, by
adding f.ex.

- os: linux
  env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03

- os: linux
  env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03

- os: osx
  env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03

and you might also want to cut down on the C++14/C++1z tests, according to
taste. The Linux tests are quick and generally run in parallel, but the OS X
ones are slower.

You could also add g++ 4.7 and 4.8 if you feel like it (the default at the
moment is 4.6 if I'm not mistaken.)