Merge branch 'master' into userlike

This commit is contained in:
Lisa Passing 2015-07-15 14:57:58 +02:00
commit f5d986aaca
50 changed files with 235 additions and 164 deletions

View File

@ -29,12 +29,19 @@ cache:
before_install: before_install:
- "npm config set spin false" - "npm config set spin false"
- "npm install -g npm@^2" - "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: install:
- npm install -g bower - npm install -g bower
- npm install - npm install
- bower install - bower install
before_script:
- ruby ci/prepare_testem.rb
script: script:
- ember try $EMBER_VERSION - ember try $EMBER_VERSION

View File

@ -143,4 +143,9 @@ Job = Model.extend DurationCalculations,
"#{@get('repo.slug')} ##{@get('number')}" "#{@get('repo.slug')} ##{@get('number')}"
).property() ).property()
isLegacyInfrastructure: (->
if @get('queue') == 'builds.linux'
true
).property('queue')
`export default Job` `export default Job`

View File

@ -38,6 +38,7 @@
@import "app/modules/media"; @import "app/modules/media";
@import "app/modules/switch"; @import "app/modules/switch";
@import "app/modules/memberlist"; @import "app/modules/memberlist";
@import "app/modules/notice";
@import "app/layout"; @import "app/layout";
@import "app/layouts/dashboard"; @import "app/layouts/dashboard";

View File

@ -129,10 +129,10 @@
background-color: darken($grey-medium, 10) background-color: darken($grey-medium, 10)
.icon--trigger .icon--trigger
width: .95em width: .95em
height: 1.15em height: 1.2em
.icon--cancel .icon--cancel
width: 1em width: 1em
height: 1.05em height: 1em
.icon--codeclimate .icon--codeclimate
width: 1.2em width: 1.2em
height: 1.1em height: 1.1em

View File

@ -3,6 +3,13 @@
font-weight: 400 font-weight: 400
.profile-main .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 header
h1 h1
margin: 0 1.7rem 0 0 margin: 0 1.7rem 0 0
@ -55,7 +62,10 @@
figcaption figcaption
width: 90% width: 90%
margin: auto margin: auto
padding: 0 0 0 2.8em padding: 0 1em 0 2.8em
text-align: center
@media #{$medium-up}
text-align: left
img img
display: block display: block
margin: 0 auto 1em margin: 0 auto 1em
@ -125,17 +135,18 @@ p.profile-user-last
.profile-hooklist .profile-hooklist
@include resetul @include resetul
font-size: $font-size-m font-size: $font-size-m
color: #7a7a7a
li li
clear: both clear: both
margin-bottom: .8em margin-bottom: .8em
overflow: auto // overflow: auto
.profile-hooks .profile-hooks
width: grid-calc(10, 24) width: grid-calc(10, 24)
display: inline-block
vertical-align: middle
@media #{$medium-up} @media #{$medium-up}
width: grid-calc(7, 24) width: grid-calc(5, 24) - 1%
@media #{$large-up} @media #{$large-up}
width: grid-calc(5, 24) width: grid-calc(5, 24) - 1%
.switch .switch
display: inline-block display: inline-block
vertical-align: middle vertical-align: middle
@ -158,7 +169,8 @@ p.profile-user-last
.profile-repo .profile-repo
@extend %border-radius-4px @extend %border-radius-4px
position: relative position: relative
width: grid-calc(14, 24) display: inline-block
width: grid-calc(13, 24)
padding: .25em .5em .3em padding: .25em .5em .3em
white-space: nowrap white-space: nowrap
overflow: hidden overflow: hidden
@ -182,7 +194,7 @@ p.profile-user-last
content: "" content: ""
@include fadeOut(right, -90deg, #e2eee2) @include fadeOut(right, -90deg, #e2eee2)
@media #{$medium-up} @media #{$medium-up}
width: grid-calc(17, 24) width: grid-calc(18, 24)
height: 30px height: 30px
&:hover &:hover
span span

View File

@ -192,3 +192,6 @@
border-left : 5px solid transparent border-left : 5px solid transparent
border-right : 5px solid transparent border-right : 5px solid transparent
border-top : 5px solid $dashboard-text-color border-top : 5px solid $dashboard-text-color
.icon-flag
background-image: inline-image('svg/notice-flag.svg')

View File

@ -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

View File

@ -4,16 +4,16 @@
{{#if config.billingEndpoint}} {{#if config.billingEndpoint}}
<div class="cta-btn"> <div class="cta-btn">
{{#if view.subscribed}} {{#if view.subscribed}}
<a class="btn btn-activated" {{bind-attr href="billingUrl"}}> <a class="btn btn-activated" href={{billingUrl}}>
Subscription active! Subscription active!
</a> </a>
{{else}} {{else}}
{{#if view.education}} {{#if view.education}}
<a class="btn btn-activated" {{bind-attr href="billingUrl"}}> <a class="btn btn-activated" href={{billingUrl}}>
Educational account! Educational account!
</a> </a>
{{else}} {{else}}
<a class="btn btn-activate" {{bind-attr href="billingUrl"}}> <a class="btn btn-activate" href={{billingUrl}}>
Sign up this account! Sign up this account!
</a> </a>
{{/if}} {{/if}}
@ -93,9 +93,9 @@
<ul class="profile-hooklist"> <ul class="profile-hooklist">
{{#each hook in hooksWithoutAdmin}} {{#each hook in hooksWithoutAdmin}}
<li {{bind-attr class="hook.active:active :row"}}> <li class="{{if hook.active 'active'}} row">
<button class="profile-switch disabled"></button> <button class="profile-switch disabled"></button>
<a {{bind-attr href="hook.urlGithub"}} rel="nofollow" class="profile-repo"> <a href={{hook.urlGithub}} rel="nofollow" class="profile-repo">
{{hook.slug}} {{hook.slug}}
<span>{{hook.description}}</span> <span>{{hook.description}}</span>
</a> </a>

View File

@ -2,7 +2,7 @@
<div id="annotations"> <div id="annotations">
{{#each annotation in view.annotations}} {{#each annotation in view.annotations}}
<div class="annotation"> <div class="annotation">
<a {{bind-attr href="annotation.url"}}> <a href={{annotation.url}}>
{{annotation.status}} {{annotation.providerName}} {{annotation.status}} {{annotation.providerName}}
</a>: </a>:
{{annotation.description}} {{annotation.description}}

View File

@ -2,8 +2,8 @@
{{/if}} {{/if}}
<span class="mascot"></span> <span class="mascot"></span>
<h3>Hey, we're so glad you're here!</h3> <h3>Hey, we're so glad <br> you're here!</h3>
<h2>In order to view your repositories, please sign in.</h2> <h2>In order to view your repositories, <br> please sign in.</h2>
<p> <p>
<a href="#" {{action "signIn" target="auth"}}> <a href="#" {{action "signIn" target="auth"}}>

View File

@ -1,19 +1,19 @@
{{#if loading}} {{#if loading}}
{{loading-indicator}} {{loading-indicator}}
{{else}} {{else}}
<section {{bind-attr class=":tile :tile--pass :row build.state"}}> <section class="tile tile--pass row {{build.state}}">
<div class="tile-status"> <div class="tile-status">
<span {{bind-attr class=":icon :icon-status build.state"}} {{bind-attr title="build.state"}}></span> <span class="icon icon-status {{build.state}}" title={{build.state}}></span>
<span {{bind-attr class=":request-kind build.eventType :icon"}} {{bind-attr title="build.eventType"}}></span> <span class="request-kind {{build.eventType}} icon" title={{build.eventType}}></span>
</div> </div>
<div class="tile-main medium-8 columns"> <div class="tile-main medium-8 columns">
<h2 class="repo-main-commit"> <h2 class="repo-main-commit">
{{#if build.pullRequest}} {{#if build.pullRequest}}
<small class="repo-main-branch" {{bind-attr title="build.pullRequestTitle"}}>Pull Request #{{build.pullRequestNumber}}</small> <small class="repo-main-branch" title={{build.pullRequestTitle}}>Pull Request #{{build.pullRequestNumber}}</small>
{{build.pullRequestTitle}} {{build.pullRequestTitle}}
{{else}} {{else}}
<small class="repo-main-branch" {{bind-attr title="build.commit.branch"}}>{{build.commit.branch}}</small> <small class="repo-main-branch" title={{build.commit.branch}}>{{build.commit.branch}}</small>
{{format-message build.commit.subject repo=build.repo}} {{format-message build.commit.subject repo=build.repo}}
{{/if}} {{/if}}
</h2> </h2>
@ -25,11 +25,11 @@
</div> </div>
<div class="tile-author"> <div class="tile-author">
{{#if commit.authorName}} {{#if commit.authorName}}
<img {{bind-attr src="urlAuthorGravatarImage"}}>{{commit.authorName}} authored{{#if commit.authorIsCommitter}} and committed{{/if}} <img src={{urlAuthorGravatarImage}}>{{commit.authorName}} authored{{#if commit.authorIsCommitter}} and committed{{/if}}
{{/if}} {{/if}}
{{#unless commit.authorIsCommitter}} {{#unless commit.authorIsCommitter}}
{{#if commit.committerName}} {{#if commit.committerName}}
<img {{bind-attr src="urlCommitterGravatarImage"}}>{{commit.committerName}} committed <img src={{urlCommitterGravatarImage}}>{{commit.committerName}} committed
{{/if}} {{/if}}
{{/unless}} {{/unless}}
</div> </div>
@ -42,17 +42,17 @@
{{build.number}} {{humanize-state build.state}}{{/link-to}} {{build.number}} {{humanize-state build.state}}{{/link-to}}
</li> </li>
<li> <li>
<a class="commit" {{bind-attr href="urlGithubCommit"}}> <a class="commit" href={{urlGithubCommit}}>
<span class="icon icon--github"></span> <span class="icon icon--github"></span>
Commit {{format-sha commit.sha}} Commit {{format-sha commit.sha}}
</a> </a>
</li> </li>
<li> <li>
{{#if build.pullRequest}} {{#if build.pullRequest}}
<a class="compare" {{bind-attr href="build.commit.compareUrl"}}><span class="icon icon--github"></span> #{{build.pullRequestNumber}}: {{build.pullRequestTitle}}</a> <a class="compare" href={{build.commit.compareUrl}}><span class="icon icon--github"></span> #{{build.pullRequestNumber}}: {{build.pullRequestTitle}}</a>
{{else}} {{else}}
{{#if build.commit.compareUrl}} {{#if build.commit.compareUrl}}
<a class="compare" {{bind-attr href="build.commit.compareUrl"}}> <a class="compare" href={{build.commit.compareUrl}}>
<span class="icon icon--github"></span> <span class="icon icon--github"></span>
Compare {{short-compare-shas build.commit.compareUrl}}</a> Compare {{short-compare-shas build.commit.compareUrl}}</a>
{{/if}} {{/if}}

View File

@ -1,7 +1,7 @@
{{#if cachesExist}} {{#if cachesExist}}
<div class="caches-header"> <div class="caches-header">
<h1 class="caches-title">All caches <small>(<a href="http://docs.travis-ci.com/user/caching/" title="">documentation</a>)</small></h1> <h1 class="caches-title">All caches <small>(<a href="http://docs.travis-ci.com/user/caching/" title="">documentation</a>)</small></h1>
<a href="#" {{action "deleteRepoCache"}} {{bind-attr class="isDeleting:deleting :delete-repo-caches :button--delete"}}> <a href="#" {{action "deleteRepoCache"}} class="{{if isDeleting 'deleting'}} delete-repo-caches button--delete">
Delete all repository caches Delete all repository caches
</a> </a>
</div> </div>

View File

@ -17,7 +17,7 @@
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</h2> </h2>
<p class="tile-author"><img {{bind-attr src="urlAuthorGravatarImage"}} alt=""> <p class="tile-author"><img src={{urlAuthorGravatarImage}} alt="">
{{build.commit.committerName}} committed {{build.commit.committerName}} committed
</p> </p>
</div> </div>

View File

@ -1,5 +1,5 @@
<p class="tile-item caches-branch column"> <p class="tile-item caches-branch column">
<span {{bind-attr class=":icon :icon--grey"}}></span> <span class="icon icon--grey"></span>
{{cache.branch}} {{cache.branch}}
</p> </p>
@ -8,7 +8,7 @@
<p class="tile-item caches-size column">{{mb cache.size}}MB</p> <p class="tile-item caches-size column">{{mb cache.size}}MB</p>
<p class="tile-item caches-button column"> <p class="tile-item caches-button column">
<a href="#" {{action "delete"}} {{bind-attr class="isDeleting:deleting :delete-by-slug :delete :button--delete"}}> <a href="#" {{action "delete"}} class="{{if isDeleting 'deleting'}} delete-by-slug delete button--delete">
Delete Delete
</a> </a>
</p> </p>

View File

@ -7,7 +7,7 @@
<p> <p>
Integrating <a href="https://codeclimate.com">Code Climate's test coverage</a> reporting with your test Integrating <a href="https://codeclimate.com">Code Climate's test coverage</a> reporting with your test
suite on Travis CI allows to track changes in coverage over time. If you haven't tried it out already, <a suite on Travis CI allows to track changes in coverage over time. If you haven't tried it out already, <a
{{bind-attr href="config.codeClimateUrl"}} target="_blank">sign href={{config.codeClimateUrl}} target="_blank">sign
up today</a> to improve your code's quality. New customers get 20% off for the first three months! up today</a> to improve your code's quality. New customers get 20% off for the first three months!
</p> </p>

View File

@ -1,4 +1,4 @@
<div class="profile-hooks profile-switch columns"> <div class="profile-hooks profile-switch">
{{hook-switch hook=hook onToggleError="handleToggleError" onToggle="resetErrors"}} {{hook-switch hook=hook onToggleError="handleToggleError" onToggle="resetErrors"}}
{{#if hook.isSaving}} {{#if hook.isSaving}}
{{loading-indicator}} {{loading-indicator}}
@ -6,7 +6,7 @@
{{#link-to "settings" hook.ownerName hook.name class="profile-settings" title="Repository settings"}}<span class="icon icon--cog"></span>{{/link-to}} {{#link-to "settings" hook.ownerName hook.name class="profile-settings" title="Repository settings"}}<span class="icon icon--cog"></span>{{/link-to}}
{{/if}} {{/if}}
</div> </div>
<a {{bind-attr href="hook.urlGithub"}} rel="nofollow" class="profile-repo columns"> <a href={{hook.urlGithub}} rel="nofollow" class="profile-repo">
{{hook.slug}} {{hook.slug}}
<span>{{hook.description}}</span></a> <span>{{hook.description}}</span></a>
@ -16,7 +16,7 @@
An error happened when we tried to alter settings on GitHub. An error happened when we tried to alter settings on GitHub.
{{#if githubOrgsOauthAccessSettingsUrl}} {{#if githubOrgsOauthAccessSettingsUrl}}
It may be caused by API restrictions, please It may be caused by API restrictions, please
<a {{bind-attr href="githubOrgsOauthAccessSettingsUrl"}} <a href={{githubOrgsOauthAccessSettingsUrl}}
title="Orgs Oauth Access Settings on GitHub"> title="Orgs Oauth Access Settings on GitHub">
review and add review and add
</a> your authorized Orgs. </a> your authorized Orgs.

View File

@ -1,6 +1,6 @@
{{#link-to "job" repo job}} {{#link-to "job" repo job}}
<div class="tile-status tile-status--job"> <div class="tile-status tile-status--job">
<span {{bind-attr class=":icon :icon--job job.state"}}></span> <span class="icon icon--job {{job.state}}"></span>
</div> </div>
<p class="job-id jobs-item build-status"> <p class="job-id jobs-item build-status">
@ -8,8 +8,8 @@
{{job.number}} {{job.number}}
</p> </p>
<p {{bind-attr class=":job-os :jobs-item :build-os job.config.os"}}> <p class="job-os jobs-item build-os {{job.config.os}}">
<span {{bind-attr class=":icon job.config.os"}}></span> <span class="icon {{job.config.os}}"></span>
</p> </p>
{{#if languages}} {{#if languages}}

View File

@ -2,7 +2,7 @@
<div class="tile-lock"><span class="icon icon-lock"></span></div> <div class="tile-lock"><span class="icon icon-lock"></span></div>
{{/if}} {{/if}}
<div class="tile-status"> <div class="tile-status">
<span {{bind-attr class=":icon :icon-status repo.default_branch.last_build.state"}}></span> <span class="icon icon-status {{repo.default_branch.last_build.state}}"></span>
</div> </div>
<div class="tile-main tile-header column medium-3"> <div class="tile-main tile-header column medium-3">
<h2>{{#link-to "repo" ownerName repoName }}{{repoName}}{{/link-to}}</h2> <h2>{{#link-to "repo" ownerName repoName }}{{repoName}}{{/link-to}}</h2>
@ -18,10 +18,10 @@
<div class="column medium-8 tile-double"> <div class="column medium-8 tile-double">
<div class="column medium-6"> <div class="column medium-6">
<p class="tile-branch"> <p class="tile-branch">
<span {{bind-attr class=":icon :icon--grey :request-kind repo.default_branch.last_build.event_type"}}></span> <span class="icon icon--grey request-kind {{repo.default_branch.last_build.event_type}}"></span>
{{repo.default_branch.name}}</p> {{repo.default_branch.name}}</p>
<p class="tile-commit"> <p class="tile-commit">
<span class="icon icon-github"></span><a {{bind-attr href="repo.default_branch.last_build.commit.compare_url"}}>{{format-sha repo.default_branch.last_build.commit.sha}}</a></p> <span class="icon icon-github"></span><a href={{repo.default_branch.last_build.commit.compare_url}}>{{format-sha repo.default_branch.last_build.commit.sha}}</a></p>
</div> </div>
<div class="column medium-6"> <div class="column medium-6">
<p class="tile-duration"> <p class="tile-duration">

View File

@ -1,7 +1,7 @@
{{#if statusPageStatusUrl}} {{#if statusPageStatusUrl}}
<h3>Travis CI Status</h3> <h3>Travis CI Status</h3>
<ul> <ul>
<li><div {{bind-attr class=":status-circle status"}}>Status:</div> <li><div class="status-circle {{status}}">Status:</div>
<a href="http://www.traviscistatus.com/">Travis CI Status</a> <a href="http://www.traviscistatus.com/">Travis CI Status</a>
</li> </li>
</ul> </ul>

View File

@ -19,12 +19,12 @@
<section class="dashboard-active"> <section class="dashboard-active">
{{#each repo in filteredRepositories}} {{#each repo in filteredRepositories}}
<div {{bind-attr class=":db :row repo.last_build.state"}}> <div class="db row {{repo.last_build.state}}">
{{#if repo.private }} {{#if repo.private }}
<div class="db-lock"><span class="icon icon-lock"></span></div> <div class="db-lock"><span class="icon icon-lock"></span></div>
{{/if}} {{/if}}
<div class="db-status"> <div class="db-status">
<span {{bind-attr class=":icon :icon-status repo.last_build.state"}}></span> <span class="icon icon-status {{repo.last_build.state}}"></span>
<span class="icon icon-star"></span> <span class="icon icon-star"></span>
</div> </div>
<div class="db-repo column medium-3 small-12"> <div class="db-repo column medium-3 small-12">

View File

@ -8,11 +8,11 @@
{{partial 'env_vars/form'}} {{partial 'env_vars/form'}}
{{else}} {{else}}
<a href="#" class="edit-var" {{action "edit"}}>Edit</a> <a href="#" class="edit-var" {{action "edit"}}>Edit</a>
<a href="#" {{action "delete"}} {{bind-attr class=":delete-var isDeleting:deleting"}}> <a href="#" {{action "delete"}} class="delete-var {{if isDeleting 'deleting'}}">
Delete Delete
</a> </a>
<span class="name">{{name}}</span> <span class="name">{{name}}</span>
<span {{bind-attr class=":value :value-display public::secure"}}>{{value}}</span> <span class="value value-display {{unless public 'secure'}}">{{value}}</span>
{{/if}} {{/if}}
</li> </li>
{{/unless}} {{/unless}}

View File

@ -20,7 +20,7 @@
</div> </div>
<div class="actions"> <div class="actions">
<input type="submit" {{bind-attr value=actionType class=":submit-env-var isSaving:saving" disabled=isSaving}} /> <input type="submit" value={{actionType}} class="submit-env-var {{if isSaving 'saving'}}" disabled={{isSaving}} />
<span class="or">or</span> <span class="or">or</span>
<a href="#" class="cancel-env-var" {{action "cancel"}}>Cancel</a> <a href="#" class="cancel-env-var" {{action "cancel"}}>Cancel</a>
</div> </div>

View File

@ -25,7 +25,7 @@
<p class="note note--info"> <p class="note note--info">
<strong>Note:</strong> The <code>language</code> value is case-sensitive. If you set <code>language: C</code>, for example, your project will be considered a Ruby project. <strong>Note:</strong> The <code>language</code> value is case-sensitive. If you set <code>language: C</code>, for example, your project will be considered a Ruby project.
</p> </p>
<p>Here you can find some of our basic <a href="#" title="">language examples</a>.</p> <p>Here you can find some of our basic <a href="http://docs.travis-ci.com/user/language-specific/" title="">language examples</a>.</p>
</div> </div>
</li> </li>
<li class="media row"> <li class="media row">

View File

@ -53,9 +53,9 @@
<div class="medium-6 columns"> <div class="medium-6 columns">
<ul class="tiles-landing"> <ul class="tiles-landing">
{{#each repo in repos}} {{#each repo in repos}}
<li {{bind-attr class=":db :column repo.lastBuild.state"}}> <li class="db column {{repo.lastBuild.state}}">
<div class="db-status"> <div class="db-status">
<span {{bind-attr class=":icon :icon-status repo.lastBuild.state"}}></span> <span class="icon icon-status {{repo.lastBuild.state}}"></span>
</div> </div>
<div class="db-repo column"> <div class="db-repo column">
<h3>{{repo.owner}}</h3> <h3>{{repo.owner}}</h3>

View File

@ -1,14 +1,14 @@
{{#if job.isLoaded}} {{#if job.isLoaded}}
<section {{bind-attr class=":tile :tile--pass :row job.state"}} {{!-- id="new-summary" --}}> <section class="tile tile--pass row {{job.state}}" {{!-- id="new-summary" --}}>
<div class="tile-status"> <div class="tile-status">
<span {{bind-attr class=":icon :icon-status job.state"}} {{bind-attr title="job.state"}}></span> <span class="icon icon-status {{job.state}}" title={{job.state}}></span>
<span {{bind-attr class=":request-kind job.build.eventType :icon"}} {{bind-attr title="job.build.eventType"}}></span> <span class="request-kind {{job.build.eventType}} icon" title={{job.build.eventType}}></span>
</div> </div>
<div class="tile-main medium-8 columns"> <div class="tile-main medium-8 columns">
<h2 class="repo-main-commit"> <h2 class="repo-main-commit">
<small class="repo-main-branch" {{bind-attr title="job.commit.branch"}}>{{job.commit.branch}}</small> <small class="repo-main-branch" title={{job.commit.branch}}>{{job.commit.branch}}</small>
{{format-message job.commit.subject repoBinding=job.repo}} {{format-message job.commit.subject repoBinding=job.repo}}
</h2> </h2>
<div class="repo-main-description"> <div class="repo-main-description">
@ -16,11 +16,11 @@
</div> </div>
<div class="tile-author"> <div class="tile-author">
{{#if job.commit.authorName}} {{#if job.commit.authorName}}
<img {{bind-attr src="view.urlAuthorGravatarImage"}}/>{{job.commit.authorName}} authored{{#if job.commit.authorIsCommitter}} and committed{{/if}} <img src={{view.urlAuthorGravatarImage}} />{{job.commit.authorName}} authored{{#if job.commit.authorIsCommitter}} and committed{{/if}}
{{/if}} {{/if}}
{{#unless job.commit.authorIsCommitter}} {{#unless job.commit.authorIsCommitter}}
{{#if job.commit.committerName}} {{#if job.commit.committerName}}
<img {{bind-attr src="view.urlCommitterGravatarImage"}}/>{{job.commit.committerName}} committed <img src={{view.urlCommitterGravatarImage}} />{{job.commit.committerName}} committed
{{/if}} {{/if}}
{{/unless}} {{/unless}}
</div> </div>
@ -35,14 +35,14 @@
{{/link-to}} {{/link-to}}
</li> </li>
<li> <li>
<a class="commit" {{bind-attr href="controller.urlGithubCommit"}}><span class="icon icon--github"></span> Commit {{format-sha job.commit.sha}}</a> <a class="commit" href={{controller.urlGithubCommit}}><span class="icon icon--github"></span> Commit {{format-sha job.commit.sha}}</a>
</li> </li>
<li> <li>
{{#if job.build.pullRequest}} {{#if job.build.pullRequest}}
<div class="compare"><a class="compare" {{bind-attr href="job.commit.compareUrl"}}><span class="icon icon--github"></span> #{{job.build.pullRequestNumber}}: {{job.build.pullRequestTitle}}</a></div> <div class="compare"><a class="compare" href={{job.commit.compareUrl}}><span class="icon icon--github"></span> #{{job.build.pullRequestNumber}}: {{job.build.pullRequestTitle}}</a></div>
{{else}} {{else}}
{{#if job.build.commit.compareUrl}} {{#if job.build.commit.compareUrl}}
<div class="compare"><a class="compare" {{bind-attr href="job.commit.compareUrl"}}><span class="icon icon--github"></span> Compare {{short-compare-shas job.build.commit.compareUrl}}</a></div> <div class="compare"><a class="compare" href={{job.commit.compareUrl}}><span class="icon icon--github"></span> Compare {{short-compare-shas job.build.commit.compareUrl}}</a></div>
{{/if}} {{/if}}
{{/if}} {{/if}}
</li> </li>

View File

@ -1,5 +1,5 @@
{{#if view.jobs.length}} {{#if view.jobs.length}}
<section {{bind-attr id=view.jobTableId}}> <section id={{view.jobTableId}}>
{{#if view.required}} {{#if view.required}}
<h2 class="build-title">Build Jobs</h2> <h2 class="build-title">Build Jobs</h2>
@ -14,12 +14,12 @@
{{#each job in view.jobs}} {{#each job in view.jobs}}
{{#view 'jobs-item' context=job}} {{#view 'jobs-item' context=job}}
<div {{bind-attr class=":tile :tile--jobs :row job.state" }}> <div class="tile tile--jobs row {{job.state}}">
{{#if job.config}} {{#if job.config}}
{{#link-to "job" job.repo job}} {{#link-to "job" job.repo job}}
<div class="tile-status tile-status--job"> <div class="tile-status tile-status--job">
<span {{bind-attr class=":icon :icon--job job.state"}}></span> <span class="icon icon--job {{job.state}}"></span>
</div> </div>
<p class="job-id jobs-item build-status"> <p class="job-id jobs-item build-status">
@ -31,8 +31,8 @@
{{/if}} {{/if}}
</p> </p>
<p {{bind-attr class=":job-os :jobs-item :build-os config.os"}}> <p class="job-os jobs-item build-os {{config.os}}">
<span {{bind-attr class=":icon config.os"}}></span> <span class="icon {{config.os}}"></span>
{{!-- {{config.os}} --}} {{!-- {{config.os}} --}}
</p> </p>
@ -61,14 +61,14 @@
</p> </p>
{{/if}} {{/if}}
<p class="job-duration jobs-item" {{bind-attr title="startedAt"}}> <p class="job-duration jobs-item" title={{startedAt}}>
<span class="icon icon--clock-dark"></span> <span class="icon icon--clock-dark"></span>
{{format-duration duration}} {{format-duration duration}}
</p> </p>
</div> </div>
{{!-- <p class="" {{bind-attr title="formattedFinishedAt"}}> {{!-- <p class="" title={{formattedFinishedAt}}>
<span class="icon icon--cal"></span> <span class="icon icon--cal"></span>
{{format-time finishedAt}} {{format-time finishedAt}}
</p> --}} </p> --}}

View File

@ -4,12 +4,26 @@
{{#if view.job.notStarted}} {{#if view.job.notStarted}}
<div class="log-notice">Hang tight, the log cannot be shown until the build has started.</div> <div class="log-notice">Hang tight, the log cannot be shown until the build has started.</div>
{{/if}} {{/if}}
<div {{bind-attr class="view.job.notStarted:hidden"}}>
{{#if auth.signedIn}}
{{#if view.job.isLegacyInfrastructure}}
{{#if view.job.isFinished}}
<p class="notice"><span class="icon-flag"></span>
This job ran on our legacy infrastructure. Please read <a href="http://docs.travis-ci.com/user/migrating-from-legacy/?utm_source=legacy-notice&utm_medium=banner&utm_campaign=legacy-upgrade" title="Migrating from legacy">our docs on how to upgrade</a></p>
{{else}}
<p class="notice"><span class="icon-flag"></span>
This job is running on our legacy infrastructure. Please read <a href="http://docs.travis-ci.com/user/migrating-from-legacy/?utm_source=legacy-notice&utm_medium=banner&utm_campaign=legacy-upgrade" title="Migrating from legacy">our docs on how to upgrade</a></p>
{{/if}}
{{/if}}
{{/if}}
<div class="{{if view.job.notStarted 'hidden'}}">
<menu class="log-header"> <menu class="log-header">
{{#if view.canRemoveLog}} {{#if view.canRemoveLog}}
<a href="#" class="button button--grey open-popup" {{action "removeLogPopup" target=view}}><span class="icon icon--removeLog"></span> Remove Log</a> <a href="#" class="button button--grey open-popup" {{action "removeLogPopup" target=view}}><span class="icon icon--removeLog"></span> Remove Log</a>
{{/if}} {{/if}}
<a class="button button--grey" {{bind-attr href="view.plainTextLogUrl"}}><span class="icon icon--downloadLog"></span> Download Log</a> <a class="button button--grey" href={{view.plainTextLogUrl}}><span class="icon icon--downloadLog"></span> Download Log</a>
</menu> </menu>
<div class="log-body"> <div class="log-body">
{{#if view.showTailing}} {{#if view.showTailing}}
@ -30,13 +44,12 @@
{{#if view.showToTop}} {{#if view.showToTop}}
<a href='#' class="to-top" {{action "toTop" target=view}}>Top</a> <a href='#' class="to-top" {{action "toTop" target=view}}>Top</a>
{{/if}} {{/if}}
</div>
</div>
{{#if view.limited}} {{#if view.limited}}
<p class="warning"> <p class="warning">
This log is too long to be displayed. Please reduce the verbosity of your This log is too long to be displayed. Please reduce the verbosity of your
build or download the <a {{bind-attr href="view.plainTextLogUrl"}}>raw log</a>. build or download the <a href={{view.plainTextLogUrl}}>raw log</a>.
</p> </p>
{{/if}} {{/if}}
</div>
</div>
</section> </section>

View File

@ -1,4 +1,4 @@
<div {{bind-attr class=":wrapper auth.signedIn:non-centered:centered"}}> <div class="wrapper {{if auth.signedIn 'non-centered' 'centered'}}">
<header id="top" class="top"> <header id="top" class="top">
{{render "top"}} {{render "top"}}
@ -12,11 +12,11 @@
</div> </div>
</div> </div>
<aside id="left" {{bind-attr class="auth.signedIn::hidden"}}> <aside id="left" class="{{unless auth.signedIn 'hidden'}}">
{{outlet "left"}} {{outlet "left"}}
</aside> </aside>
</div> </div>
<footer {{bind-attr class="auth.signedIn:hidden"}}> <footer class="{{if auth.signedIn 'hidden'}}">
{{render "footer"}} {{render "footer"}}
</footer> </footer>

View File

@ -1,10 +1,10 @@
<header class="owner-header row"> <header class="owner-header row">
<div class="owner-avatar"> <div class="owner-avatar">
<img {{bind-attr src="avatarURL"}} alt="" width="125" height="125"> <img src={{avatarURL}} alt="" width="125" height="125">
</div> </div>
<div class="owner-info"> <div class="owner-info">
<h1 class="owner-title">{{owner.name}}</h1> <h1 class="owner-title">{{owner.name}}</h1>
<p class="owner-handle"><a {{bind-attr href="githubProfile"}} title=""><span class="icon icon--github-circle"></span> {{owner.login}}</a></p> <p class="owner-handle"><a href={{githubProfile}} title=""><span class="icon icon--github-circle"></span> {{owner.login}}</a></p>
{{!-- {{owner-sync-button owner=owner}} --}} {{!-- {{owner-sync-button owner=owner}} --}}
</div> </div>
</header> </header>

View File

@ -2,7 +2,7 @@
<section class="profile-user"> <section class="profile-user">
<div class="media"> <div class="media">
<div class="media-elem"> <div class="media-elem">
<img {{bind-attr src="auth.gravatarUrl"}} alt=""> <img src={{auth.gravatarUrl}} alt="">
</div> </div>
<div class="media-body"> <div class="media-body">
{{#link-to 'profile'}} {{#link-to 'profile'}}
@ -19,7 +19,7 @@
{{#link-to "account" view.account class="name"}} {{#link-to "account" view.account class="name"}}
<div class="media"> <div class="media">
<div class="media-elem"> <div class="media-elem">
<img {{bind-attr src="view.avatarUrl"}} alt=""> <img src={{view.avatarUrl}} alt="">
</div> </div>
<div class="media-body"> <div class="media-body">
<h2>{{view.name}}</h2> <h2>{{view.name}}</h2>
@ -34,7 +34,7 @@
{{#if config.githubOrgsOauthAccessSettingsUrl}} {{#if config.githubOrgsOauthAccessSettingsUrl}}
<section class="profile-additional"> <section class="profile-additional">
<p>Is an organization missing?<br> <p>Is an organization missing?<br>
<a {{bind-attr href="config.githubOrgsOauthAccessSettingsUrl"}} title="Orgs Oauth Access Settings on GitHub">Review and add</a> your authorized organizations.</p> <a href={{config.githubOrgsOauthAccessSettingsUrl}} title="Orgs Oauth Access Settings on GitHub">Review and add</a> your authorized organizations.</p>
</section> </section>
{{/if}} {{/if}}
</aside> </aside>

View File

@ -1,28 +1,3 @@
<article class="columns medium-8 float-right profile-main"> <article class="profile-main">
{{!-- {{#if config.billingEndpoint}}
<div class="row">
{{#if view.subscribed}}
<a class="btn btn-activated" {{bind-attr href="billingUrl"}}>
Subscription active!
</a>
{{else}}
{{#if view.education}}
<a class="btn btn-activated" {{bind-attr href="billingUrl"}}>
Educational account!
</a>
{{else}}
<a class="btn btn-activate" {{bind-attr href="billingUrl"}}>
Sign up this account!
</a>
{{/if}}
{{/if}}
</div>
{{/if}} --}}
{{!-- {{view 'profile-tabs'}} --}}
{{!-- <div class="tab"> --}}
{{outlet}} {{outlet}}
{{!-- </div> --}}
</article> </article>

View File

@ -1,11 +1,11 @@
<ul class="tabs"> <ul class="tabs">
<li id="tab_hooks" {{bind-attr class="view.classHooks"}}> <li id="tab_hooks" class={{view.classHooks}}>
<h5> <h5>
{{#link-to "account" account}}Repositories{{/link-to}} {{#link-to "account" account}}Repositories{{/link-to}}
</h5> </h5>
</li> </li>
{{#if view.displayUser}} {{#if view.displayUser}}
<li id="tab_user" {{bind-attr class="view.classUser"}}> <li id="tab_user" class={{view.classUser}}>
<h5> <h5>
{{#link-to "accounts.info"}}Profile{{/link-to}} {{#link-to "accounts.info"}}Profile{{/link-to}}
</h5> </h5>
@ -14,7 +14,7 @@
{{#if config.billingEndpoint}} {{#if config.billingEndpoint}}
<li id="tab_billing" class="right"> <li id="tab_billing" class="right">
<h5> <h5>
<a {{bind-attr href="billingUrl"}}>Billing</a> <a href={{billingUrl}}>Billing</a>
</h5> </h5>
</li> </li>
{{/if}} {{/if}}

View File

@ -1,4 +1,4 @@
<img {{bind-attr src="view.gravatarUrl"}}> {{!-- <img src={{view.gravatarUrl}}>
<dl class="profile"> <dl class="profile">
<div> <div>
@ -6,7 +6,7 @@
GitHub GitHub
</dt> </dt>
<dd> <dd>
<a {{bind-attr href="urlGithub"}}>{{user.login}}</a> <a href={{urlGithub}}>{{user.login}}</a>
</dd> </dd>
</div> </div>
<div> <div>
@ -26,3 +26,4 @@
</dd> </dd>
</div> </div>
</dl> </dl>
--}}

View File

@ -1,9 +1,9 @@
{{#if isLoaded}} {{#if isLoaded}}
{{#if length}} {{#if length}}
{{#each job in controller}} {{#each job in controller}}
<div {{bind-attr class=":tile :tile--sidebar job.state"}}> <div class="tile tile--sidebar {{job.state}}">
{{#if job.repo.slug}} {{#if job.repo.slug}}
<span {{bind-attr class=":icon :icon--job job.state"}}></span> <span class="icon icon--job {{job.state}}"></span>
{{#link-to "job" job.repo job}}{{job.repo.slug}}{{/link-to}} {{#link-to "job" job.repo job}}{{job.repo.slug}}{{/link-to}}
{{/if}} {{/if}}

View File

@ -1,17 +1,17 @@
<div id="repo" {{bind-attr class="view.className :repo"}}> <div id="repo" class="{{view.className}} repo">
{{#if view.isEmpty}} {{#if view.isEmpty}}
{{view 'repos-empty'}} {{view 'repos-empty'}}
{{else}} {{else}}
{{#if repo.isLoaded}} {{#if repo.isLoaded}}
<article id="repo-header" {{bind-attr class=":repo-header :passed"}}> <article id="repo-header" class="repo-header passed">
<header> <header>
<h1 class="repo-header-title">{{#link-to "repo" repo}}{{repo.slug}}{{/link-to}}</h1> <h1 class="repo-header-title">{{#link-to "repo" repo}}{{repo.slug}}{{/link-to}}</h1>
<div class="repo-header-icons"> <div class="repo-header-icons">
<a {{bind-attr href="controller.urlGithub"}}><span class="icon icon--github-circle"></span></a> <a href={{controller.urlGithub}}><span class="icon icon--github-circle"></span></a>
<a href="#" id="status-image-popup" name="status-images" class="open-popup" {{action "statusImages" target=view}}> <a href="#" id="status-image-popup" name="status-images" class="open-popup" {{action "statusImages" target=view}}>
<img {{bind-attr src="view.statusImageUrl"}} title="Build Status Images"/> <img src={{view.statusImageUrl}} title="Build Status Images"/>
</a> </a>
</div> </div>
<p class="description">{{description}}</p> <p class="description">{{description}}</p>

View File

@ -22,10 +22,10 @@
{{#collection 'repos-list' content=this}} {{#collection 'repos-list' content=this}}
{{#with view.repo as repo}} {{#with view.repo as repo}}
<div {{bind-attr class=":tile :tile--sidebar repo.lastBuildState"}}> <div class="tile tile--sidebar {{repo.lastBuildState}}">
<h2 class="tile-title"> <h2 class="tile-title">
{{#if repo.slug}} {{#if repo.slug}}
<span {{bind-attr class=":icon :icon--job repo.lastBuildState"}}></span> <span class="icon icon--job {{repo.lastBuildState}}"></span>
{{#link-to "repo" repo class="slug"}}{{repo.slug}}{{/link-to}} {{#link-to "repo" repo class="slug"}}{{repo.slug}}{{/link-to}}
{{/if}} {{/if}}
</h2> </h2>
@ -44,7 +44,7 @@
<p> <p>
<span class="icon icon--clock"></span> <span class="icon icon--clock"></span>
Duration: Duration:
<abbr class="duration" {{bind-attr title="lastBuildStartedAt"}}> <abbr class="duration" title={{lastBuildStartedAt}}>
{{format-duration repo.lastBuildDuration}} {{format-duration repo.lastBuildDuration}}
</abbr> </abbr>
</p> </p>
@ -52,7 +52,7 @@
<p> <p>
<span class="icon icon--cal"></span> <span class="icon icon--cal"></span>
Finished: Finished:
<abbr class="finished_at timeago" {{bind-attr title="lastBuildFinishedAt"}}> <abbr class="finished_at timeago" title={{lastBuildFinishedAt}}>
{{format-time repo.lastBuildFinishedAt}} {{format-time repo.lastBuildFinishedAt}}
</abbr> </abbr>
</p> </p>

View File

@ -1,16 +1,16 @@
<div class="tabnav tabnav--sidebar" role="tablist"> <div class="tabnav tabnav--sidebar" role="tablist">
<ul class="tab tabs--sidebar"> <ul class="tab tabs--sidebar">
<li id="tab_owned" {{bind-attr class="view.classOwned"}}> <li id="tab_owned" class={{view.classOwned}}>
<a href="#" {{action "showMyRepositories"}}>My Repositories</a> <a href="#" {{action "showMyRepositories"}}>My Repositories</a>
</li> </li>
{{#if config.pro}} {{#if config.pro}}
<li id="tab_running" {{bind-attr class="view.classRunning"}}> <li id="tab_running" class={{view.classRunning}}>
<a href="#" {{action "showRunningJobs"}}>Running ({{startedJobsCount}}/{{allJobsCount}})</a> <a href="#" {{action "showRunningJobs"}}>Running ({{startedJobsCount}}/{{allJobsCount}})</a>
</li> </li>
{{/if}} {{/if}}
<li id="tab_new" {{bind-attr class="view.classNew"}}> <li id="tab_new" class={{view.classNew}}>
{{#link-to "profile" trackEvent="add-repository-from-list" title="Add New Repository"}} {{#link-to "profile" trackEvent="add-repository-from-list" title="Add New Repository"}}
<span class="icon icon--plus"></span> <span class="icon icon--plus"></span>
{{/link-to}} {{/link-to}}

View File

@ -1,34 +1,34 @@
<div class="tabnav" role="tablist"> <div class="tabnav" role="tablist">
<ul class="tab tabs--main"> <ul class="tab tabs--main">
<li id="tab_current" {{bind-attr class="view.classCurrent"}}> <li id="tab_current" class={{view.classCurrent}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "repo" repo current-when="repo.index"}} {{#link-to "repo" repo current-when="repo.index"}}
Current Current
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_branches" {{bind-attr class="view.classBranches"}}> <li id="tab_branches" class={{view.classBranches}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "branches" repo}} {{#link-to "branches" repo}}
Branches Branches
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_builds" {{bind-attr class="view.classBuilds"}}> <li id="tab_builds" class={{view.classBuilds}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "builds" repo}} {{#link-to "builds" repo}}
Build History Build History
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_pull_requests" {{bind-attr class="view.classPullRequests"}}> <li id="tab_pull_requests" class={{view.classPullRequests}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "pullRequests" repo}} {{#link-to "pullRequests" repo}}
Pull Requests Pull Requests
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_build" {{bind-attr class="view.classBuild"}}> <li id="tab_build" class={{view.classBuild}}>
{{#if build.id}} {{#if build.id}}
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "build" repo build}} {{#link-to "build" repo build}}
@ -37,7 +37,7 @@
{{/if}} {{/if}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_job" {{bind-attr class="view.classJob"}}> <li id="tab_job" class={{view.classJob}}>
{{#if job.id}} {{#if job.id}}
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "job" repo job}} {{#link-to "job" repo job}}
@ -46,14 +46,14 @@
{{/if}} {{/if}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_settings" {{bind-attr class="view.classSettings"}}> <li id="tab_settings" class={{view.classSettings}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "settings" repo}} {{#link-to "settings" repo}}
Settings Settings
{{/link-to}} {{/link-to}}
{{/if}} {{/if}}
</li> </li>
<li id="tab_requests" {{bind-attr class="view.classRequests"}}> <li id="tab_requests" class="{{view.classRequests}}">
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "requests" repo}} {{#link-to "requests" repo}}
Requests Requests
@ -61,7 +61,7 @@
{{/if}} {{/if}}
</li> </li>
{{#if config.caches_enabled}} {{#if config.caches_enabled}}
<li id="tab_caches" {{bind-attr class="view.classCaches"}}> <li id="tab_caches" class={{view.classCaches}}>
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "caches" repo}} {{#link-to "caches" repo}}
Caches Caches
@ -70,7 +70,7 @@
</li> </li>
{{/if}} {{/if}}
<li id="tab_request" {{bind-attr class="view.classRequest"}}> <li id="tab_request" class={{view.classRequest}}>
{{#if request.id}} {{#if request.id}}
{{#if repo.slug}} {{#if repo.slug}}
{{#link-to "request" repo request}} {{#link-to "request" repo request}}

View File

@ -1,10 +1,10 @@
<div id="request" {{bind-attr class="isAccepted:accepted:rejected"}}> <div id="request" class="{{if isAccepted 'accepted' 'rejected'}}">
<h3>{{status}}{{#unless isAccepted}}: {{message}}{{/unless}}</h3> <h3>{{status}}{{#unless isAccepted}}: {{message}}{{/unless}}</h3>
<p class="request-details"> <p class="request-details">
{{#if isPullRequest}} {{#if isPullRequest}}
This request is based on the This request is based on the
<span class="pr-number" {{bind-attr title="pullRequestTitle"}}>#{{pullRequestNumber}}</span> <span class="pr-number" title={{pullRequestTitle}}>#{{pullRequestNumber}}</span>
pull request. pull request.
{{else}} {{else}}
This request is based on a commit {{format-commit commit}} by {{commit.authorName}} This request is based on a commit {{format-commit commit}} by {{commit.authorName}}

View File

@ -1,7 +1,7 @@
{{#if config.pro}} {{#if config.pro}}
<div class="travis-lint"> <div class="travis-lint">
<p>Travis Lint for clean .yml files <p>Travis Lint for clean .yml files
<a {{bind-attr href="lintUrl"}}>lint.travis-ci.org/{{repo.slug}}</a> <a href={{lintUrl}}>lint.travis-ci.org/{{repo.slug}}</a>
</p> </p>
</div> </div>
{{/if}} {{/if}}

View File

@ -1,9 +1,9 @@
{{#if isLoaded}} {{#if isLoaded}}
{{#if controller.length}} {{#if controller.length}}
{{#each job in controller}} {{#each job in controller}}
<div {{bind-attr class=":tile :tile--sidebar job.state"}}> <div class="tile tile--sidebar {{job.state}}">
{{#if job.repo.slug}} {{#if job.repo.slug}}
<span {{bind-attr class=":icon :icon--job job.state"}}></span> <span class="icon icon--job {{job.state}}"></span>
{{#link-to "job" job.repo job}}{{job.repo.slug}}{{/link-to}} {{#link-to "job" job.repo job}}{{job.repo.slug}}{{/link-to}}
{{/if}} {{/if}}
@ -17,7 +17,7 @@
<p> <p>
<span class="icon icon--clock"></span> <span class="icon icon--clock"></span>
Duration: Duration:
<abbr class="duration" {{bind-attr title="job.startedAt"}}> <abbr class="duration" title={{job.startedAt}}>
{{format-duration job.duration}} {{format-duration job.duration}}
</abbr> </abbr>
</p> </p>

View File

@ -15,7 +15,7 @@
</p> </p>
<p class="settings-row"> <p class="settings-row">
<p {{bind-attr class=":short-settings-element settings.maximum_number_of_builds_valid"}}> <p class="short-settings-element {{settings.maximum_number_of_builds_valid}}">
{{input value=settings.maximum_number_of_builds size="4" pattern='/^[0-9]+$/'}} {{input value=settings.maximum_number_of_builds size="4" pattern='/^[0-9]+$/'}}
</p> </p>
<label> <label>

View File

@ -16,7 +16,7 @@
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<a href="#" {{action "delete"}} {{bind-attr class=":delete-ssh-key isDeleting:deleting"}}> <a href="#" {{action "delete"}} class="delete-ssh-key {{if isDeleting 'deleting'}}">
Delete Delete
</a> </a>
</div> </div>

View File

@ -4,7 +4,7 @@
<button type="button" id="burger" class="burger-btn" {{action 'toggleBurgerMenu'}}>&equiv;</button> <button type="button" id="burger" class="burger-btn" {{action 'toggleBurgerMenu'}}>&equiv;</button>
</div> </div>
<ul id="navigation" {{bind-attr class=":navigation is-open"}}> <ul id="navigation" class="navigation {{is-open}}">
<li><a href="http://blog.travis-ci.com">Blog</a></li> <li><a href="http://blog.travis-ci.com">Blog</a></li>
<li><a href="http://www.traviscistatus.com/">Status</a></li> <li><a href="http://www.traviscistatus.com/">Status</a></li>
@ -29,25 +29,27 @@
</p> </p>
<ul class="navigation-nested"> <ul class="navigation-nested">
<li> <li>
<a {{bind-attr href="config.urls.imprint"}}>Imprint</a> <a href={{config.urls.imprint}}>Imprint</a>
</li> </li>
<li> <li>
<a {{bind-attr href="config.urls.security"}}>Security</a> <a href={{config.urls.security}}>Security</a>
</li> </li>
<li> <li>
<a {{bind-attr href="config.urls.terms"}}>Terms</a> <a href={{config.urls.terms}}>Terms</a>
</li> </li>
</ul> </ul>
</li> </li>
{{/if}} {{/if}}
<li {{bind-attr class="view.classProfile :navigation-sub"}}> <li class="{{view.classProfile}} navigation-sub">
<p class="handle navigation-handle"> <p class="handle navigation-handle">
{{#if auth.signedOut}} {{#if auth.signedOut}}
<button class="signed-out button--signin" {{action "signIn" target="auth"}}>Sign in with GitHub</button> <button class="signed-out button--signin" {{action "signIn" target="auth"}}>Sign in with GitHub</button>
{{/if}} {{/if}}
{{#if auth.signedIn}} {{#if auth.signedIn}}
{{#link-to "profile" class="signed-in"}}{{userName}}<img {{bind-attr src="gravatarUrl"}}/>{{/link-to}} {{#link-to "profile" class="signed-in"}}{{userName}}
<img src={{gravatarUrl}} />
{{/link-to}}
{{/if}} {{/if}}
{{#if auth.signingIn}} {{#if auth.signingIn}}
<button class="signing-in button--signingin">Signing In <span class="loading-indicator--white"><i></i><i></i><i></i></span></button> <button class="signing-in button--signingin">Signing In <span class="loading-indicator--white"><i></i><i></i><i></i></span></button>
@ -60,7 +62,7 @@
</li> </li>
{{#if config.billingEndpoint}} {{#if config.billingEndpoint}}
<li> <li>
<a {{bind-attr href="config.billingEndpoint"}}>Billing</a> <a href={{config.billingEndpoint}}>Billing</a>
</li> </li>
{{/if}} {{/if}}
<li> <li>

View File

@ -3,6 +3,7 @@ languageConfigKeys = {
php: 'PHP' php: 'PHP'
node_js: 'Node.js' node_js: 'Node.js'
perl: 'Perl' perl: 'Perl'
perl6: 'Perl6'
python: 'Python' python: 'Python'
scala: 'Scala' scala: 'Scala'
ruby: 'Ruby' ruby: 'Ruby'

View File

@ -23,6 +23,24 @@ Log.Scroll.prototype = $.extend new Log.Listener,
$('#main').scrollTop(0) $('#main').scrollTop(0)
$('html, body').scrollTop(element.offset()?.top - (window.innerHeight / 3)) # weird, html works in chrome, body in firefox $('html, body').scrollTop(element.offset()?.top - (window.innerHeight / 3)) # weird, html works in chrome, body in firefox
Log.Limit = (max_lines, limitedLogCallback) ->
@max_lines = max_lines || 1000
@limitedLogCallback = limitedLogCallback || (->)
this
Log.Limit.prototype = Log.extend new Log.Listener,
count: 0,
insert: (log, node, pos) ->
if node.type == 'paragraph' && !node.hidden
@count += 1
if @limited
@limitedLogCallback()
return @count
Object.defineProperty Log.Limit.prototype, 'limited',
get: ->
@count >= @max_lines
View = BasicView.extend View = BasicView.extend
templateName: 'jobs/pre' templateName: 'jobs/pre'
currentUserBinding: 'controller.auth.currentUser' currentUserBinding: 'controller.auth.currentUser'
@ -66,7 +84,10 @@ View = BasicView.extend
console.log 'log view: create engine' if Log.DEBUG console.log 'log view: create engine' if Log.DEBUG
@scroll = new Log.Scroll beforeScroll: => @scroll = new Log.Scroll beforeScroll: =>
@unfoldHighlight() @unfoldHighlight()
@engine = Log.create(limit: Log.LIMIT, listeners: [@scroll]) @limit = new Log.Limit Log.LIMIT, =>
@set('limited', true)
@engine = Log.create(listeners: [@scroll, @limit])
@engine.limit = @limit
@logFolder = new LogFolder(@$().find('#log')) @logFolder = new LogFolder(@$().find('#log'))
@lineSelector = new LinesSelector(@$().find('#log'), @scroll, @logFolder) @lineSelector = new LinesSelector(@$().find('#log'), @scroll, @logFolder)
@observeParts() @observeParts()
@ -85,13 +106,8 @@ View = BasicView.extend
console.log 'log view: parts did change' if Log.DEBUG console.log 'log view: parts did change' if Log.DEBUG
for part, i in parts.slice(start, start + added) for part, i in parts.slice(start, start + added)
# console.log "limit in log view: #{@get('limited')}" # console.log "limit in log view: #{@get('limited')}"
break if @get('limited') break if @engine?.limit?.limited
@engine.set(part.number, part.content) @engine.set(part.number, part.content)
@propertyDidChange('limited')
limited: (->
@engine?.limit?.limited
).property()
plainTextLogUrl: (-> plainTextLogUrl: (->
if id = @get('log.job.id') if id = @get('log.job.id')

10
ci/prepare_testem.rb Normal file
View File

@ -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 }

View File

@ -39,6 +39,6 @@
"ember-cli-uglify": "1.0.1", "ember-cli-uglify": "1.0.1",
"ember-data": "1.0.0-beta.16.1", "ember-data": "1.0.0-beta.16.1",
"ember-export-application-global": "^1.0.2", "ember-export-application-global": "^1.0.2",
"ember-try": "0.0.5" "ember-try": "0.0.7"
} }
} }

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 18.7 18.7" enable-background="new 0 0 18.7 18.7" xml:space="preserve">
<path fill="#C9A92D" d="M9.3,0C4.2,0,0,4.2,0,9.3s4.2,9.3,9.3,9.3s9.3-4.2,9.3-9.3S14.5,0,9.3,0z M14.3,8.4L6.9,9.1v5.7H5.6V4.7h0
V3.8l8.6,0.8l-2.5,1.8L14.3,8.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 523 B

View File

@ -3,9 +3,11 @@
"test_page": "tests/index.html?hidepassed", "test_page": "tests/index.html?hidepassed",
"launch_in_ci": [ "launch_in_ci": [
"SL_chrome", "SL_chrome",
"SL_firefox" "SL_firefox",
"PhantomJS"
], ],
"launch_in_dev": [ "launch_in_dev": [
"PhantomJS"
], ],
"launchers": { "launchers": {
"SL_chrome": { "SL_chrome": {