Commit Graph

181 Commits

Author SHA1 Message Date
Piotr Sarnacki
8f91eee610 Display 0 instead of blank field if reposCount is null 2013-08-12 13:16:58 +02:00
Piotr Sarnacki
0217b20943 Implement missing pieces for cancel build
We allow to cancel only created builds at this point.
2013-08-09 23:06:19 +02:00
Piotr Sarnacki
8c3e92faea Merge branch 'master' into ui-improvements
Conflicts:
	assets/scripts/app/controllers/repo.coffee
	assets/scripts/app/templates/builds/show.hbs
	assets/scripts/app/templates/jobs/show.hbs
2013-08-06 13:16:56 +02:00
Piotr Sarnacki
d94816ec8f Remove unneeded code
This piece of code was used in order to load repos associated to jobs
when the latter were loaded from pusher. This was needed because jobs
events do not have repository record passed in pusher payload, so when
job was added with pusher and link to the job was displayed in "Running
Jobs" or in workers on right sidebar, Ember was loading missing repos.
We don't need this code anymore as there is no right sidebar.

Additionally after changes in Ember.js, it's possible to pass primitives
to linkTo. Previously the link to record needed to be constructed as
following:

    {{#linkTo "job" job.repo job}}Link to repo{{/linkTo}}

The drawback of such code is that repo would have been instantiated in
such case. Now, we can do something like this:

    {{#linkTo "job" job.repositorySlug job}}Link to repo{{/linkTo}}

so as long as we have information about repository slug in the job data,
such hacks are not be needed.
2013-08-05 13:14:58 +02:00
Piotr Sarnacki
96066709b4 Simplify permissions CP code 2013-07-31 13:55:04 +02:00
Piotr Sarnacki
0ac5b6855e Use isPullRequest instead of eventType 2013-07-31 13:54:02 +02:00
Piotr Sarnacki
1951752f47 Wrap ajax callbacks in Ember.run 2013-07-31 13:52:08 +02:00
Piotr Sarnacki
c0cb223aeb Update Travis.Model to work with Ember Model 2013-07-31 13:51:28 +02:00
Piotr Sarnacki
f92c592f2d Add pusher receive related stuff to App (previously it was in store) 2013-07-31 13:47:55 +02:00
Piotr Sarnacki
da9a34f06c Change ED's filter() calls to FilteredArrays 2013-07-31 13:42:06 +02:00
Piotr Sarnacki
670f38542a Use model.save() for saving records
Also, there is no need to use transactions anymore
2013-07-31 13:29:55 +02:00
Piotr Sarnacki
823c8441be Change EmberData properties/relationships into EmberModel versions
DS.attr -> Ember.attr
DS.belongsTo -> Ember.belongsTo
DS.hasMany -> Ember.hasMany
2013-07-31 13:29:55 +02:00
Piotr Sarnacki
74dc2bc339 Reset parts when fetching log 2013-07-16 00:29:45 +02:00
Henrik Hodne
1b8ec432dc Initial annotation support 2013-07-10 17:49:47 -07:00
Piotr Sarnacki
c7516b458e Show all accounts and hooks in profile
Previously we showed only accounts and repositories, to which you have
admin access. To improve usability, it's better to show all accounts and
all repositories, but explain why part of the repositories are not
manageable.
2013-06-18 17:54:13 +02:00
Mathias Meyer
a0ab577b6c Add RGSoC logo to the top of the sidebar.
Remove the current sponsors from the sidebar.
2013-05-31 21:17:06 +02:00
Piotr Sarnacki
dd33378c47 Show repo on repos list even if it's not complete, but has lastBuildId 2013-05-21 14:59:32 +02:00
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