corralimited/SnapDiff Visual Test

Run visual regression tests with SnapDiff. Auto-discovers your preview URL from GitHub deployments — works with Vercel, Netlify, Cloudflare Pages, and any host that writes deployment statuses.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 14, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: corralimited/snapdiff-action@60f68205af87162b90a5da482dfc499cff707983 # v1.2.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
api-keySnapDiff API key (sd_live_xxx or sd_test_xxx)yes
projectProject slug or IDyes
pagesPages to test, one per line in "name=path" or "name=url" format. Paths (starting with /) are resolved against the auto-discovered preview/production URL. Full URLs are used as-is (skips auto-discovery for that page). Example: homepage=/ pricing=/pricing external=https://other-host.com/page yes
api-urlSnapDiff API base URLnohttps://api.snapdiff.ai
preview-urlOverride auto-discovery with an explicit base URL (e.g. https://staging.myapp.com). Use this if your host does not write GitHub deployment statuses.no""
extra-headersHTTP headers applied to every page capture, one per line as `Key: value`. Use to authenticate against protected previews (Vercel Protection Bypass, Cloudflare Access, basic auth, etc.). Header values are sent only on the capture request and never persisted in SnapDiff.no""
preview-environmentSubstring filter to match the GitHub deployment environment name (case-insensitive). Defaults to "preview" on pull_request events, "production" otherwise. Set to e.g. "staging" or your Vercel project alias if you have multiple environments per SHA. no""
preview-timeoutMaximum minutes to wait for the preview deployment to become availableno10
viewport-widthViewport width in CSS pixelsno1280
viewport-heightViewport height in CSS pixelsno720
full-pageCapture the entire scrollable page instead of just the viewportnofalse
github-tokenToken used to read deployment statuses. Defaults to the workflow GITHUB_TOKEN.no${{ github.token }}
waitWait for the build to finish diffing and report resultsnotrue
wait-timeoutMaximum minutes to wait for build completionno5
namedescription
build-idThe SnapDiff build ID
statusBuild status (approved, changes_requested, failed)
changed-countNumber of pages with visual changes
review-urlURL to review the build in the SnapDiff dashboard
preview-urlThe base URL that was discovered (or the explicit preview-url input)