diffux_ci 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/diffux_ci-diffs.html.erb +11 -0
- data/lib/diffux_ci_runner.rb +26 -0
- data/lib/diffux_ci_uploader.rb +18 -2
- data/lib/diffux_ci_utils.rb +1 -1
- data/lib/diffux_ci_version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 487ecb122914c87206dc4e593571f405b732b71c
|
4
|
+
data.tar.gz: 7c49e81764fcf6c5e0553357cab570a7214be0b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45d01fffa9f37fceac8764c6d7d1067e987e49e423aedf736aec068df69267f5330a19c3c9a57b05d699ed20bb64b89d5df96ec122be6e9a0c651307cfbafe20
|
7
|
+
data.tar.gz: 8b2c46ca61c72880c664346f58a8ffc6efc5ae3fb14a9d5d8e2bdde22b572d90d8d1554964d4778ae251d9f8585042d6d86602437785a8b043f0bc18defe3535
|
@@ -8,11 +8,22 @@
|
|
8
8
|
<h1>Diffux-CI diffs</h1>
|
9
9
|
<p>File generated: <%= Time.now %></p>
|
10
10
|
|
11
|
+
<h2>Diffs</h2>
|
11
12
|
<% diff_images.each do |diff| %>
|
12
13
|
<h3>
|
13
14
|
<%= Rack::Utils.escape_html(diff[:description]) %> @ <%= diff[:viewport] %>
|
14
15
|
</h3>
|
15
16
|
<p><img src="<%= diff[:url] %>"></p>
|
16
17
|
<% end %>
|
18
|
+
|
19
|
+
<hr>
|
20
|
+
|
21
|
+
<h2>New examples</h2>
|
22
|
+
<% new_images.each do |image| %>
|
23
|
+
<h3>
|
24
|
+
<%= Rack::Utils.escape_html(image[:description]) %> @ <%= image[:viewport] %>
|
25
|
+
</h3>
|
26
|
+
<p><img src="<%= image[:url] %>"></p>
|
27
|
+
<% end %>
|
17
28
|
</body>
|
18
29
|
</html>
|
data/lib/diffux_ci_runner.rb
CHANGED
@@ -8,6 +8,7 @@ require 'diffux_core/snapshot_comparison_image/after'
|
|
8
8
|
require 'oily_png'
|
9
9
|
require 'diffux_ci_utils'
|
10
10
|
require 'fileutils'
|
11
|
+
require 'yaml'
|
11
12
|
|
12
13
|
def resolve_viewports(example)
|
13
14
|
configured_viewports = DiffuxCIUtils.config['viewports']
|
@@ -50,6 +51,13 @@ begin
|
|
50
51
|
fail "JavaScript errors found during initialization: \n#{errors.inspect}"
|
51
52
|
end
|
52
53
|
|
54
|
+
# Initialize a hash to store a summary of the results from the run
|
55
|
+
result_summary = {
|
56
|
+
new_examples: [],
|
57
|
+
diff_examples: [],
|
58
|
+
okay_examples: []
|
59
|
+
}
|
60
|
+
|
53
61
|
all_examples = driver.execute_script('return window.diffux.getAllExamples()')
|
54
62
|
|
55
63
|
# To avoid the overhead of resizing the window all the time, we are going to
|
@@ -169,10 +177,18 @@ begin
|
|
169
177
|
print '.'
|
170
178
|
|
171
179
|
puts " #{comparison[:diff_in_percent].round(1)}% (#{candidate_path})"
|
180
|
+
result_summary[:diff_examples] << {
|
181
|
+
description: description,
|
182
|
+
viewport: viewport['name']
|
183
|
+
}
|
172
184
|
else
|
173
185
|
# No visual difference was found, so we don't need to do any more
|
174
186
|
# work.
|
175
187
|
puts ' No diff.'
|
188
|
+
result_summary[:okay_examples] << {
|
189
|
+
description: description,
|
190
|
+
viewport: viewport['name']
|
191
|
+
}
|
176
192
|
end
|
177
193
|
else
|
178
194
|
# There was no baseline image yet, so we want to start by saving a new
|
@@ -185,9 +201,19 @@ begin
|
|
185
201
|
screenshot.save(baseline_path, :fast_rgba)
|
186
202
|
print '.'
|
187
203
|
puts " First snapshot created (#{baseline_path})"
|
204
|
+
result_summary[:new_examples] << {
|
205
|
+
description: description,
|
206
|
+
viewport: viewport['name']
|
207
|
+
}
|
188
208
|
end
|
189
209
|
end
|
190
210
|
end
|
211
|
+
|
212
|
+
result_summary_file = File.join(DiffuxCIUtils.config['snapshots_folder'],
|
213
|
+
'result_summary.yaml')
|
214
|
+
File.open(result_summary_file, 'w') do |file|
|
215
|
+
file.write result_summary.to_yaml
|
216
|
+
end
|
191
217
|
ensure
|
192
218
|
driver.quit
|
193
219
|
end
|
data/lib/diffux_ci_uploader.rb
CHANGED
@@ -17,16 +17,32 @@ class DiffuxCIUploader
|
|
17
17
|
|
18
18
|
dir = SecureRandom.uuid
|
19
19
|
|
20
|
-
|
20
|
+
result_summary = YAML.load(File.read(File.join(
|
21
|
+
DiffuxCIUtils.config['snapshots_folder'], 'result_summary.yaml')))
|
22
|
+
diff_images = result_summary[:diff_examples].map do |diff|
|
21
23
|
image = bucket.objects.build(
|
22
24
|
"#{dir}/#{diff[:description]}_#{diff[:viewport]}.png")
|
23
|
-
image.content = open(diff[:
|
25
|
+
image.content = open(DiffuxCIUtils.path_to(diff[:description],
|
26
|
+
diff[:viewport],
|
27
|
+
'diff.png'))
|
24
28
|
image.content_type = 'image/png'
|
25
29
|
image.save
|
26
30
|
diff[:url] = image.url
|
27
31
|
diff
|
28
32
|
end
|
29
33
|
|
34
|
+
new_images = result_summary[:new_examples].map do |example|
|
35
|
+
image = bucket.objects.build(
|
36
|
+
"#{dir}/#{example[:description]}_#{example[:viewport]}.png")
|
37
|
+
image.content = open(DiffuxCIUtils.path_to(example[:description],
|
38
|
+
example[:viewport],
|
39
|
+
'baseline.png'))
|
40
|
+
image.content_type = 'image/png'
|
41
|
+
image.save
|
42
|
+
example[:url] = image.url
|
43
|
+
example
|
44
|
+
end
|
45
|
+
|
30
46
|
html = bucket.objects.build("#{dir}/index.html")
|
31
47
|
path = File.expand_path(
|
32
48
|
File.join(File.dirname(__FILE__), 'diffux_ci-diffs.html.erb'))
|
data/lib/diffux_ci_utils.rb
CHANGED
data/lib/diffux_ci_version.rb
CHANGED