Hello!

I have a project in GitHub that I want to test on different compilers. But the problem is that Travis CI offers an outdated distribution of ubuntu trusty, and therefore all outdated environments. Therefore, only docker comes to the rescue. I am not familiar with him.

For my purposes it is necessary:

cmake 3.0+ make openssl (libssl-dev 1.1.0a+) g++ 4.9.2 g++ 5 g++ 6 clang++ 3.7 clang++ 3.8 clang++ 3.9 

As an OS, I think, ubuntu 16.10 is enough.

At the moment, the only thing I learned to do is to install the latest versions of the docker-engine and docker-compose in Travis CI (as I understand it, it is needed to launch several containers with different environments at once).

This is done as follows:

 sudo: required dist: trusty language: cpp install: - curl -sSL "https://get.docker.com/gpg" | sudo -E apt-key add - - echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee -a /etc/apt/sources.list - sudo apt-get update -q - sudo apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes -y docker-engine - docker --version - curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin - docker-compose --version 

Please tell me how it is right for such needs to organize the .travis.yml file and how to work with the docker in it .

Thank!

  • Travis CI documentation says how to use the docker docs.travis-ci.com/user/docker - Mikhail Vaysman
  • That site doesn't say anything about what I need. It uses some specific docker application. - Vitali
  • Do you need to start building your library with certain dependencies inside the docker container and run tests in it? I understood correctly? - Mikhail Vaysman
  • Yes. But at the same time I need to do this with 6 different compilers. - Vitali
  • then there is what you need described. although if I understand everything correctly, then there is still the opportunity to put the necessary versions without a docker. - Mikhail Vaysman

0