How I parallelized the Travis CI build of SUSI AI

Susi AI is an intelligent Open Source personal assistant. It is capable of chat and voice interaction by using APIS to perform actions such as music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic, and other real time information. Additional functionalities can be added as console services using external APIs. Susi AI is able to answer questions and depending on the context will ask for additional information in order to perform the desired outcome. The core of the assistant is the Susi AI server that holds the “intelligence” and “personality” of Susi AI. The Android and web applications make use of the APIs to access information from a hosted server.


We use Travis CI to build and test the JAVA application and make sure that we don’t break in functionality. Typically Travis CI is free for open source however we have experienced a bit of shortage to run the tests and compile the app successfully. It took about 5 minutes to build and run tests and then only could we merge PRs and make sure our code works. We wanted to decrease the time by a bit more to make sure we can have faster assurances that the code works. WE been thinking into a solution and discovered that we could parallelize the build by splitting a single Travis CI instance into multiple isolated instances. We split down the tests and build into one instance and the code coverage tests onto another and was able to get a drop of ~2 minutes to the build tile. Here’s how the .travis.yml looks:


# Sudo-enabled Ubuntu Trusty VM
dist: trusty
sudo: required
# Environment Variables
secure: DbveaxDMtEP+/Er6ktKCP+P42uDU8xXWRBlVGaqVNU3muaRmmZtj8ngAARxfzY0f9amlJlCavqkEIAumQl9BYKPWIra28ylsLNbzAoCIi8alf9WLgddKwVWsTcZo9+UYocuY6UivJVkofycfFJ1blw/83dWMG0/TiW6s/SrwoDw=
# Build, test and deploy to Google Cloud and Heroku
language: java
jdk: oraclejdk8
rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
rm -fr $HOME/.gradle/caches/*/plugin-resolution/
gradle assemble
gradle clean
install: true
if [ -e ./gradlew ]; then ./gradlew test jacocoTestReport;else gradle test jacocoTestReport;fi
bash kubernetes/travis/
bash kubernetes/travis/
provider: heroku
secure: CqW0sgNQiVHA2bUaTpWBd5xslu1LQaBRuT9t/XIhes1WQbJ7+rfsqPb1FFPS6cD8o+7Pgx7hCmIyKxcchrmk8Oat2jrO59fe8i3xuOh/Tl9os8PWy0Y2Kbsd4zjWODMC++ioY9sJKB71fhkA1sZjemo10cDLB0jp5P9vmGwj+34H8h2Mw/kA/CggD+lu52ZR/LqLT+QYTF+l5Q9wF1PdCMYNMi2zis3bKjvt6psCMjfQ9PA+C8GjhrA3d5hd6ToIekPaFXk179ev+FbAzJrVo9Ltste7JHRhtm2e+5juSjkpt1jh/l97DHoVLkIyWUNBuR+owfTEPFotFFhLfFJ048NBM9fCoGdJ8kRWpuaFCzu3UeQQODVVlqJHyShBFiaGrOiJPK8V9mSCXVVoU4D6NM/W8CXAhgdAY1jpzjAvwShCnnpOU9aBTzPGNhFJvl01QiM+mIgaIyyW3/Zb5lorzUA89+DgTMZucQKn8oFagsC+nxl7T0dgNML4JnWnKGh7cqnUSS8lTdHBIgEdq8kxFxpM5BEzQ85B1/pmlPeiop/hilq3onXgv3+qMLajRV0KE/GQg11XV8z/9qFBm8LppfUYJeKkjCg/vKsJfnOmj8Z6GDOZyVx5JAQ0Kd9e5Ds/yObmqaih6gKdoJlypkN94WMvEQsochS+/Ld3jxvLQaU=
app: susi-server
branch: development
# Codecov
language: generic
before_script: pip install –user codecov
install: true
bash <(curl -s




By using this configuration this is what we do,

We deploy the app to heroku using a secreat configuration on the next instance we run codecov to run the tests.

By this method we were able to get a sharp drop in test times and get data around the corner of our builds.

if you are intrested in susi server you can get it:

Where can I download ready-built releases of Susi AI?

No-where, you must clone the git repository of Susi AI and built it yourself. That’s easy, just do

You can alos deploy it on Google cloud, heroku, docker, cloud9, eclipse etc.

I have done all this work in love fro our community fossasia:

FOSSASIA develops Open Source software and hardware for conversational AIs, science and event management with a global developer community from its base in Asia. The organization organizes Open Technology events, runs coding programs and the #Codeheat development contest. The annual FOSSASIA Summit is the premier Open Technology event in Asia for developers, contributors, start-ups, and technology companies. FOSSASIA was founded in 2009 by Mario Behling and Hong Phuc Dang.

Link to my issue:

Link to the PR:


That’s hope good things from you!




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s