Share a reg-suit report
Visual regression testing has an audience problem that no amount of tooling
fixes. The tool produces an image diff; the only person qualified to judge it is
a designer; the designer does not have a CI login, a .reg/ directory, or any
intention of acquiring either.
reg-suit knows this, which is why it ships publish plugins for S3, GCS and GitHub Pages. Those work, and they also mean provisioning a bucket, an IAM policy and a lifecycle rule before a single screenshot gets looked at.
The report is already a folder
npx reg-suit run
.reg/
├── index.html # the comparison UI: side-by-side, slider, blend
├── expected/ # baseline screenshots
├── actual/ # this run
└── diff/ # highlighted differences
That is a complete static report. The publish plugins only move it.
Move it with a drag instead
Drag .reg/ (or a zip of it) into Comma:
index.htmlbecomes the report body.expected/,actual/anddiff/upload alongside it, with relative references rewritten to the uploaded copies — which is what keeps the slider and side-by-side comparisons working.- Scripts run inside a sandboxed iframe (
allow-scripts, noallow-same-origin).
From CI:
npx reg-suit run || true
REPORT=$(curl -fsS -X POST "https://commareports.com/api/v1/reports" \
-H "Authorization: Bearer $COMMA_API_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n --rawfile html .reg/index.html \
--arg t "Visual diff — PR #$PR_NUMBER" '{title: $t, html: $html}')")
Images go up through POST /api/v1/reports/$REPORT_ID/assets as base64 — one
call per screenshot, worth scripting once. See the
API reference and publishing from CI.
|| true because reg-suit exits non-zero when it finds differences, which is
the run that needs a link.
Send the link to the person who can judge it
Access is set per report — private, your team, anyone signed in at your domain, or anyone with the link. For a contract designer or an external brand reviewer, link-anyone with comment rights is the setting that removes every obstacle between them and the diff. See sharing & access control.
Their verdict lands as an anchored thread on the specific comparison:
- "The 2px shift is the new line-height — approved."
- "This one is real: the badge is clipping at 320px."
Which is a far better record than a thumbs-up emoji in a channel, because it stays attached to the image it was about. See commenting on HTML.
Baseline changes get a history
Publishing each run as a report keeps a trail of what the UI looked like and when it changed — including the intentional changes, which are the ones nobody documents and everybody later asks about.
Limits
- Entry HTML: 5 MB. Assets: 25 MB per file, 250 MB and 500 files total. A large suite has three images per case, so 500 files is ~160 comparisons — publish the changed set rather than the full baseline.
- 60 requests/minute per token.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history.