CI: Fix matching previous screenshot to use glob for evergreen
Also fix variable name typo in screenshots.js
diff --git a/circle.yml b/circle.yml
index 1aadb5c..713e024 100644
--- a/circle.yml
+++ b/circle.yml
@@ -207,20 +207,13 @@
# Generate image diffs.
- |-
cd $CIRCLE_ARTIFACTS/imgs/
- for file in $(ls PINNED*); do
- prev=PREV_$file
- metric_diff=$(compare -metric AE -compose src $prev $file raw_diff.png)
- composite -alpha on raw_diff.png $prev DIFF_$file
+ for file in $(ls *.png | grep -v '^PREV_'); do
+ # if evergreen browser, browser version of previous screenshot may not match,
+ # so replace previous browser version with glob
+ prev=PREV_"$(sh -c "ls $(echo $file | sed 's/[^_]*_(evergreen)/*/')")"
+ metric_diff=$(compare -metric AE -compose src $prev $file RAW_DIFF_$file)
+ echo "Metric diff for $file: $metric_diff"
+ composite -alpha on RAW_DIFF_$file $prev DIFF_$file
done
-
- - |-
- cd $CIRCLE_ARTIFACTS/imgs/
- for file in $(ls EVERGREEN*); do
- prev=$(ls PREV_$file*)
- metric_diff=$(compare -metric AE -compose src $prev $file raw_diff.png)
- composite -alpha on raw_diff.png $prev DIFF_$file
- done
-
- - rm $CIRCLE_ARTIFACTS/imgs/raw_diff.png
post:
- killall --wait sc; true # wait for Sauce Connect to close the tunnel; ignore errors since it's just cleanup
diff --git a/script/screenshots.js b/script/screenshots.js
index bf2525c..08d743f 100644
--- a/script/screenshots.js
+++ b/script/screenshots.js
@@ -102,12 +102,12 @@
// the easy case: Firefox and IE return a screenshot of the entire webpage
if (cfg.browserName === 'Firefox' || cfg.browserName === 'Internet Explorer') {
- return browserDriver.saveScreenshot(baseDir + '/imgs/' + filename + '.png')
+ return browserDriver.saveScreenshot(baseDir + '/imgs/' + fileName + '.png')
.then(willLog(sessionName, 'saveScreenshot'))
// the hard case: for Chrome, Safari, and Edge, scroll through the page and
// take screenshots of each piece; circle.yml will stitch them together
} else {
- var piecesDir = baseDir + '/imgs/pieces/' + filename + '/';
+ var piecesDir = baseDir + '/imgs/pieces/' + fileName + '/';
fs.mkdirSync(piecesDir);
var scrollTop = 0;