Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
bd709e29
Commit
bd709e29
authored
Jun 30, 2016
by
Kamil Trzcinski
Committed by
Grzegorz Bizon
Jul 21, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use `scripts/merge-simplecov`
parent
647da42a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
66 additions
and
64 deletions
+66
-64
.gitlab-ci.yml
.gitlab-ci.yml
+1
-1
lib/tasks/ci/simplecov.rake
lib/tasks/ci/simplecov.rake
+0
-63
scripts/merge-simplecov
scripts/merge-simplecov
+65
-0
No files found.
.gitlab-ci.yml
View file @
bd709e29
...
...
@@ -65,7 +65,7 @@ update-coverage:
<<
:
*knapsack-state
stage
:
post-test
script
:
-
bundle exec
rake ci:simplecov:merge
-
bundle exec
scripts/merge-simplecov
artifacts
:
paths
:
-
coverage/
...
...
lib/tasks/ci/simplecov.rake
deleted
100644 → 0
View file @
647da42a
require
'simplecov'
namespace
:ci
do
namespace
:simplecov
do
desc
'GitLab CI | Merge all coverage results and generate report'
task
merge: :environment
do
merged_result
.
format!
end
private
def
read
(
file
)
return
unless
File
.
exist?
(
file
)
data
=
File
.
read
(
file
)
return
if
data
.
nil?
||
data
.
length
<
2
data
end
def
load
(
file
)
begin
JSON
.
parse
(
read
(
file
))
rescue
{}
end
end
def
files
Dir
.
glob
(
File
.
join
(
SimpleCov
.
coverage_path
,
'*/.resultset.json'
))
end
def
resultsfiles
files
.
map
{
|
file
|
load
(
file
)
}
end
def
resultsets
resultsfiles
.
reduce
({},
:merge
)
end
def
all_results
results
=
[]
resultsets
.
each
do
|
command_name
,
data
|
result
=
SimpleCov
::
Result
.
from_hash
(
command_name
=>
data
)
# Only add result if the timeout is above the configured threshold
if
(
Time
.
now
-
result
.
created_at
)
<
SimpleCov
.
merge_timeout
results
<<
result
end
end
results
end
def
merged_result
merged
=
{}
results
=
all_results
results
.
each
do
|
result
|
merged
=
result
.
original_result
.
merge_resultset
(
merged
)
end
result
=
SimpleCov
::
Result
.
new
(
merged
)
# Specify the command name
result
.
command_name
=
results
.
map
(
&
:command_name
).
sort
.
join
(
", "
)
result
end
end
end
scripts/merge-simplecov
0 → 100755
View file @
bd709e29
#!/usr/bin/env ruby
begin
load
File
.
expand_path
(
'../spring'
,
__FILE__
)
rescue
LoadError
=>
e
raise
unless
e
.
message
.
include?
(
'spring'
)
end
require
'simplecov'
def
read
(
file
)
return
unless
File
.
exist?
(
file
)
data
=
File
.
read
(
file
)
return
if
data
.
nil?
||
data
.
length
<
2
data
end
def
load
(
file
)
begin
JSON
.
parse
(
read
(
file
))
rescue
{}
end
end
def
files
Dir
.
glob
(
File
.
join
(
SimpleCov
.
coverage_path
,
'*'
,
'.resultset.json'
))
end
def
resultsfiles
files
.
map
{
|
file
|
load
(
file
)
}
end
def
resultsets
resultsfiles
.
reduce
({},
:merge
)
end
def
all_results
results
=
[]
resultsets
.
each
do
|
command_name
,
data
|
result
=
SimpleCov
::
Result
.
from_hash
(
command_name
=>
data
)
# Only add result if the timeout is above the configured threshold
if
(
Time
.
now
-
result
.
created_at
)
<
SimpleCov
.
merge_timeout
results
<<
result
end
end
results
end
def
merged_result
merged
=
{}
results
=
all_results
results
.
each
do
|
result
|
merged
=
result
.
original_result
.
merge_resultset
(
merged
)
end
result
=
SimpleCov
::
Result
.
new
(
merged
)
# Specify the command name
result
.
command_name
=
results
.
map
(
&
:command_name
).
sort
.
join
(
", "
)
result
end
SimpleCov
.
configure
do
merge_timeout
7200
end
merged_result
.
format!
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment