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>
@ -47,7 +47,7 @@
no language set no language set
</p> </p>
{{/if}} {{/if}}
<div class="job-anchor jobs-item"> <div class="job-anchor jobs-item">
{{#if config.env}} {{#if config.env}}
<p class="job-env jobs-item build-env"> <p class="job-env jobs-item build-env">
@ -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}}
{{#if view.limited}}
<p class="warning">
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>.
</p>
{{/if}}
</div> </div>
</div> </div>
{{#if view.limited}}
<p class="warning">
This log is too long to be displayed. Please reduce the verbosity of your
build or download the <a href={{view.plainTextLogUrl}}>raw log</a>.
</p>
{{/if}}
</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>
@ -35,4 +35,4 @@
</ul> </ul>
</section> --}} </section> --}}
</div> </div>
</div> </div>

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">
{{outlet}}
{{!-- {{#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}}
{{!-- </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": {