Skip to Content

Continuous integration for liblouis

Once in a while when creating a pull request for projects on github I’m pleasantly surprised that this automatically launches a build server, runs the test suite for the project and hopefully gives you a green light for your pull request.

For liblouis we did have a self-hosted continuous integration solution based on Jenkins for a long time but it seems to have fallen prey to some bit rot.

So, ever since liblouis moved to github I wanted to set up Travis for continuous integration. The liblouis test suite is based on autotools, totally old school and is a bit finicky: you need to set up the environment in order to find the test binaries, the library, the tables and maybe even the Python bindings. Also it uses Perl to check all the tables. So I was expecting this to be a bit of a challenge.

However after ten minutes of setting up travis for liblouis I already had a successful build. All you need is to enable the repo on travis and a simple .travis.yml file which defines the language, the compiler, the dependency on texinfo and the command to run the test suite.

language: c
compiler:
  - gcc
before_install:
  - sudo apt-get update -qq
  - sudo apt-get install -y texinfo
script:
  - ./autogen.sh && ./configure && make && make check