Upgrade snap_diff-capybara to 2.0.0.beta4 - #624
Merged
Conversation
Migrate off the git-source capybara-screenshot-diff (1.12.0) to the RubyGems snap_diff-capybara 2.0.0.beta4, and adopt the canonical SnapDiff namespace before 2.1 removes the v1 API. - Gemfile/lock: gem "snap_diff-capybara", "2.0.0.beta4" (drop git source) - test config: Capybara::Screenshot::Diff.* -> SnapDiff.config.*; requires -> snap_diff/integrations/minitest + snap_diff/reporters/html - fail_if_new -> record = :none (strict) / :all (bulk re-record); drop the driver knob (libvips is the only backend 2.1 keeps) - test.yml: bump CI action pins to the beta4 tag commit; unset CI on the record-baselines step so record=:all isn't refused under GitHub Actions - .okf/docs: update the summary-line reading rule to the 2.0 format ([snap_diff] N verified, N changed, N new (not verified)) Verified locally: bin/test (critical) green - 55 verified, 0 changed, 0 new; bin/record-baselines in record=:all mode - 134 re-recorded, 0 failures. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
.dev/compose.yml now notes the host docker daemon is colima (not Docker Desktop) and that `credsStore: osxkeychain` needs docker-credential-helper installed via brew, since colima does not ship docker-credential-osxkeychain. Hit on 2026-08-25 while rebuilding the test image for the snap_diff 2.0 gem. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
perceptual_threshold moved 27 -> 25, record-mode entry 49 -> 33. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrate visual-regression testing off the git-source
capybara-screenshot-diff(1.12.0) to the RubyGemssnap_diff-capybara2.0.0.beta4, and adopt the canonicalSnapDiffnamespace before 2.1 removes the v1 API.Why
2.0 fixes four separate ways a 1.15.1 suite could pass green while comparing nothing (uncommitted baselines, inherited
GIT_DIR, stale libvips pixels, lost HTML report under parallel tests) and prints an honest[snap_diff] N verified, N changed, N new (not verified).summary on every run. The v1Capybara::Screenshot::Diff.*API is a same-object shim in 2.0 and is deleted in 2.1.Changes
gem "snap_diff-capybara", "2.0.0.beta4"(drop the git source)Capybara::Screenshot::Diff.*→SnapDiff.config.*; canonical requires (snap_diff/integrations/minitest,snap_diff/reporters/html);fail_if_new→record = :none/:all; drop thedriverknob (libvips is the only 2.1 backend)SnapDiff::Os,SnapDiff::DSL,SnapDiff::Minitest::Assertionsv2.0.0.beta4tag commit; unsetCIon the record-baselines step sorecord = :all(bulk re-record) isn't refused under GitHub Actions[snap_diff]summary-line reading rule and config references to the 2.0 formatVerification
bin/test(critical suite) green:38 runs, 126 assertions, 0 failures—[snap_diff] 55 verified, 0 changed, 0 new (not verified)., zero deprecation warningsbin/record-baselinesinrecord = :allmode:81 runs, 245 assertions, 0 failures—[snap_diff] 0 verified, 0 changed, 0 new. 134 re-recorded (not verified)., tree reconciled cleanCapybara::Screenshot*references remain intest/Notes
linux/leg still needs its own run (CI container) — this only ran the macOS local gate.