The Ember web client for Travis CI
Go to file
Piotr Sarnacki fc40190c29 Optimize log viewer
Till now, log viewer was rendered in handlebars, which was the simplest
solution, but it had a major drawback - every append to log caused it to
rerender which was not efficient and memory consuming.

The new approach is to make Travis.Log interpret the log and send lines
with instructions to the view, so for example if view should add a line,
it gets something like:

    { number: 1, content: '$ bundle install' }

Such approach is required to handle cases where data coming from pusher
is not actually a new line. For example output containing dots from
tests needs to be appended:

    $ rake
    ....

Such output could be sent to client in 2 chunks: "$ rake\n.." and "..".
In such situation we would need to send 3 instructions:

  { number: 1, content: '$ rake' }
  { number: 2, content: '..'     }
  { number: 2, content: '..', append: true }

The third instruction can come much later, because tests can take a
while to run, so we can't assume that each line will come in one piece.

The other scenario is \r, for example when showing progress:

    \rDownloading: 10%
    \rDownloading: 50%
    \rDownloading: 100%

Such input should be changed into such instructions:

  { number: 1, content: 'Downloading: 10%' }
  { number: 1, content: 'Downloading: 50%',  replace: true }
  { number: 1, content: 'Downloading: 100%', replace: true }

Travis.Log also supports folds, for example on bundle install, the code
was rewritten to make folds management simpler.
2012-12-04 22:57:57 +01:00
.localeapp removed devise and admin namespaces from locales and added report rake task for new keys 2012-11-23 01:50:54 +09:00
assets Optimize log viewer 2012-12-04 22:57:57 +01:00
config switch to puma, make app reload in development mode 2012-10-17 16:19:42 +02:00
lib Use Rack::Request#user_agent 2012-11-13 02:32:00 +01:00
locales Enabled i18n-js fallbacks 2012-11-23 13:53:07 +09:00
play check if readyState == 3 makes the responseText available in browsers we care about ... yes, it does 2012-10-06 17:29:16 +02:00
public Added i18n web filters and rake task for pulling the translations down from localeapp 2012-11-22 20:47:38 +09:00
script update script/server to use puma 2012-10-19 00:19:06 +02:00
spec Use Rack::Request#user_agent 2012-11-13 02:32:00 +01:00
.buildpacks Change buildpacks 2012-10-30 02:20:58 +01:00
.gitignore Added i18n web filters and rake task for pulling the translations down from localeapp 2012-11-22 20:47:38 +09:00
.rspec Add some color to rspec 2012-11-10 15:47:33 +01:00
.slugignore Don't ignore assets directory when building slug 2012-10-30 02:23:06 +01:00
.travis.yml Compilation is needed in order to run specs 2012-11-12 17:37:57 +01:00
Assetfile Optimize log viewer 2012-12-04 22:57:57 +01:00
config.ru allow setting token manually 2012-10-24 19:36:17 +02:00
Gemfile remove debugger for now (does not install on travis) 2012-11-23 11:08:32 +01:00
Gemfile.lock remove debugger for now (does not install on travis) 2012-11-23 11:08:32 +01:00
Guardfile add back guard for @svenfuchs 2012-10-16 19:06:08 +02:00
Guardfile.phantom add back guard for @svenfuchs 2012-10-16 19:06:08 +02:00
LICENCSE mit license 2012-10-03 13:38:40 +02:00
NOTES.txt Remove getPath/setPath from NOTES, it's already fixed 2012-08-12 13:42:43 +02:00
Procfile switch to puma, make app reload in development mode 2012-10-17 16:19:42 +02:00
Rakefile Added description for localapp report rake task 2012-11-23 14:42:08 +09:00
README.md Update readme to reference new repo. 2012-10-28 00:16:35 +13:00
run_jasmine.coffee try using jasmine for specs 2012-06-25 23:58:27 +02:00
run_mocha.js try using jasmine for specs 2012-06-25 23:58:27 +02:00
seeds.sql add seeds gitignore config/travis.yml 2012-07-21 20:03:29 +02:00
travis-web.gemspec rename gemspec 2012-10-03 15:24:47 +02:00

Travis CI ember web client

Running the app

This is a static html/js app so you shouldn't need to install anything.

git clone git://github.com/travis-ci/travis-web.git
cd travis-web
open public/index.html

Running locally with a local API server:

RUN_API=1 bundle exec rackup -p 3000

Running against existing API endpoint:

API_ENDPOINT="https://api.travis-ci.org/" RUN_API=0 bundle exec rackup

Run locally, one on ci.dev and one on api.dev:

. dev.env
bundle exec rackup

Compiling assets manually

bundle exec rakep
ENV=production bundle exec rakep

Compiling assets on change

bundle exec guard