diff --git a/.travis.yml b/.travis.yml index 09cb62b7..8f0481f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,18 +22,26 @@ addons: sudo: false cache: + branch: md5deep directories: - node_modules before_install: - "npm config set spin false" - "npm install -g npm@^2" + - mkdir travis-phantomjs + - wget https://s3.amazonaws.com/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 + - tar -xvf $PWD/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -C $PWD/travis-phantomjs + - export PATH=$PWD/travis-phantomjs:$PATH install: - npm install -g bower - npm install - bower install +before_script: + - ruby ci/prepare_testem.rb + script: - ember try $EMBER_VERSION diff --git a/app/components/no-builds.coffee b/app/components/no-builds.coffee new file mode 100644 index 00000000..38e3b529 --- /dev/null +++ b/app/components/no-builds.coffee @@ -0,0 +1,5 @@ +`import Ember from 'ember'` + +NoBuildsComponent = Ember.Component.extend() + +`export default NoBuildsComponent` diff --git a/app/initializers/userlike.coffee b/app/initializers/userlike.coffee new file mode 100644 index 00000000..e1c02e57 --- /dev/null +++ b/app/initializers/userlike.coffee @@ -0,0 +1,13 @@ +`import config from 'travis/config/environment'` + +initialize = (container) -> + + + userlikeData = {} + +UserlikeInitializer = + name: 'userlike' + initialize: initialize + +`export {initialize}` +`export default UserlikeInitializer` diff --git a/app/models/job.coffee b/app/models/job.coffee index 37f08934..151eda76 100644 --- a/app/models/job.coffee +++ b/app/models/job.coffee @@ -143,4 +143,9 @@ Job = Model.extend DurationCalculations, "#{@get('repo.slug')} ##{@get('number')}" ).property() + isLegacyInfrastructure: (-> + if @get('queue') == 'builds.linux' + true + ).property('queue') + `export default Job` diff --git a/app/routes/ssh-key.coffee b/app/routes/ssh-key.coffee index 7ceff470..b86db4d1 100644 --- a/app/routes/ssh-key.coffee +++ b/app/routes/ssh-key.coffee @@ -17,7 +17,7 @@ Route = TravisRoute.extend afterModel: (model, transition) -> repo = @modelFor('repo') - Ajax.get "/repositories/#{repo.get('id')}/key", (data) => + Ajax.get "/repos/#{repo.get('id')}/key", (data) => @defaultKey = Ember.Object.create(fingerprint: data.fingerprint) setupController: (controller, model) -> diff --git a/app/styles/app.scss b/app/styles/app.scss index 0c45fd13..d8fe91d5 100644 --- a/app/styles/app.scss +++ b/app/styles/app.scss @@ -39,6 +39,8 @@ @import "app/modules/switch"; @import "app/modules/memberlist"; @import "app/modules/forms"; +@import "app/modules/notice"; + @import "app/layout"; @import "app/layouts/dashboard"; @@ -59,3 +61,5 @@ @import "app/layouts/getting-started"; @import "app/layouts/first-sync"; @import "app/layouts/settings"; +@import "app/layouts/missing-notice"; + diff --git a/app/styles/app/charm.sass b/app/styles/app/charm.sass index 2b8a89d2..1dae943d 100644 --- a/app/styles/app/charm.sass +++ b/app/styles/app/charm.sass @@ -9,7 +9,7 @@ .feedback-button display: inline-block position: fixed - right: 1% + right: 4% left: auto bottom: 0 margin: 0 diff --git a/app/styles/app/landing.sass b/app/styles/app/landing.sass index b1ae50b1..fce7bb90 100644 --- a/app/styles/app/landing.sass +++ b/app/styles/app/landing.sass @@ -8,12 +8,15 @@ background-color: #fff .button--signin + margin-top: -4px background-color: #ffffff background-image: inline-image('landing-page/signingithub.svg') background-size: 16px 16px border: 2px solid #e4e7e7 color: #a0a8a8 - + .button--signingin + margin-top: -4px + border: 2px solid #3FA75F .button--signin:hover background-color: #73c78d background-image: inline-image('landing-page/signingithub-hover.svg') @@ -106,7 +109,7 @@ font-weight: 300 padding: 0.5em margin: 1.3em 0 1.3em 0 - border-radius: 4px + border-radius: 2px border: 0 &:hover diff --git a/app/styles/app/layouts/buildheader.sass b/app/styles/app/layouts/buildheader.sass index 7243dd6a..d1050319 100644 --- a/app/styles/app/layouts/buildheader.sass +++ b/app/styles/app/layouts/buildheader.sass @@ -129,10 +129,10 @@ background-color: darken($grey-medium, 10) .icon--trigger width: .95em - height: 1.15em + height: 1.2em .icon--cancel width: 1em - height: 1.05em + height: 1em .icon--codeclimate width: 1.2em height: 1.1em diff --git a/app/styles/app/layouts/missing-notice.sass b/app/styles/app/layouts/missing-notice.sass new file mode 100644 index 00000000..d2ec8ed8 --- /dev/null +++ b/app/styles/app/layouts/missing-notice.sass @@ -0,0 +1,27 @@ +.missing-notice + text-align: center + + a + font-size: 14px + +.page-title + color: #434343 + font-size: 36px + font-weight: 200 + line-height: 1 + margin-bottom: .5em + +.page-notice + font-size: $font-size-m + color: #8d8d8d + +.page-graphic + width: 80% + height: auto + max-width: 310px + margin: 5.75rem auto 0 + padding: 0 2em + line-height: 0 + border-bottom: 1px solid #DEDCDB + @media #{$medium-up} + width: 32% diff --git a/app/styles/app/layouts/profile.sass b/app/styles/app/layouts/profile.sass index fb644ec0..479bf037 100644 --- a/app/styles/app/layouts/profile.sass +++ b/app/styles/app/layouts/profile.sass @@ -3,6 +3,13 @@ font-weight: 400 .profile-main + padding: 0 $column-gutter/2 + + @media #{$medium-up} + width: grid-calc(8, 12) + float: right + padding: 0 0 0 $column-gutter/2 + header h1 margin: 0 1.7rem 0 0 @@ -55,7 +62,10 @@ figcaption width: 90% margin: auto - padding: 0 0 0 2.8em + padding: 0 1em 0 2.8em + text-align: center + @media #{$medium-up} + text-align: left img display: block margin: 0 auto 1em @@ -125,17 +135,21 @@ p.profile-user-last .profile-hooklist @include resetul font-size: $font-size-m - color: #7a7a7a li clear: both margin-bottom: .8em - overflow: auto + // overflow: auto .profile-hooks width: grid-calc(10, 24) + display: inline-block + vertical-align: middle @media #{$medium-up} - width: grid-calc(7, 24) + width: grid-calc(5, 24) - 1% @media #{$large-up} - width: grid-calc(6, 24) + width: grid-calc(5, 24) - 1% + .switch + display: inline-block + vertical-align: middle .profile-settings display: inline-block padding: .2em .2em .2em .5em; @@ -154,7 +168,8 @@ p.profile-user-last .profile-repo @extend %border-radius-4px position: relative - width: grid-calc(14, 24) + display: inline-block + width: grid-calc(13, 24) padding: .25em .5em .3em white-space: nowrap overflow: hidden @@ -178,7 +193,7 @@ p.profile-user-last content: "" @include fadeOut(right, -90deg, #e2eee2) @media #{$medium-up} - width: grid-calc(17, 24) + width: grid-calc(18, 24) height: 30px &:hover span diff --git a/app/styles/app/modules/buttons.sass b/app/styles/app/modules/buttons.sass index cbd9e47a..2a7c463e 100644 --- a/app/styles/app/modules/buttons.sass +++ b/app/styles/app/modules/buttons.sass @@ -17,9 +17,8 @@ $button-border-color: #d4d4d4 text-align: center color: $white white-space: nowrap - background-color: #C2C3C5 - border-radius: 4px - font-weight: 300 + border-radius: 2px + .button:hover, .button:focus, @@ -82,6 +81,12 @@ $button-border-color: #d4d4d4 position: relative top: -0.15em +<<<<<<< HEAD +======= +.btn + @extend .button + border-radius: 2px +>>>>>>> master .button--green border: none font-size: $font-size-small @@ -116,7 +121,7 @@ $button-border-color: #d4d4d4 color: #f2f2f2 font-size: $font-size-small border: none - @extend %border-radius-4px + border-radius: 2px &:hover, &:active border: none @@ -140,7 +145,7 @@ $button-border-color: #d4d4d4 .button--delete @extend .button - @extend %border-radius-4px + border-radius: 2px border: none font-size: $font-size-small color: $white diff --git a/app/styles/app/modules/dropdown.sass b/app/styles/app/modules/dropdown.sass index b224f89a..1f1ea8a1 100644 --- a/app/styles/app/modules/dropdown.sass +++ b/app/styles/app/modules/dropdown.sass @@ -100,7 +100,7 @@ $dropdown-border: #C3D9DB font-size: $font-size-normal &:hover, &:focus - background-color: lighten($grey-medium, 10) + background-color: #8b9595 .icon-cog-light position: relative top: 0.15em diff --git a/app/styles/app/modules/icons.sass b/app/styles/app/modules/icons.sass index 9293f89e..03c63cb3 100644 --- a/app/styles/app/modules/icons.sass +++ b/app/styles/app/modules/icons.sass @@ -207,3 +207,6 @@ border-left : 5px solid transparent border-right : 5px solid transparent border-top : 5px solid $dashboard-text-color + +.icon-flag + background-image: inline-image('svg/notice-flag.svg') diff --git a/app/styles/app/modules/notice.sass b/app/styles/app/modules/notice.sass new file mode 100644 index 00000000..0bb6b34f --- /dev/null +++ b/app/styles/app/modules/notice.sass @@ -0,0 +1,16 @@ +.notice + padding: 0.3em 0.5em 0.2em + margin-bottom: .5em + background-color: #F9F3D3 + color: #AF9112 + border-radius: 4px + a + color: #AF9112 + text-decoration: underline + + .icon-flag + @extend %icon + width: 1.3em + height: 1.5em + margin: 0 .6em 0 .2em + vertical-align: middle \ No newline at end of file diff --git a/app/templates/auth/signin.hbs b/app/templates/auth/signin.hbs index 6dcef908..c5af9b3d 100644 --- a/app/templates/auth/signin.hbs +++ b/app/templates/auth/signin.hbs @@ -2,8 +2,8 @@ {{/if}} -

Hey, we're so glad you're here!

-

In order to view your repositories, please sign in.

+

Hey, we're so glad
you're here!

+

In order to view your repositories,
please sign in.

diff --git a/app/templates/builds.hbs b/app/templates/builds.hbs index ec885c71..e9cd7322 100644 --- a/app/templates/builds.hbs +++ b/app/templates/builds.hbs @@ -2,6 +2,8 @@ {{!-- --}} {{#each controller as |build|}} {{builds-item build=build}} + {{else}} + {{no-builds}} {{/each}} {{#if displayShowMoreButton}}

@@ -11,6 +13,7 @@ {{/if}}

{{/if}} + {{else}} {{loading-indicator}} {{/if}} diff --git a/app/templates/builds/not-found.hbs b/app/templates/builds/not-found.hbs index 7fbeea2e..bd2b8add 100644 --- a/app/templates/builds/not-found.hbs +++ b/app/templates/builds/not-found.hbs @@ -1 +1 @@ -There are no builds for this repository. +{{no-builds}} \ No newline at end of file diff --git a/app/templates/components/hooks-list-item.hbs b/app/templates/components/hooks-list-item.hbs index 55f94915..dbf0bb1c 100644 --- a/app/templates/components/hooks-list-item.hbs +++ b/app/templates/components/hooks-list-item.hbs @@ -1,4 +1,4 @@ -
+
{{hook-switch hook=hook onToggleError="handleToggleError" onToggle="resetErrors"}} {{#if hook.isSaving}} {{loading-indicator}} @@ -6,7 +6,7 @@ {{#link-to "settings" hook.ownerName hook.name class="profile-settings" title="Repository settings"}}{{/link-to}} {{/if}}
- + {{hook.slug}} {{hook.description}} diff --git a/app/templates/components/no-builds.hbs b/app/templates/components/no-builds.hbs new file mode 100644 index 00000000..35c85ad0 --- /dev/null +++ b/app/templates/components/no-builds.hbs @@ -0,0 +1,63 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

No builds for this repository

+

Want to start testing this project on Travis CI?

+ Read the Docs on Getting Started +
diff --git a/app/templates/footer.hbs b/app/templates/footer.hbs index 5b9dae5d..1d68f837 100644 --- a/app/templates/footer.hbs +++ b/app/templates/footer.hbs @@ -20,7 +20,9 @@
  • Documentation
  • Blog
  • Email
  • -
  • Live Chat
  • + {{#if config.pro}} +
  • Live Chat
  • + {{/if}}
  • Twitter
  • diff --git a/app/templates/getting-started.hbs b/app/templates/getting-started.hbs index b69a21f9..76b8a599 100644 --- a/app/templates/getting-started.hbs +++ b/app/templates/getting-started.hbs @@ -25,7 +25,7 @@

    Note: The language value is case-sensitive. If you set language: C, for example, your project will be considered a Ruby project.

    -

    Here you can find some of our basic language examples.

    +

    Here you can find some of our basic language examples.

  • diff --git a/app/templates/home.hbs b/app/templates/home.hbs index f7157982..e0f91286 100644 --- a/app/templates/home.hbs +++ b/app/templates/home.hbs @@ -91,7 +91,7 @@
    -

    Testing your open source
    project is 10,000% free

    +

    Testing your open source
    project is 10000% free

    Seriously. Always. We like to think of it as our way of giving
    back to a community that gives us so much as well.

    @@ -233,7 +233,7 @@

    You merge in
    the PR goodness

    - + diff --git a/app/templates/jobs/pre.hbs b/app/templates/jobs/pre.hbs index e60f99c4..ccab24bc 100644 --- a/app/templates/jobs/pre.hbs +++ b/app/templates/jobs/pre.hbs @@ -4,6 +4,20 @@ {{#if view.job.notStarted}}
    Hang tight, the log cannot be shown until the build has started.
    {{/if}} + +{{#if auth.signedIn}} + {{#if view.job.isLegacyInfrastructure}} + {{#if view.job.isFinished}} +

    + This job ran on our legacy infrastructure. Please read our docs on how to upgrade

    + {{else}} +

    + This job is running on our legacy infrastructure. Please read our docs on how to upgrade

    + {{/if}} + {{/if}} +{{/if}} + +
    {{#if view.canRemoveLog}} diff --git a/app/templates/profile/show.hbs b/app/templates/profile/show.hbs index e14bec3b..e772d428 100644 --- a/app/templates/profile/show.hbs +++ b/app/templates/profile/show.hbs @@ -1,28 +1,3 @@ -
    - -{{!-- {{#if config.billingEndpoint}} -
    - {{#if view.subscribed}} - - Subscription active! - - {{else}} - {{#if view.education}} - - Educational account! - - {{else}} - - Sign up this account! - - {{/if}} - {{/if}} -
    - {{/if}} --}} - - {{!-- {{view 'profile-tabs'}} --}} - - {{!--
    --}} - {{outlet}} - {{!--
    --}} +
    + {{outlet}}
    diff --git a/app/templates/profile/tabs/user.hbs b/app/templates/profile/tabs/user.hbs index 93ee5043..8579dff7 100644 --- a/app/templates/profile/tabs/user.hbs +++ b/app/templates/profile/tabs/user.hbs @@ -1,4 +1,4 @@ - +{{!--
    @@ -26,3 +26,4 @@
    + --}} \ No newline at end of file diff --git a/app/templates/top.hbs b/app/templates/top.hbs index 553929b0..fc6a6a93 100644 --- a/app/templates/top.hbs +++ b/app/templates/top.hbs @@ -15,11 +15,13 @@

  • diff --git a/app/utils/auth.coffee b/app/utils/auth.coffee index 31b8c697..be66ccf0 100644 --- a/app/utils/auth.coffee +++ b/app/utils/auth.coffee @@ -99,7 +99,7 @@ Auth = Ember.Object.extend else @signOut() , (status, xhr) => - @signOut() if status == 403 + @signOut() if status == 403 || status == 404 signedIn: (-> @get('state') == 'signed-in' diff --git a/ci/prepare_testem.rb b/ci/prepare_testem.rb new file mode 100644 index 00000000..143268d5 --- /dev/null +++ b/ci/prepare_testem.rb @@ -0,0 +1,10 @@ +require 'json' + +pull_request = ENV['TRAVIS_PULL_REQUEST'] != 'false' + +testem = JSON.parse(File.read('testem.json')) + +testem['launch_in_ci'] = ['PhantomJS'] +testem['launch_in_ci'] += ['SL_chrome', 'SL_firefox'] unless pull_request + +File.open('testem.json', 'w') { |f| f.write testem.to_json } diff --git a/package.json b/package.json index ec6ac9c6..474b9a91 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,6 @@ "ember-cli-uglify": "1.0.1", "ember-data": "1.0.0-beta.16.1", "ember-export-application-global": "^1.0.2", - "ember-try": "0.0.5" + "ember-try": "0.0.7" } } diff --git a/public/500.html b/public/500.html index 526b5945..18735e17 100644 --- a/public/500.html +++ b/public/500.html @@ -16,11 +16,11 @@
    diff --git a/public/images/landing-page/laptop.png b/public/images/landing-page/laptop.png index 9ec75262..b13c153b 100644 Binary files a/public/images/landing-page/laptop.png and b/public/images/landing-page/laptop.png differ diff --git a/public/images/svg/cones.svg b/public/images/svg/cones.svg new file mode 100644 index 00000000..500ccbef --- /dev/null +++ b/public/images/svg/cones.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/svg/notice-flag.svg b/public/images/svg/notice-flag.svg new file mode 100644 index 00000000..16ab669c --- /dev/null +++ b/public/images/svg/notice-flag.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/public/maintenance.html b/public/maintenance.html index cb9e3570..ca7ca844 100644 --- a/public/maintenance.html +++ b/public/maintenance.html @@ -15,11 +15,11 @@
    @@ -33,7 +33,7 @@

    Under Maintenance

    -

    Stay up to date with Travis CI by following us

    +

    Stay up to date with Travis CI by following us

    diff --git a/testem.json b/testem.json index 7f180924..5f909db9 100644 --- a/testem.json +++ b/testem.json @@ -3,9 +3,11 @@ "test_page": "tests/index.html?hidepassed", "launch_in_ci": [ "SL_chrome", - "SL_firefox" + "SL_firefox", + "PhantomJS" ], "launch_in_dev": [ + "PhantomJS" ], "launchers": { "SL_chrome": { diff --git a/tests/unit/components/no-builds-test.coffee b/tests/unit/components/no-builds-test.coffee new file mode 100644 index 00000000..c792f42a --- /dev/null +++ b/tests/unit/components/no-builds-test.coffee @@ -0,0 +1,17 @@ +`import { test, moduleForComponent } from 'ember-qunit'` + +moduleForComponent 'no-builds', { + # specify the other units that are required for this test + # needs: ['component:foo', 'helper:bar'] +} + +test 'it renders', (assert) -> + assert.expect 2 + + # creates the component instance + component = @subject() + assert.equal component._state, 'preRender' + + # renders the component to the page + @render() + assert.equal component._state, 'inDOM'