The Ember web client for Travis CI
CSS JavaScript HTML Ruby Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app Use V3 for cancel/restart and hide buttons when lacking permissions (#… Sep 28, 2016
config Add backend debugging support (#674) Sep 14, 2016
mirage Use V3 for cancel/restart and hide buttons when lacking permissions (#… Sep 28, 2016
public Add backend debugging support (#674) Sep 14, 2016
ssl Update ssl keys for localhost Dec 8, 2015
tests Use V3 for cancel/restart and hide buttons when lacking permissions (#… Sep 28, 2016
vendor Move debug logging behind feature flag (#622) Jul 25, 2016
waiter always encrypt websocket connection to pusher/slanger Aug 21, 2016
.bowerrc Add the rest of ember-cli app Feb 3, 2015
.buildpacks Use travis-web-ember-cli-buildpack Feb 3, 2015
.editorconfig Upgrade Ember-CLI to 2.7.0 (#632) Jul 27, 2016
.ember-cli Add the rest of ember-cli app Feb 3, 2015
.eslintignore Another attempt to get some updated styles merged in (#614) Jul 19, 2016
.eslintrc.js Another attempt to get some updated styles merged in (#614) Jul 19, 2016
.gitignore Upgrade to Ember-CLI 2.5.0 (#500) Apr 18, 2016
.rspec Add some color to rspec Nov 10, 2012
.ruby-version fixed the build header cut-off on pull requests Dec 10, 2014
.slugignore Don't ignore assets directory when building slug Oct 30, 2012
.travis.yml Revert PhantomJS upgrade until we have more stable download location Jul 18, 2016
.watchmanconfig Update ember-cli to 1.13.12 (ember.js 1.13.10, ember-data 1.13.15) Dec 8, 2015 Added missing word "repo" Mar 19, 2013
Gemfile Use .ruby-version file instead of ruby statement in Gemfile Jun 2, 2016
Gemfile.lock Update deps to latest Jun 9, 2016
LICENSE changes made to profile page including increased type size for readab… Jan 4, 2014
Procfile Remove CoffeeScript comments across project Apr 18, 2016 Move debug logging behind feature flag (#622) Jul 25, 2016
bower.json Revert "Bump Ember to 2.7.1" Aug 17, 2016
ember-cli-build.js implement View Config Aug 8, 2016
package.json Upgrade to Ember-CLI 2.8.0 (#690) Sep 19, 2016
testem.js Fix some ESLint errors, remove references to JSHint (#642) Aug 4, 2016

Travis CI ember web client

Build Status

Running the app

The app is developed using Ember CLI. It requires nodejs with npm installed.

In order to run the app you need to install dependencies with:

bower install
npm install

Now you can run the server:

ember serve

And open http://localhost:4200 in the browser.

Alternatively you can run ember build --watch and start the server with waiter/script/server

Waiter Workarounds

Should you encounter issues installing Puma while bundling Waiter on a recent OSX version, you need to tinker with Homebrew:

brew install openssl
brew link --force openssl

You should then be able to run bundle install as usual.

Running the app in private repos mode

At the moment Travis CI is available as two separate sites - for Open Source projects and for private projects. travis-web will connect to the Open Source version by default. In order to connect it to the API for private projects you need to run:

TRAVIS_PRO=true ember serve --ssl --ssl-key=ssl/server.key --ssl-cert=ssl/server.crt

One caveat here is that the command will start server with SSL, so the page will be accessible at https://localhost:4200 (note https part).

Running on SSL in general

Sometimes there is a need to test the app with an SSL connection. This is required to make Pusher work when running Travis CI Pro, but it may also be needed in other situations.

There's already an SSL certificate in the ssl directory, which is set for localhost host. If you want to use it, you can start the server with:

ember serve --ssl --ssl-key=ssl/server.key --ssl-cert=ssl/server.crt

In case you want your own certificate, you can follow the instructions posted here: and then point the server to your certificate with --ssl-key and --ssl-cert.

Running tests

To run the test suite execute:

ember test

You can also start an interactive test runner for easier development:

ember test --serve

Feature Flags

travis-web is beginning the transition to use feature flags wherever it makes sense. To enable/disable/add/remove a feature flag for the application, you can edit the config/environment.js file. For instance, to enable some-feature, you would simply add/update the file like so:

    featureFlags: {
      'some-feature': true

This uses the awesome ember-feature-flags addon under the hood, so be sure to read its own documentation for more information.


Ember's default logging has been disabled in all environments by default and moved to a feature flag. To enable it, simply edit the debug-logging feature flag as mentioned previously in the Feature Flags section.

Updating the team page

The team information can be found in app/routes/team.js. To add another member just add the info in the same style as the previous ones. Like so

  name: 'Mr T'
  title: 'Mascot'
  handle: 'travisci'
  nationality: 'internet'
  country: 'internet'
  image: 'mrt'

The order of value pairs does not matter, the quotationmarks do. Name and title will be displayed as they are. The handle will be used to generate a link to Twitter and displayed with a '@' in front of it. Nationality and country determine the flags. Please use the name of the country and not the adjective (like 'germany' and NOT 'german'). Image is the identifier to find the right image and animated gif. 'mrt' in the example will result in team-mrt.png and mrt-animated.gif. Add the images themselves to public/images/team/ and additional flags to public/images/pro-landing/. Mind the naming conventions already in place.


ember-cli-deploy is available for deploying pull requests. See after_success in .travis.yaml and associated scripts for details. It uses the “lightning strategy” of deploying assets to S3 and index.html to a Redis server. You can deploy from your own machine too:

ember deploy pull-request --activate

After success, your deployment will be available at

The Redis server is at travis-web-index. Eventually we can move to using ember-cli-deploy for all deployments.