Simulating Travis

When using Travis, it is often useful to be able to debug when system environments are causing issues. As Travis can not be SSH'd in to or set in debug mode without a paid plan we need to get creative for our open source projects.

Setting up the environment

You can use the following two scripts to setup your local Travis environment.

Note

It's important to point out here that this isn't Travis, it's only a simulation of the same environment your scripts will be running in on Travis (which is all that we need really).

TODO: add gist for run.bash

TODO: add gist for travis_run.bash

run.bash

To use run.bash you need to know the following: * The docker image you're going to run inside * Your github repo * The git branch you want to test

To determine the docker image you need we need to look at the build log.

At the top of the build log there is information about the Docker image used. This is displayed under worker_info which is displayed on the right of the log output.

Look for this line int the 'Worker information' section of the output: instance: f7fe1ad travisci/ci-garnet:packer-1512502276-986baf0 (via amqp)

The part we are interested in is travisci/ci-garnet:packer-1512502276-986baf0 This is the Docker image we need to use.

Getting the image to use

travis_run.bash

First, we need to extract the steps used by Travis when it is running a build,

Running the container

Now that we know what image to use, we can build this locally.