Commit Graph

214 Commits

Author SHA1 Message Date
Piotr Sarnacki
985e218981 Fix odd behavior on running jobs list and on queued jobs list
In order to not load too many repositories when not needed I was using
construct of repoData on Job and Worker models. repoData was a simple
object with id and slug attributes, which was used to generate url for a
repo. That way I didn't have to instantiate Repo object for generating
urls. The problem is that our API does not return repositorySlug along
with Job record, so the value of repositorySlug was overwritten and in
consequence repoData was becoming empty.

I could change the API, but I feel that the whole repoData concept is
flawed. A bit better solution is to load incomplete repository data into
the store (just an id and a slug) and then instantiate repo record - as
long as it will not need to provide other fields than an id and a slug,
we will not have to do an ajax request.
2013-05-15 17:23:53 +02:00
Piotr Sarnacki
dddf66b8cf Don't refresh duration when record is loading 2013-05-15 17:23:52 +02:00
Piotr Sarnacki
070d863588 No need to do hacks with Location header or Content-Type anymore 2013-05-15 17:23:48 +02:00
Mathias Meyer
61c0f5179d Add Blue Box as the default sponsor of a test run. 2013-05-10 23:19:07 +02:00
Piotr Sarnacki
c7561ee13e Properly display matrix keys when build does not have all keys
When additional items are included into matrix via 'matrix.include' key
in .travis.yml they may contain config keys, which are not available on
build.

For example build can contain only 'rvm' key, but we may add the
following include:

    matrix:
      include:
        - rvm: '2.0.0'
          env: 'FOO=bar'

In such case, we need to take into account also keys from additional
job, not only from the build.

(closes #172)
2013-04-06 01:48:32 +02:00
Piotr Sarnacki
7996358f01 Fix fetching log in firefox when Location header is unavailable 2013-04-02 20:17:24 +02:00
Piotr Sarnacki
ce6862e6a0 Always poll for changes when user is syncing 2013-03-29 22:15:19 +01:00
Sven Fuchs
63c0c50ec2 Merge branch 'master' into sf-log 2013-03-29 16:04:18 +01:00
Piotr Sarnacki
2537daf0eb Try to fix error on setting duration when record is reloading 2013-03-28 23:42:32 +01:00
Piotr Sarnacki
d5bfa092b0 Don't setup pusher if we don't have key
That way we don't need to even fire anything pusher related when running
tests
2013-03-27 20:06:09 +01:00
Piotr Sarnacki
c9f08417f7 Keep pullRequestNumber on build not on commit 2013-03-27 14:06:03 +01:00
Piotr Sarnacki
406dd06952 Merge pull request #162 from jwswj/142-ShowPrTitle
Show Pull Request title when available #142
2013-03-24 13:58:57 -07:00
Sven Fuchs
300e91133c Merge branch 'master' into sf-log
Conflicts:
	assets/scripts/app/views/log.coffee
2013-03-22 02:14:55 +01:00
Piotr Sarnacki
f1adbf8f20 Improve log handling
* don't fetch log content on Travis.Log init
* use timeout in ChunkBuffer instead of Ember.run.later
* remove timeout when log is finalized
2013-03-22 01:25:23 +01:00
Jason Smale
ed69690167 Got pull request data being stored and displayed correctly 2013-03-18 10:36:31 +11:00
Jason Smale
63c461e86b Merge branch 'master' into 142-ShowPrTitle
Conflicts:
	assets/scripts/app/templates/builds/show.hbs
2013-03-18 09:43:29 +11:00
Jason Smale
275b160d7d Reverted back to old Pull Request listing layout 2013-03-18 09:35:45 +11:00
Jason Smale
10209bbc26 Added structure, but pull request data not accessible in view 2013-03-18 09:24:58 +11:00
Sven Fuchs
abdb912ade Merge branch 'master' into sf-log 2013-03-14 17:59:17 +01:00
Sven Fuchs
e1a667407f fix after rebase 2013-03-14 16:29:22 +01:00
Piotr Sarnacki
bca00d78f6 We don't even need to check repo.slug, repoSlug, should be always available 2013-03-14 16:00:41 +01:00
Piotr Sarnacki
a726f5a730 Typo 2013-03-14 15:58:03 +01:00
Piotr Sarnacki
181ecd227a Don't access repo object when it's not needed to not send ajax requests 2013-03-14 15:55:18 +01:00
Piotr Sarnacki
79f1dc448f Revert "move log subscrition to a log controller"
This was causing the log to not refresh sometimes when switching from
one repo to another, I'm reverting for now, we will have to have another
look.

This reverts commit 2e8b74160c.

Conflicts:
	assets/scripts/app/controllers/build.coffee
	assets/scripts/app/models/build.coffee
	assets/scripts/app/templates/builds/show.hbs
	assets/scripts/app/views/log.coffee
	assets/scripts/vendor/log.js
2013-03-14 10:07:35 +01:00
Piotr Sarnacki
2eab278736 Add ChunkBuffer to log 2013-03-13 00:13:51 +01:00
Piotr Sarnacki
b1edd8e510 Bring back log engine from master 2013-03-12 22:52:39 +01:00
Piotr Sarnacki
63559f4c4c Show appropriate message when the repository has no builds 2013-03-11 20:11:43 +01:00
Piotr Sarnacki
a529231f1f No need to use vnd extensions if version is already given 2013-03-11 18:15:58 +01:00
Piotr Sarnacki
1408276609 Changes for ember-data revision 12
Sideload changed a way of loading records associated with the main
record. Now, to make it simple, sideloaded records must be always in
plural form.
2013-03-08 17:04:44 +01:00
Sven Fuchs
2e8b74160c move log subscrition to a log controller 2013-03-06 19:59:59 +01:00
Sven Fuchs
8a2ba379aa unsubscribe from log channels 2013-03-05 17:14:00 +01:00
Piotr Sarnacki
712389efdb Fix more specs 2013-03-04 03:46:04 +01:00
Jason Smale
90a1d10d26 Show the title of the PR, rather than message in the PR tab 2013-03-04 11:00:44 +11:00
Sven Fuchs
c4bb49cc17 Merge branch 'ps-ember-update' of github.com:travis-ci/travis-web into ps-ember-update 2013-02-26 23:19:55 +01:00
Piotr Sarnacki
a47147ed82 Fix build lists to not interfere with each other 2013-02-26 11:17:42 +01:00
Piotr Sarnacki
1f3f0559bc Fix build and job configs 2013-02-26 08:57:03 +01:00
Piotr Sarnacki
e96abff0e6 Hack for one to many relationship changes 2013-02-26 04:36:47 +01:00
Sven Fuchs
dbac2f8458 debug output 2013-02-25 13:07:07 +01:00
Piotr Sarnacki
553495c56c Add @svenfuchs' log reimplementation 2013-02-22 17:00:50 +01:00
Piotr Sarnacki
db2f01aa23 Fix sponsors 2013-02-21 23:22:53 +01:00
Piotr Sarnacki
f121a008c6 Add TODO for user's @poll() 2013-02-21 23:22:53 +01:00
Piotr Sarnacki
a3622e14c9 Allow to sign in and sign out 2013-02-21 23:22:53 +01:00
Piotr Sarnacki
50a69cccad Don't do request to get repos every time home page is reloaded 2013-02-21 23:22:53 +01:00
Piotr Sarnacki
9b26ae4312 Fix workers view 2013-02-21 23:22:52 +01:00
Piotr Sarnacki
4cdd4df515 Tabs and basic views are mostly working 2013-02-21 23:22:51 +01:00
Piotr Sarnacki
a3f8e0ff7d Add missing mappings to adapter 2013-02-21 23:22:51 +01:00
Piotr Sarnacki
99b9c72e2e Fix attributes and relatiobships in build 2013-02-21 23:22:51 +01:00
Piotr Sarnacki
f0e95ddd3f Main view mostly works on new router 2013-02-21 23:22:51 +01:00
Piotr Sarnacki
3862dd163d Limit log to 5000 lines 2013-02-13 04:03:02 +01:00
Piotr Sarnacki
ad6f9e59c7 Display running jobs 2013-02-07 13:20:41 +01:00
Piotr Sarnacki
9df79d6944 Wait for job.id in Travis.Artifact 2013-01-29 15:36:14 +01:00
Piotr Sarnacki
28b17f97a0 Build log url manually if Location header can't be fetched 2013-01-29 05:02:15 +01:00
Piotr Sarnacki
f6baa172a5 Fetch archived logs from S3 without redirect 2013-01-29 04:17:17 +01:00
Piotr Sarnacki
eb2feca02a Set proper content type for logs requests 2013-01-28 18:18:16 +01:00
Piotr Sarnacki
5fbf153ed9 Use /jobs/:id/log.txt endpoint for fetching logs 2013-01-27 02:46:18 +01:00
Piotr Sarnacki
e9092418a7 Fetch builds for branches from /builds endpoint (closes #123) 2013-01-26 12:04:39 +01:00
Sven Fuchs
28e40ab0e4 make WorkerItemView.display rely on the model more 2013-01-22 19:04:25 +01:00
Sven Fuchs
f2ca2d5260 remove worker.lastSeenAt (useless anyway) and use payload.job instead of (deprecated) payload.build for active worker links 2013-01-22 18:55:08 +01:00
Piotr Sarnacki
6fb15c4a97 Show pull request number on the list 2013-01-15 00:48:34 +01:00
Piotr Sarnacki
b83948f583 Fallback to login if name is not given for a user 2013-01-09 16:42:10 +01:00
Piotr Sarnacki
9853826bae Properly refresh last build link on repos list
value change. Since {{action}} is also not a bound helper, I need some
structure that I can put into {{with}} helper
2012-12-12 23:40:51 +01:00
Piotr Sarnacki
d37da09502 Merge pull request #79 from mrshu/master
Updated links to GitHub hooks page
2012-12-11 07:14:49 -08:00
mr.Shu
c9ecde2632 updated links to GitHub hooks 2012-12-11 14:58:59 +01:00
Randy Morgan
e4fb6c1fee Completed dynamic I18n intetegration.
travis-web starts in English. When the user logs in, it switches to
their locale, when they logout, it goes back to english.
2012-12-11 10:48:19 +09:00
Randy Morgan
667722c663 Fixed User#update_locale to call Travis#updateLocale on locale change 2012-12-11 09:34:44 +09:00
Randy Morgan
e4819d8e0b Fixed I18n handlebars helpers to update when locale changes
Via the console, you can Travis.set('locale', 'ja') and all the labels
will properly update. This should work on User#updateLocale as well but
I am having a devil of a time testing it locally as I cannot sign in.
2012-12-11 08:54:43 +09:00
Piotr Sarnacki
8e97b68313 Make the app work with disabled cookies
Browsers disable local storage and session storage when cookies are
disabled - any call to one of those will cause an error. This commit
provides fallback storage, which will store items in memory.
2012-12-10 17:37:09 +01:00
Piotr Sarnacki
5b0b7d7002 Fix isAttributeLoaded checks
We can't check 'isFinished' when model is asked for
isAttributeLoaded('state'). In such situation, it will go to isFinished
and call @get('state'), which will trigger isAttributeLoaded('state')
again.
2012-12-10 14:26:44 +01:00
Sven Fuchs
d005f241ba fix things after rebase 2012-12-09 15:16:27 +01:00
Sven Fuchs
15dc2c503d add state attribute to Branch 2012-12-09 15:16:27 +01:00
Sven Fuchs
395918a406 use states instead of result 2012-12-09 15:16:27 +01:00
Sven Fuchs
f6975e5b02 add cancel menu items 2012-12-09 15:16:27 +01:00
Piotr Sarnacki
c00aa911d7 Add regenerate key option in repo view 2012-12-05 01:59:03 +01:00
Piotr Sarnacki
b718c3aa2b Rerender log 'pre' on requeue 2012-12-05 00:44:29 +01:00
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
Sven Fuchs
038b6b0572 clear log on job:requeued hax 2012-12-01 16:36:55 +01:00
Sven Fuchs
808e341227 split requeueBuild vs requeueJob 2012-12-01 03:13:17 +01:00
Piotr Sarnacki
33358b3613 Start polling only after sync request was done 2012-11-28 20:23:56 +01:00
Piotr Sarnacki
875295c1a1 Don't allow to change hook's state while it's saving 2012-11-28 20:11:01 +01:00
Piotr Sarnacki
9cb451d68b Fix Travis.Job.queued to update after receiving new jobs 2012-11-28 02:02:30 +01:00
Piotr Sarnacki
834e45ceb5 Don't require loading repos when dislaying queues and workers 2012-11-27 22:36:15 +01:00
Piotr Sarnacki
f32038698d Refresh accounts list after sync (closes #55) 2012-11-21 21:20:12 +01:00
Sven Fuchs
d63af402c1 issue events on user:signed_in and user:synced 2012-11-16 17:43:22 +01:00
Piotr Sarnacki
380f89435b startedAt attribute for job is not needed in created state 2012-11-06 14:30:46 +01:00
Piotr Sarnacki
a91657c128 We don't keep duration for jobs
We always just return finished at and started at for jobs, so just let
travis always calculate duration from those fields.
2012-11-06 11:45:33 +01:00
Piotr Sarnacki
dff93c93fe Don't require some of the attributes for incomplete records
When build or job is not finished, we don't need to load the record
because of them, they will be loaded when 'finished' events come in.
2012-10-31 16:10:42 +01:00
Piotr Sarnacki
fee6fc6cad payload.job.id is not always present in worker:updated event 2012-10-28 23:43:16 +01:00
Piotr Sarnacki
3f0babcf55 Fix adding builds to a build list on pusher event 2012-10-28 23:43:15 +01:00
Piotr Sarnacki
231f3b8723 Load worker related records from pusher payload 2012-10-24 11:28:01 +02:00
Piotr Sarnacki
af00392d15 Fix jobs table when jobs have different config keys
If we have 2 jobs within 1 build, with such config values:

    { rvm: 'jruby-head', jdk: 'oraclejdk7' }
    { rvm: '1.9.3', jdk: null }

We should return jdk in configValues for second build, even if it's not
present. Otherwise table rows may be missing.

(closes #28)
2012-10-20 02:14:17 +02:00
Sven Fuchs
a806dd7ff8 refactor broadcasts 2012-10-19 04:27:07 +02:00
Sven Fuchs
90fb2c3b78 add broadcasts 2012-10-18 03:53:19 +02:00
Sven Fuchs
510be92eb7 stashing some work on the events log 2012-10-16 22:46:10 +02:00
Sven Fuchs
393ef62eae Merge branch 'master' of github.com:travis-ci/travis-web
Conflicts:
	public/scripts/app.js
	public/scripts/min/app.js
	public/styles/app.css
	public/version
2012-10-16 02:05:17 +02:00
Sven Fuchs
f91622e7e8 add an events tab 2012-10-16 02:00:24 +02:00
Piotr Sarnacki
4153c990be Fix specs 2012-10-15 23:20:33 +02:00
Sven Fuchs
bee1a895ba css sync and hooks buttons 2012-10-14 15:07:30 +02:00
Sven Fuchs
e7a26524d4 move select() functionality to Travis.Model and reuse it for accounts 2012-10-13 21:20:11 +02:00
Piotr Sarnacki
88abeb48c0 We still return repository_id in build's payload 2012-10-12 20:51:05 +02:00
Piotr Sarnacki
3ecbc8f139 Fix workers sorting, it should be done based on SortableMixin 2012-10-12 20:37:12 +02:00
Piotr Sarnacki
a3826fbeb3 Show all repos accessible by current user in 'My repositories' 2012-10-12 14:42:04 +02:00
Sven Fuchs
24d98eb66a ok, it's DEFAULT_ENDPOINT 2012-10-10 14:16:47 +02:00
Sven Fuchs
7e6907feba Merge branch 'master' of github.com:travis-ci/travis-web
Conflicts:
	Gemfile.lock
	public/scripts/app.js
	public/scripts/min/app.js
	public/version
2012-10-09 12:33:11 +02:00
Sven Fuchs
6cbe6f140e refactor ajax, get rid of the module 2012-10-09 12:31:15 +02:00
Piotr Sarnacki
94e16ab229 Worker still gets payload with repository
I tweaked the code to work for both versions, so we can update API
flawlessly
2012-10-08 17:32:04 +02:00
Piotr Sarnacki
37d1348054 Use Travis Pro in sponsors info 2012-10-08 17:12:39 +02:00
Piotr Sarnacki
b309819f24 Display Travis CI as box sponsor if there is not worker with given name 2012-10-08 17:09:42 +02:00
Piotr Sarnacki
94f1e64554 Show sponsor info under the log 2012-10-08 16:53:31 +02:00
Sven Fuchs
41ab0c4cb0 set content on user permissions array proxy 2012-10-08 13:38:13 +02:00
Sven Fuchs
3580952076 try fixing the root key for Repo.find() (even though ember-data really seems weird here) 2012-10-07 17:58:06 +02:00
Sven Fuchs
02a1f166d5 change tools button to have a menu, add requeue menu item, make status image stuff a popup 2012-10-07 16:59:01 +02:00
Sven Fuchs
25dffc0a7a load user permissions 2012-10-06 23:40:05 +02:00
Sven Fuchs
6e4413d5a2 finally rename repository to repo 2012-10-06 20:08:46 +02:00
Sven Fuchs
7b47863014 extract paths in Assetfile; rename javascripts to scripts, stylesheets to styles 2012-10-03 17:13:02 +02:00