Continuous Integration

Travis provides a continuous integration service which is connected to NeoMutt’s git repos on GitHub.

Each repo has a .travis.yml file which tells Travis what to do. After every commit to GitHub and for every Pull-Request, Travis performs the instructions in that file.

Here are some of they ways that NeoMutt uses this service.

Building of the source

To test the source code, Travis performs a set of builds with different configure options. .travis.yml installs all the dependencies that are needed, but the build is controlled by a separate script.

The script has per-branch rules to determine how many builds to do and which options to use. read more…

To test the website, Travis checks all of the HTML for errors.

.travis.yml installs Jekyll and html-proofer.

The testing is done by running the Rakefile.

Deployment of the translations

After a translator makes an update, Travis checks the results and updates the Translation Leaderboard

The translate branch has a custom .travis.yml and some scripts to generate a webpage.

On success, the website is automatically updated.
For more details, read Deployment using Travis.

Travis Tool

Travis also supply a command line tool for managing their service.

gem install travis

NeoMutt used this to encrypt ssh keys for use in automatic deployment.

Search by Algolia