Merge branch 'job-matrix'

This commit is contained in:
Lisa Passing 2015-03-16 15:04:51 +01:00
commit 4e7c64d45e
18 changed files with 335 additions and 140 deletions

View File

@ -23,7 +23,7 @@
@import "app/main/log";
// @import "app/main/repository";
@import "app/main/sponsors";
@import "app/main/summary";
// @import "app/main/summary";
// @import "app/main/tools";
@import "app/main";
@import "app/maximize";
@ -37,7 +37,7 @@
@import "app/right/sponsors";
@import "app/right";
@import "app/settings";
@import "app/stats";
// @import "app/stats";
@import "app/status";
@import "app/tabs";
@import "app/tipsy";
@ -53,6 +53,7 @@
@import "app/modules/search";
@import "app/modules/dropdown";
@import "app/modules/tabs";
@import "app/modules/tooltips";
@import "app/layout";
@import "app/layouts/dashboard";

View File

@ -4,7 +4,7 @@ $font-size-sm: 14px
$line-height-m: 1.3
// colors
$teal1: #5FA5A4
$teal1: #5BA5A4
$teal2: #63A4A3
$blue-grey: #404650
@ -35,6 +35,7 @@ $start-color: #D2C93B
$start-bg-color: #D2CA24
$cancel-color: #A1A0A0
$dropdown-color: $teal1
$created-color: #CDBC2C
$dashboard-text-color: #9d9fa1
@ -68,7 +69,7 @@ $log-header-bg: #444444
// new build header
$font-size-xxl: 30px
$grey1: #A5ACAD
$grey1: #A6ADAD
$grey2: #969496
$grey3: #808080
$grey4: #e6e8e8

View File

@ -5,7 +5,7 @@
.repo-header
header
margin: 1rem 0 3rem
margin: 1rem 0 2.4rem
> *
vertical-align: middle
@ -54,9 +54,16 @@
.repo-main
.button--showmore
margin-top: 2em
.build-title
margin-top: 2.5rem
color: $grey1
font-size: $font-size-sm
& span:hover + .tooltip
display: block
.repo-main-commit
position: relative
padding-bottom: 0.5em
&,
small
margin: 0
@ -64,6 +71,8 @@
font-size: $font-size-m
color: $grey3
line-height: 1
a
color: $grey3
small
margin-right: .3em
font-weight: 600
@ -74,9 +83,12 @@
@include fadeOut(right, -90deg, $cream-light)
.repo-main-description
p:not(.body)
color: $grey3
a
color: $grey3
p
margin: .5em 0 0
margin: 0
@media #{$medium-up}
position: relative
height: 4.9em
@ -133,3 +145,9 @@
height: 1.05em
.icon--codeclimate
width: 1.2em
.build-os
text-transform: capitalize

View File

@ -133,4 +133,18 @@ $button-border-color: #d4d4d4
height: 0.7em
margin-right: .5em
.button--help
position: relative
top: .4em
left: .5em
width: 1.4rem
height: 1.4rem
background: $grey1
border: none
&:hover
background-color: $teal1
.icon--question
@extend %absolute-center
width: 0.6em
height: 0.9em

View File

@ -36,20 +36,20 @@
.icon-star
background-image: inline-image('dashboard/star-off.svg')
.icon.errored
.icon-status.errored
background-image: inline-image('dashboard/status-errored.svg')
.icon.failed
.icon-status.failed
background-image: inline-image('dashboard/status-failed.svg')
.icon.canceled
.icon-status.canceled
background-image: inline-image('dashboard/status-cancelled.svg')
.icon.passed
.icon-status.passed
background-image: inline-image('dashboard/status-passed.svg')
.icon.started,
.icon.created
.icon-status.started,
.icon-status.created
background-image: inline-image('dashboard/status-pending.svg')
.icon.push
@ -85,18 +85,36 @@
.icon--env
background-image: inline-image('svg/icon-environment.svg')
.icon--cross-red
.icon--cross-red,
.icon--job.failed
background-image: inline-image('svg/icon-job-failed.svg')
.icon--check-green
.icon--check-green,
.icon--job.passed
background-image: inline-image('svg/icon-job-passed.svg')
.icon--error-grey,
.icon--job.errored
background-image: inline-image('svg/icon-job-errored.svg')
.icon--job.started,
.icon--job.created,
.icon--job.received,
.icon--started-yellow
background-image: inline-image('svg/icon-job-started.svg')
.icon--lang
background-image: inline-image('svg/icon-language.svg')
.icon--linux
.icon--linux,
.icon.linux
background-image: inline-image('svg/icon-linux.svg')
.icon--mac
.icon--mac,
.icon.mac
background-image: inline-image('svg/icon-mac.svg')
.icon--eye
background-image: inline-image('svg/icon-showmore.svg')
.icon--question
background-image: inline-image('svg/icon-help.svg')
.icon-tab-arrow
background-image: inline-image('svg/icon-tab-arrow.svg')
.icon-arrow-down

View File

@ -44,16 +44,18 @@
position: relative
padding-left: 1em
&:before
content: "\003E"
content: ""
display: block
position: absolute
color: $grey4
left: -0.5em
width: .6em
height: 1em
font-size: 29px
line-height: 1
transform: scale(0.6, 1.6)
top: 0.4em
left: -0.7em
width: .7em
height: 1.3em
background:
size: 100%
repeat: no-repeat
@extend .icon-tab-arrow
.tabbody

View File

@ -6,28 +6,51 @@
.build-status a
color: $color
@mixin colorJobs($color)
.build-status a
color: $color
.tile
@extend border-radius-4px
overflow: hidden
position: relative
padding: .8rem .8rem .8rem 3rem
background-color: $cream-light
p
margin: 0
white-space: nowrap
.icon
vertical-align: middle
.icon--lang
width: 1.2em
height: 0.9em
&.started,
&.created
@include colorTiles($start-color)
&.failed
@include colorTiles($fail-color)
&.errored
@include colorTiles($error-color)
&.canceled
@include colorTiles($cancel-color)
&.passed
@include colorTiles($pass-color)
&.inactive
@include colorTiles($cancel-color)
&:not(.tile--jobs)
&.started,
&.created
@include colorTiles($start-color)
&.failed
@include colorTiles($fail-color)
&.errored
@include colorTiles($error-color)
&.canceled
@include colorTiles($cancel-color)
&.passed
@include colorTiles($pass-color)
&.inactive
@include colorTiles($cancel-color)
&.tile--jobs
&.failed
@include colorJobs($fail-color)
&.errored
@include colorJobs(#939292)
&.passed
@include colorJobs($pass-color)
&.started,
&.created,
&.received
@include colorJobs($created-color)
@media #{$medium-up}
height: 145px
@ -103,6 +126,8 @@
width: 1.1em
height: 1.6em
margin: -0.5em auto 0
.icon--job
@extend %absolute-center
.tile-author
img
@ -137,3 +162,45 @@
.tile-additional
@media #{$xlarge-up}
@include grid-column(4)
// job matrix
.tile--jobs
margin-bottom: 0.3em
@media #{$medium-up}
height: 64px
.tile-main
color: #7d8282
// variations if env and/or code are set
p.tile-single-line
padding: 0
line-height: 1.4
&:only-of-type
padding: .7em 0
.icon--env
height: 1.2em
.icon--code
width: 1.3em
height: 1.2em
.icon
margin-right: .3em
.icon.mac
height: 1.6em
@media #{$medium-up}
margin-left: -0.3em
white-space: nowrap
overflow: hidden
border-right: solid 1px $grey4
&:after
@include fadeOut(right, -90deg, $cream-light)
@media #{$xlarge-up}
@include grid-column(5)
.tile-additional
@media #{$xlarge-up}
@include grid-column(7)
p.tile-single-line
padding: .7em 0
.icon--code
width: 1.3em
height: 1.1em

View File

@ -0,0 +1,42 @@
$tooltip-grey: #6A6C6D
.tooltip
position: relative
display: none
.tooltip-inner
position: absolute
bottom: 0
right: 0
background: $tooltip-grey
color: $white
font-size: $font-size-small
line-height: 18px
text-align: center
padding: 8px 5px
@extend %border-radius-4px
&:after
content: ''
position: absolute
top: 98%
right: 3em
width: 0
height: 0
border-top: 13px solid $tooltip-grey
border-right: 13px solid transparent
border-left: 13px solid transparent
@media #{$small-only}
bottom: -2.5em
@media #{$medium-up}
width: 25rem
.tooltip-inner
height: 4.1em
top: -8em
left: 4em
&:after
left: 4.1em

View File

@ -18,7 +18,9 @@
{{/if}}
</h2>
<div class="repo-main-description">
<p>{{format-message build.commit.subject repoBinding=build.repo}}</p>
{{#if build.pullRequest}}
<p>{{format-message build.commit.subject repoBinding=build.repo}}</p>
{{/if}}
<pre class="body">{{format-message build.commit.body repoBinding=build.repo pre=true}}</pre>
</div>
<div class="tile-author">

View File

@ -1,66 +1,56 @@
{{#if view.jobs.length}}
<table {{bind-attr id=view.jobTableId}} class="list">
{{#if view.required}}
<caption>
Build Matrix
</caption>
{{else}}
<caption>
Allowed Failures
<a title="What's this?" class="help open-popup"
name="help-allowed_failures" {{action "openHelpPopup" target=view}}></a>
</caption>
{{/if}}
<thead>
<tr>
{{#each key in view.build.configKeys}}
<th>{{key}}</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#each job in view.jobs}}
{{#view 'jobs-item' context=job}}
<td class="number">
<span class="status"></span>
{{#if job.id}}
{{#if job.repo.slug}}
{{#link-to "job" repo job}}{{number}}{{/link-to}}
{{/if}}
{{/if}}
</td>
<td class="duration" {{bind-attr title="startedAt"}}>
{{format-duration duration}}
</td>
<td class="finished_at timeago" {{bind-attr title="formattedFinishedAt"}}>
{{format-time finishedAt}}
</td>
{{#each value in configValues}}
<td>{{value}}</td>
{{/each}}
{{/view}}
{{/each}}
</tbody>
</table>
<section {{bind-attr id=view.jobTableId}}>
{{#unless view.required}}
<div id="help-allowed_failures" class="popup">
<a href="#" class="close" {{action "popupClose" target=view}}></a>
<h4></h4>
<p>
Allowed Failures are items in your build matrix that are allowed to
fail without causing the entire build to be shown as failed.
</p>
<p>
You can define allowed failures in the build matrix as follows:
</p>
<pre>matrix:
allow_failures:
- rvm: ruby-head</pre>
<p>
This lets you add in experimental and preparatory builds to test against versions or
configurations that you are not ready to officially support.
</p>
</div>
{{/unless}}
{{#if view.required}}
<h2 class="build-title">Build Jobs</h2>
{{else}}
<h2 class="build-title">Allowed Failures
<span class="btn button-circle button--help"><span class="icon icon--question"></span></span>
<div class="tooltip">
<p class="tooltip-inner">These are jobs you can allow to fail without failing your entire build</p>
</div>
</h2>
{{/if}}
{{#each job in view.jobs}}
{{#view 'jobs-item' context=job}}
<div {{bind-attr class=":tile :tile--small :tile--jobs :row job.state" }}>
<div class="tile-status tile-status--job">
<span {{bind-attr class=":icon :icon--job job.state"}}></span>
</div>
<div class="tile-main medium-4 columns">
{{#if config.env}}
<p class="build-env tile-single-line"><span class="icon icon--env"></span>{{config.global_env}} {{config.env}}</p>
{{/if}}
{{#if view.languages}}
<p class="build-lang tile-single-line"><span class="icon icon--lang"></span>{{view.languages}}</p>
{{/if}}
</div>
<div class="tile-additional medium-8 columns end">
<p class="columns small-6 medium-2 large-3 tile-single-line build-status">
<span class="icon icon--hash"></span>
{{#if job.id}}
{{#if job.repo.slug}}
{{#link-to "job" repo job}}{{number}}{{/link-to}}
{{/if}}
{{/if}}
</p>
<p class="columns small-6 medium-4 large-3 tile-single-line" {{bind-attr title="startedAt"}}>
<span class="icon icon--clock"></span>
{{format-duration duration}}
</p>
<p class="columns small-6 medium-5 large-5 tile-single-line" {{bind-attr title="formattedFinishedAt"}}>
<span class="icon icon--cal"></span>
{{format-time finishedAt}}
</p>
<p class="columns small-6 medium-1 large-1 tile-single-line build-os"><span {{bind-attr class=":icon config.os"}}></span>{{config.os}}</p>
</div>
</div>
{{/view}}
{{job.configKeys}}
{{/each}}
</section>
{{/if}}

View File

@ -0,0 +1 @@
There was an error while loading data.

View File

@ -1,27 +1,33 @@
configKeysMap = {
languageConfigKeys = {
go: 'Go'
rvm: 'Ruby'
gemfile: 'Gemfile'
env: 'ENV'
jdk: 'JDK'
otp_release: 'OTP Release'
php: 'PHP'
node_js: 'Node.js'
perl: 'Perl'
python: 'Python'
scala: 'Scala'
compiler: 'Compiler'
ghc: 'GHC'
os: 'OS'
ruby: 'Ruby'
xcode_sdk: 'Xcode SDK'
xcode_scheme:'Xcode Scheme'
d: 'D'
julia: 'Julia'
csharp: 'C#'
mono: 'Mono'
dart: 'Dart'
elixir: 'Elixir'
ghc: 'GHC'
jdk: 'JDK'
rvm: 'Ruby'
otp_release: 'OTP Release'
}
configKeys = {
env: 'ENV'
gemfile: 'Gemfile'
xcode_sdk: 'Xcode SDK'
xcode_scheme:'Xcode Scheme'
compiler: 'Compiler'
os: 'OS'
}
configKeysMap = Ember.merge configKeys, languageConfigKeys
`export default configKeysMap`
`export { languageConfigKeys, configKeys }`

View File

@ -1,8 +1,9 @@
`import BasicView from 'travis/views/basic'`
`import { colorForState } from 'travis/utils/helpers'`
`import { languageConfigKeys } from 'travis/utils/keys-map';`
View = BasicView.extend
tagName: 'tr'
tagName: 'div'
classNameBindings: ['color']
repoBinding: 'context.repo'
jobBinding: 'context'
@ -11,4 +12,15 @@ View = BasicView.extend
colorForState(@get('job.state'))
).property('job.state')
languages: (->
output = []
if config = @get('job.config')
for key, languageName of languageConfigKeys
if version = config[key]
output.push(languageName + ': ' + version)
output.join(' ')
).property()
`export default View`

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<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"
width="63.279px" height="62.667px" viewBox="0 0 63.279 62.667" enable-background="new 0 0 63.279 62.667" xml:space="preserve">
<g>
<path fill="#9B9A89" d="M41.27,6.869c0.281-1.238,0.803-2.124,1.562-2.66c0.76-0.534,1.533-0.745,2.322-0.633
c0.787,0.114,1.49,0.521,2.109,1.224c0.619,0.705,0.9,1.675,0.846,2.913c-0.283,1.857-0.535,3.702-0.76,5.53
c-0.227,1.83-0.479,3.645-0.76,5.446h9.623c1.07,0.337,1.857,0.844,2.365,1.52c0.506,0.675,0.744,1.365,0.717,2.068
c-0.029,0.705-0.324,1.38-0.887,2.026c-0.562,0.647-1.379,1.084-2.447,1.309H45.661c-0.281,1.802-0.521,3.575-0.717,5.319
c-0.199,1.745-0.438,3.49-0.719,5.234h9.709c1.068,0.338,1.857,0.845,2.365,1.52c0.506,0.676,0.744,1.365,0.717,2.068
c-0.029,0.705-0.324,1.38-0.887,2.026c-0.562,0.648-1.379,1.085-2.447,1.309H43.298c-0.283,2.14-0.564,4.264-0.844,6.374
c-0.283,2.111-0.564,4.236-0.846,6.375c-0.395,1.013-0.957,1.744-1.688,2.195c-0.732,0.449-1.451,0.633-2.154,0.548
c-0.703-0.084-1.35-0.422-1.941-1.013c-0.59-0.591-0.943-1.45-1.055-2.575c0.281-1.97,0.549-3.953,0.803-5.952
c0.252-1.997,0.52-3.981,0.801-5.952H22.106c-0.282,2.14-0.578,4.264-0.887,6.374c-0.31,2.111-0.605,4.236-0.886,6.375
c-0.395,1.013-0.958,1.744-1.689,2.195c-0.732,0.449-1.45,0.633-2.153,0.548c-0.704-0.084-1.351-0.422-1.941-1.013
c-0.591-0.591-0.943-1.45-1.056-2.575c0.281-1.97,0.549-3.953,0.802-5.952c0.253-1.997,0.52-3.981,0.802-5.952H6.993
c-1.238-0.169-2.153-0.604-2.744-1.309c-0.591-0.703-0.874-1.463-0.844-2.279c0.028-0.815,0.365-1.562,1.013-2.237
c0.646-0.676,1.589-1.041,2.828-1.098h8.78c0.281-1.744,0.52-3.489,0.718-5.234c0.197-1.744,0.436-3.517,0.718-5.319H9.611
c-1.238-0.169-2.153-0.604-2.744-1.309c-0.591-0.703-0.873-1.463-0.844-2.28c0.028-0.815,0.365-1.562,1.013-2.237
c0.646-0.675,1.589-1.041,2.828-1.097h8.527c0.281-1.97,0.549-3.926,0.802-5.868c0.253-1.941,0.52-3.896,0.802-5.868
c0.281-1.237,0.802-2.124,1.562-2.659c0.76-0.534,1.533-0.746,2.322-0.633c0.788,0.113,1.491,0.521,2.11,1.224
c0.619,0.705,0.9,1.675,0.844,2.913l-1.52,10.891h14.269c0.281-1.97,0.562-3.939,0.844-5.91
C40.708,10.809,40.989,8.839,41.27,6.869z M38.02,30.93c0.197-1.744,0.408-3.517,0.633-5.319H24.385
c-0.226,1.802-0.451,3.575-0.675,5.319c-0.226,1.745-0.451,3.49-0.675,5.234h14.269C37.585,34.42,37.823,32.675,38.02,30.93z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<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"
width="5px" height="9px" viewBox="0 0 5 9" enable-background="new 0 0 5 9" xml:space="preserve">
<path fill="#FFFFFF" d="M2.187,6.817c-0.304,0-0.578,0.096-0.78,0.294C1.199,7.31,1.096,7.592,1.098,7.902
C1.096,8.216,1.199,8.498,1.405,8.7C1.605,8.902,1.877,9,2.18,9c0.002,0,0.004,0,0.007,0c0.318,0.002,0.6-0.094,0.805-0.3
c0.204-0.202,0.306-0.484,0.305-0.798C3.297,7.592,3.195,7.31,2.989,7.111C2.783,6.911,2.502,6.817,2.187,6.817z"/>
<path fill="#FFFFFF" d="M2.568,0C2.029,0,1.562,0.068,1.167,0.208C0.782,0.347,0.439,0.521,0.139,0.734L0,0.833L0.738,2.31
l0.178-0.127c0.09-0.066,0.193-0.128,0.311-0.192c0.115-0.062,0.237-0.117,0.364-0.166c0.125-0.044,0.25-0.081,0.375-0.106
c0.124-0.025,0.238-0.038,0.345-0.038c0.35,0,0.554,0.083,0.638,0.181C3.056,1.985,3.115,2.142,3.116,2.38
c-0.001,0.176-0.04,0.314-0.115,0.432c-0.086,0.136-0.198,0.27-0.334,0.4C2.523,3.351,2.368,3.495,2.201,3.646
C2.019,3.81,1.858,4.003,1.718,4.223C1.574,4.45,1.464,4.714,1.385,5.014C1.329,5.225,1.304,5.458,1.304,5.713
c0,0.13,0.006,0.265,0.018,0.404L1.34,6.299h0.175h1.434v-0.2c0-0.305,0.05-0.542,0.136-0.713c0.096-0.192,0.211-0.361,0.347-0.509
C3.575,4.729,3.731,4.584,3.904,4.45c0.19-0.149,0.364-0.319,0.524-0.513c0.163-0.202,0.298-0.442,0.406-0.719
C4.948,2.925,5,2.572,5,2.159c0.003-0.645-0.222-1.191-0.661-1.581C3.899,0.185,3.297,0,2.568,0z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<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"
width="15.188px" height="15.229px" viewBox="0 0 15.188 15.229" enable-background="new 0 0 15.188 15.229" xml:space="preserve">
<g>
<path fill="#A0A09F" d="M6.345,9.028c0.049,0.598,0.58,1.086,1.179,1.086h0.307c0.6,0,1.13-0.488,1.18-1.086l0.654-7.941
C9.715,0.489,9.265,0,8.665,0H6.692c-0.6,0-1.05,0.489-1,1.086L6.345,9.028z"/>
<path fill="#A0A09F" d="M7.68,11.785c-0.896,0-1.609,0.713-1.609,1.609C6.071,14.289,6.783,15,7.68,15
c0.895,0,1.606-0.71,1.606-1.605C9.286,12.498,8.574,11.785,7.68,11.785z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 891 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<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"
width="15.188px" height="15.229px" viewBox="0 0 15.188 15.229" enable-background="new 0 0 15.188 15.229" xml:space="preserve">
<g>
<circle fill="#CDBC2C" cx="7.686" cy="7.369" r="2.044"/>
<circle fill="#D6C826" cx="13.143" cy="7.369" r="2.044"/>
<circle fill="#D6C826" cx="2.232" cy="7.369" r="2.044"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 690 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<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"
width="8.024px" height="14.307px" viewBox="0 0 8.024 14.307" enable-background="new 0 0 8.024 14.307" xml:space="preserve">
<polyline fill="none" stroke="#E1E1E0" stroke-width="1.9341" stroke-miterlimit="10" points="0.713,0.653 6.713,7.201
0.801,13.653 "/>
</svg>

After

Width:  |  Height:  |  Size: 635 B