From 0f89da6dea1c93470525d98f96b54995ee063a4e Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 27 Feb 2013 12:39:42 +0100 Subject: [PATCH 1/7] Fix selected class on repos list --- assets/scripts/app/controllers/repos.coffee | 8 +++++++- assets/scripts/app/views/repo/list.coffee | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/assets/scripts/app/controllers/repos.coffee b/assets/scripts/app/controllers/repos.coffee index 0f8c95e7..d3c64ab8 100644 --- a/assets/scripts/app/controllers/repos.coffee +++ b/assets/scripts/app/controllers/repos.coffee @@ -3,8 +3,14 @@ require 'travis/limited_array' Travis.ReposController = Ember.ArrayController.extend defaultTab: 'recent' isLoadedBinding: 'content.isLoaded' - needs: ['currentUser'] + needs: ['currentUser', 'repo'] currentUserBinding: 'controllers.currentUser' + selectedRepo: (-> + # we need to observe also repo.content here, because we use + # ObjectProxy in repo controller + # TODO: get rid of ObjectProxy there + @get('controllers.repo.repo.content') || @get('controllers.repo.repo') + ).property('controllers.repo.repo', 'controllers.repo.repo.content') init: -> Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes) diff --git a/assets/scripts/app/views/repo/list.coffee b/assets/scripts/app/views/repo/list.coffee index 716be416..f814d764 100644 --- a/assets/scripts/app/views/repo/list.coffee +++ b/assets/scripts/app/views/repo/list.coffee @@ -13,7 +13,9 @@ repoBinding: 'content' classNames: ['repo'] classNameBindings: ['color', 'selected'] - selectedBinding: 'repo.selected' + selected: (-> + @get('content') == @get('controller.selectedRepo') + ).property('controller.selectedRepo') color: (-> Travis.Helpers.colorForState(@get('repo.lastBuildState')) From 02ff5337747791d77f67f98bc214db57308a8661 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 27 Feb 2013 15:58:36 +0100 Subject: [PATCH 2/7] Fix integration tests running and 2 first tests --- assets/scripts/app/routes.coffee | 2 +- assets/scripts/spec/build_spec.coffee | 30 ++++++++++++++---------- assets/scripts/spec/spec_helper.coffee | 30 +++++------------------- assets/scripts/spec/support/mocks.coffee | 10 ++++---- assets/scripts/travis.coffee | 6 +++++ public/spec.html | 1 + 6 files changed, 37 insertions(+), 42 deletions(-) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index b83091c8..88697589 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -2,7 +2,7 @@ require 'travis/location' require 'travis/line_number_parser' Ember.Router.reopen - location: (if testMode? then Ember.HashLocation.create() else Travis.Location.create()) + location: (if testMode? then Ember.NoneLocation.create() else Travis.Location.create()) handleURL: (url) -> url = url.replace(/#.*?$/, '') diff --git a/assets/scripts/spec/build_spec.coffee b/assets/scripts/spec/build_spec.coffee index d650cc58..8c42674c 100644 --- a/assets/scripts/spec/build_spec.coffee +++ b/assets/scripts/spec/build_spec.coffee @@ -1,13 +1,13 @@ describe 'on the "build" state', -> beforeEach -> - app 'travis-ci/travis-core/builds/1' + app '/travis-ci/travis-core/builds/1' + + console.log 'wait for repos' waitFor reposRendered runs -> + console.log 'wait for build' waitFor buildRendered - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsRepos [ { slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } } @@ -52,14 +52,11 @@ describe 'on the "build" state', -> describe 'on the "current" state', -> beforeEach -> - app 'travis-ci/travis-core' + app '/travis-ci/travis-core' waitFor reposRendered runs -> waitFor buildRendered - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'correctly updates values on pusher build:started event', -> payload = build: @@ -72,8 +69,8 @@ describe 'on the "current" state', -> finished_at: '2012-07-02T00:02:55Z' event_type: 'push' result: 1 - commit_message: 'commit message 3' - commit: '1234567' + message: 'commit message 3' + commit: 'foo1234' state: 'started' repository: id: 1 @@ -81,10 +78,19 @@ describe 'on the "current" state', -> last_build_id: 11 Em.run -> - Travis.app.receive 'build:started', payload + Travis.receive 'build:started', payload - waits(100) runs -> displaysSummaryBuildLink '/travis-ci/travis-core/builds/11', '3' + displaysSummary + type: 'build' + id: 11 + repo: 'travis-ci/travis-core' + commit: 'foo1234' + branch: 'master' + compare: '0123456..1234567' + finishedAt: 'less than a minute ago' + duration: '55 sec' + message: 'commit message 3' diff --git a/assets/scripts/spec/spec_helper.coffee b/assets/scripts/spec/spec_helper.coffee index e49fa538..f6cef6f1 100644 --- a/assets/scripts/spec/spec_helper.coffee +++ b/assets/scripts/spec/spec_helper.coffee @@ -1,30 +1,12 @@ minispade.require 'app' -@reset = -> - Em.run -> - if Travis.app - if Travis.app.store - Travis.app.store.destroy() - Travis.app.destroy() - delete Travis.app - delete Travis.store - - waits(500) # TODO not sure what we need to wait for here - $('#application').remove() - $('body').append( $('
') ) - @app = (url) -> - reset() - Em.run -> - Travis.run(rootElement: $('#application')) - waitFor -> Travis.app - # TODO: so much waiting here, I'm sure we can minimize this - runs -> - url = "/#{url}" if url && !url.match(/^\//) - Travis.app.router.route(url) - waits 500 - runs -> - foo = 'bar' + # TODO: this should wait till app is initialized, not some + # arbitrary amount of time + waits(50) + runs -> + Travis.reset() + Travis.__container__.lookup('router:main').handleURL(url) _Date = Date @Date = (date) -> diff --git a/assets/scripts/spec/support/mocks.coffee b/assets/scripts/spec/support/mocks.coffee index f17d941f..e7b153ab 100644 --- a/assets/scripts/spec/support/mocks.coffee +++ b/assets/scripts/spec/support/mocks.coffee @@ -7,9 +7,9 @@ repos = [ ] builds = [ - { id: 1, repository_id: '1', commit_id: 1, job_ids: [1, 2, 3], number: 1, pull_request: false, config: { rvm: ['rbx', '1.9.3', 'jruby'] }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', result: 0 }, + { id: 1, repository_id: '1', commit_id: 1, job_ids: [1, 2, 3], number: 1, pull_request: false, config: { rvm: ['rbx', '1.9.3', 'jruby'] }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', state: 'passed' }, { id: 2, repository_id: '1', commit_id: 2, job_ids: [4], number: 2, pull_request: false, config: { rvm: ['rbx'] } }, - { id: 3, repository_id: '2', commit_id: 3, job_ids: [5], number: 3, pull_request: false, config: { rvm: ['rbx'] }, duration: 30, started_at: '2012-07-02T00:01:00Z', finished_at: '2012-07-01T00:01:30Z', result: 1 }, + { id: 3, repository_id: '2', commit_id: 3, job_ids: [5], number: 3, pull_request: false, config: { rvm: ['rbx'] }, duration: 30, started_at: '2012-07-02T00:01:00Z', finished_at: '2012-07-01T00:01:30Z', state: 'failed' }, { id: 4, repository_id: '3', commit_id: 4, job_ids: [6], number: 4, pull_request: false, config: { rvm: ['rbx'] }, started_at: '2012-07-02T00:02:00Z' }, ] @@ -21,11 +21,11 @@ commits = [ ] jobs = [ - { id: 1, repository_id: 1, build_id: 1, commit_id: 1, log_id: 1, number: '1.1', config: { rvm: 'rbx' }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', result: 0 } - { id: 2, repository_id: 1, build_id: 1, commit_id: 1, log_id: 2, number: '1.2', config: { rvm: '1.9.3' }, duration: 40, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:40Z', result: 1 } + { id: 1, repository_id: 1, build_id: 1, commit_id: 1, log_id: 1, number: '1.1', config: { rvm: 'rbx' }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', state: 'passed' } + { id: 2, repository_id: 1, build_id: 1, commit_id: 1, log_id: 2, number: '1.2', config: { rvm: '1.9.3' }, duration: 40, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:40Z', state: 'failed' } { id: 3, repository_id: 1, build_id: 1, commit_id: 1, log_id: 3, number: '1.3', config: { rvm: 'jruby' }, allow_failure: true } { id: 4, repository_id: 1, build_id: 2, commit_id: 2, log_id: 4, number: '2.1', config: { rvm: 'rbx' } } - { id: 5, repository_id: 2, build_id: 3, commit_id: 3, log_id: 5, number: '3.1', config: { rvm: 'rbx' }, duration: 30, started_at: '2012-07-02T00:01:00Z', finished_at: '2012-07-02T00:01:30Z', result: 1 } + { id: 5, repository_id: 2, build_id: 3, commit_id: 3, log_id: 5, number: '3.1', config: { rvm: 'rbx' }, duration: 30, started_at: '2012-07-02T00:01:00Z', finished_at: '2012-07-02T00:01:30Z', state: 'failed' } { id: 6, repository_id: 3, build_id: 4, commit_id: 4, log_id: 6, number: '4.1', config: { rvm: 'rbx' }, started_at: '2012-07-02T00:02:00Z' } { id: 7, repository_id: 1, build_id: 5, commit_id: 5, log_id: 7, number: '5.1', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' } { id: 8, repository_id: 1, build_id: 5, commit_id: 5, log_id: 8, number: '5.2', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' } diff --git a/assets/scripts/travis.coffee b/assets/scripts/travis.coffee index cc111a1d..2e52417d 100644 --- a/assets/scripts/travis.coffee +++ b/assets/scripts/travis.coffee @@ -32,6 +32,12 @@ window.Travis = Em.Application.extend(Ember.Evented, @set('auth', Travis.Auth.create(app: this, endpoint: Travis.config.api_endpoint)) + reset: -> + @store.destroy() + @setup() + + @_super.apply(this, arguments); + storeAfterSignInPath: (path) -> @get('auth').storeAfterSignInPath(path) diff --git a/public/spec.html b/public/spec.html index 1293498e..19b79d7e 100644 --- a/public/spec.html +++ b/public/spec.html @@ -13,6 +13,7 @@ From 9ed60510418d997d8b8487b2d05eb887fbe7f506 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 27 Feb 2013 16:00:44 +0100 Subject: [PATCH 3/7] Remove run() method override, it breaks app loading --- assets/scripts/travis.coffee | 3 --- public/index.html | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/assets/scripts/travis.coffee b/assets/scripts/travis.coffee index 2e52417d..d99a4560 100644 --- a/assets/scripts/travis.coffee +++ b/assets/scripts/travis.coffee @@ -79,9 +79,6 @@ window.Travis = Em.Application.extend(Ember.Evented, Travis.deferReadiness() $.extend Travis, - run: -> - Travis.advanceReadiness() # bc, remove once merged to master - config: api_endpoint: $('meta[rel="travis.api_endpoint"]').attr('href') pusher_key: $('meta[name="travis.pusher_key"]').attr('value') diff --git a/public/index.html b/public/index.html index fb4970ef..4bf319be 100644 --- a/public/index.html +++ b/public/index.html @@ -16,7 +16,7 @@ From 344261024430142120c7f7275b4ce32a797dda63 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 28 Feb 2013 14:58:16 +0100 Subject: [PATCH 4/7] Fix jasmine styles to make it bigger and relative (on top of app) --- assets/styles/layout.sass | 3 ++- public/styles/jasmine-ext.css | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/assets/styles/layout.sass b/assets/styles/layout.sass index acc219d0..0104ea28 100644 --- a/assets/styles/layout.sass +++ b/assets/styles/layout.sass @@ -14,6 +14,7 @@ html, body height: 100% .application + position: relative width: 100% min-height: 100% margin-top: 40px @@ -23,7 +24,7 @@ html, body #top position: absolute - top: 0 + top: -40px left: 0 width: 100% height: 40px diff --git a/public/styles/jasmine-ext.css b/public/styles/jasmine-ext.css index 94fef03a..a22c2237 100644 --- a/public/styles/jasmine-ext.css +++ b/public/styles/jasmine-ext.css @@ -1,9 +1,5 @@ #HTMLReporter { - position: absolute; - top: 10px; - right: 10px; - width: 50%; - height: 150px; + height: 400px; z-index: 1000; background-color: white; overflow: auto; From c6d1f4fa59223958516c0897911285777b59f058 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 28 Feb 2013 15:54:15 +0100 Subject: [PATCH 5/7] Fix a few more integration tests --- assets/scripts/app/controllers/builds.coffee | 11 +++--- assets/scripts/app/templates/builds/list.hbs | 4 +-- assets/scripts/app/templates/builds/show.hbs | 36 +++++++++++--------- assets/scripts/app/templates/repos/show.hbs | 2 +- assets/scripts/spec/builds_spec.coffee | 5 +-- assets/scripts/spec/current_spec.coffee | 3 -- assets/scripts/spec/event_spec.coffee | 3 -- assets/scripts/spec/index_spec.coffee | 3 -- assets/scripts/spec/job_spec.coffee | 3 -- assets/scripts/spec/sidebar_spec.coffee | 3 -- assets/scripts/spec/spec_helper.coffee | 2 ++ 11 files changed, 32 insertions(+), 43 deletions(-) diff --git a/assets/scripts/app/controllers/builds.coffee b/assets/scripts/app/controllers/builds.coffee index ffe4f3d7..b18a4898 100644 --- a/assets/scripts/app/controllers/builds.coffee +++ b/assets/scripts/app/controllers/builds.coffee @@ -1,15 +1,18 @@ Travis.BuildsController = Em.ArrayController.extend - # sortAscending: false + sortAscending: false + sortProperties: ['number'] + needs: ['repo'] repoBinding: 'controllers.repo.repo' - buildsBinding: 'controllers.repo.builds' + contentBinding: 'controllers.repo.builds' tabBinding: 'controllers.repo.tab' + isLoadedBinding: 'content.isLoaded' showMore: -> id = @get('repo.id') - number = @get('builds.lastObject.number') - @get('builds').load Travis.Build.olderThanNumber(id, number, @get('tab')) + number = @get('lastObject.number') + @get('content').load Travis.Build.olderThanNumber(id, number, @get('tab')) displayShowMoreButton: (-> @get('tab') != 'branches' diff --git a/assets/scripts/app/templates/builds/list.hbs b/assets/scripts/app/templates/builds/list.hbs index b2ff50d8..6fffa99c 100644 --- a/assets/scripts/app/templates/builds/list.hbs +++ b/assets/scripts/app/templates/builds/list.hbs @@ -1,4 +1,4 @@ -{{#if builds.isLoaded}} +{{#if content.isLoaded}} @@ -21,7 +21,7 @@ - {{#each build in builds}} + {{#each build in controller}} {{#view Travis.BuildsItemView contextBinding="build"}}
diff --git a/assets/scripts/app/templates/builds/show.hbs b/assets/scripts/app/templates/builds/show.hbs index 2b3f7802..0b91490d 100644 --- a/assets/scripts/app/templates/builds/show.hbs +++ b/assets/scripts/app/templates/builds/show.hbs @@ -16,25 +16,27 @@
{{formatDuration build.duration}}
-
-
{{t builds.commit}}
-
{{formatCommit build.commit}}
- {{#if commit.compareUrl}} -
{{t builds.compare}}
-
{{pathFrom build.commit.compareUrl}}
- {{/if}} - {{#if commit.authorName}} -
{{t builds.author}}
-
{{build.commit.authorName}}
- {{/if}} - {{#if commit.committerName}} -
{{t builds.committer}}
-
{{build.commit.committerName}}
- {{/if}} -
+ {{#if commit}} +
+
{{t builds.commit}}
+
{{formatCommit build.commit}}
+ {{#if commit.compareUrl}} +
{{t builds.compare}}
+
{{pathFrom build.commit.compareUrl}}
+ {{/if}} + {{#if commit.authorName}} +
{{t builds.author}}
+
{{build.commit.authorName}}
+ {{/if}} + {{#if commit.committerName}} +
{{t builds.committer}}
+
{{build.commit.committerName}}
+ {{/if}} +
+ {{/if}}
{{t builds.message}}
-
{{{formatMessage build.commit.message}}}
+
{{formatMessage build.commit.message}}
{{#unless isMatrix}}
{{t builds.config}}
diff --git a/assets/scripts/app/templates/repos/show.hbs b/assets/scripts/app/templates/repos/show.hbs index 28468564..3cda0ced 100644 --- a/assets/scripts/app/templates/repos/show.hbs +++ b/assets/scripts/app/templates/repos/show.hbs @@ -5,7 +5,7 @@ {{#if repo.isLoaded}} {{#with repo}}

- {{slug}} + {{slug}}

{{description}}

diff --git a/assets/scripts/spec/builds_spec.coffee b/assets/scripts/spec/builds_spec.coffee index 22124e29..0229547b 100644 --- a/assets/scripts/spec/builds_spec.coffee +++ b/assets/scripts/spec/builds_spec.coffee @@ -1,11 +1,8 @@ describe 'on the "builds" state', -> beforeEach -> - app 'travis-ci/travis-core/builds' + app '/travis-ci/travis-core/builds' waitFor buildsRendered - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsRepos [ { slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } } diff --git a/assets/scripts/spec/current_spec.coffee b/assets/scripts/spec/current_spec.coffee index eea24c0b..d3ab3167 100644 --- a/assets/scripts/spec/current_spec.coffee +++ b/assets/scripts/spec/current_spec.coffee @@ -3,9 +3,6 @@ describe 'on the "current" state', -> app 'travis-ci/travis-core' waitFor buildRendered - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsRepos [ { slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } } diff --git a/assets/scripts/spec/event_spec.coffee b/assets/scripts/spec/event_spec.coffee index 8b78af65..1f2f6f48 100644 --- a/assets/scripts/spec/event_spec.coffee +++ b/assets/scripts/spec/event_spec.coffee @@ -1,7 +1,4 @@ describe 'events', -> - afterEach -> - window.history.pushState({}, null, '/spec.html') - describe 'an event adding a repository', -> beforeEach -> app 'travis-ci/travis-core' diff --git a/assets/scripts/spec/index_spec.coffee b/assets/scripts/spec/index_spec.coffee index beaa6903..df96a419 100644 --- a/assets/scripts/spec/index_spec.coffee +++ b/assets/scripts/spec/index_spec.coffee @@ -3,9 +3,6 @@ describe 'on the "index" state', -> app 'travis-ci/travis-core' waitFor buildRendered - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsRepos [ { slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } } diff --git a/assets/scripts/spec/job_spec.coffee b/assets/scripts/spec/job_spec.coffee index c0ab3312..73e63337 100644 --- a/assets/scripts/spec/job_spec.coffee +++ b/assets/scripts/spec/job_spec.coffee @@ -5,9 +5,6 @@ describe 'on the "job" state', -> runs -> waitFor hasText('#tab_build', 'Build #1') - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsRepos [ { slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } } diff --git a/assets/scripts/spec/sidebar_spec.coffee b/assets/scripts/spec/sidebar_spec.coffee index 327fba12..1b639774 100644 --- a/assets/scripts/spec/sidebar_spec.coffee +++ b/assets/scripts/spec/sidebar_spec.coffee @@ -5,9 +5,6 @@ describe 'the sidebar', -> runs -> waitFor hasText('#tab_build', 'Build #1') - afterEach -> - window.history.pushState({}, null, '/spec.html') - it 'displays the expected stuff', -> listsQueues [ { name: 'common', item: { number: '5.1', repo: 'travis-ci/travis-core' } } diff --git a/assets/scripts/spec/spec_helper.coffee b/assets/scripts/spec/spec_helper.coffee index f6cef6f1..03ed3945 100644 --- a/assets/scripts/spec/spec_helper.coffee +++ b/assets/scripts/spec/spec_helper.coffee @@ -6,6 +6,8 @@ minispade.require 'app' waits(50) runs -> Travis.reset() + + url = "/#{url}" unless url.match /^\// Travis.__container__.lookup('router:main').handleURL(url) _Date = Date From d2d341ac9af4b48bf5f2e64d748f78593a3fd2bf Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 28 Feb 2013 15:59:49 +0100 Subject: [PATCH 6/7] Revert "Remove run() method override, it breaks app loading" It works correctly, it was probably some error in assets compilation. This reverts commit 9ed60510418d997d8b8487b2d05eb887fbe7f506. --- assets/scripts/travis.coffee | 3 +++ public/index.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/scripts/travis.coffee b/assets/scripts/travis.coffee index d99a4560..2e52417d 100644 --- a/assets/scripts/travis.coffee +++ b/assets/scripts/travis.coffee @@ -79,6 +79,9 @@ window.Travis = Em.Application.extend(Ember.Evented, Travis.deferReadiness() $.extend Travis, + run: -> + Travis.advanceReadiness() # bc, remove once merged to master + config: api_endpoint: $('meta[rel="travis.api_endpoint"]').attr('href') pusher_key: $('meta[name="travis.pusher_key"]').attr('value') diff --git a/public/index.html b/public/index.html index 4bf319be..fb4970ef 100644 --- a/public/index.html +++ b/public/index.html @@ -16,7 +16,7 @@ From a9b4f8849a88fb4c3111c3f443ae4810efb32ed4 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Thu, 28 Feb 2013 16:11:49 +0100 Subject: [PATCH 7/7] Print phantomjs version --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 446d59a4..42320cdf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ rvm: before_script: - "gem install travis-artifacts" - "bundle exec rakep" + - "phantomjs --version" env: global: