Skip to content

Upgrade snap_diff-capybara to 2.0.0.beta4 - #624

Merged
pftg merged 4 commits into
masterfrom
upgrade/snap-diff-capybara-2.0.0.beta4
Aug 25, 2026
Merged

Upgrade snap_diff-capybara to 2.0.0.beta4#624
pftg merged 4 commits into
masterfrom
upgrade/snap-diff-capybara-2.0.0.beta4

Conversation

@pftg

@pftg pftg commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Migrate visual-regression testing 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.

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 v1 Capybara::Screenshot::Diff.* API is a same-object shim in 2.0 and is deleted in 2.1.

Changes

  • Gemfile / Gemfile.lockgem "snap_diff-capybara", "2.0.0.beta4" (drop the git source)
  • test/support/setup_snap_diff.rbCapybara::Screenshot::Diff.*SnapDiff.config.*; canonical requires (snap_diff/integrations/minitest, snap_diff/reporters/html); fail_if_newrecord = :none / :all; drop the driver knob (libvips is the only 2.1 backend)
  • test/application_system_test_case.rbSnapDiff::Os, SnapDiff::DSL, SnapDiff::Minitest::Assertions
  • .github/workflows/test.yml — bump both CI action pins to the v2.0.0.beta4 tag commit; unset CI on the record-baselines step so record = :all (bulk re-record) isn't refused under GitHub Actions
  • .okf / README / bin/dtest — update the [snap_diff] summary-line reading rule and config references to the 2.0 format

Verification

  • bin/test (critical suite) green: 38 runs, 126 assertions, 0 failures[snap_diff] 55 verified, 0 changed, 0 new (not verified)., zero deprecation warnings
  • bin/record-baselines in record = :all mode: 81 runs, 245 assertions, 0 failures[snap_diff] 0 verified, 0 changed, 0 new. 134 re-recorded (not verified)., tree reconciled clean
  • Load smoke confirmed no v1 Capybara::Screenshot* references remain in test/

Notes

  • The linux/ leg still needs its own run (CI container) — this only ran the macOS local gate.
  • No independent reviewer tooling was available in this session; the change is self-verified against the two local gates above.

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>
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f0b867a5-20cc-47a4-adbf-860dc81affb1


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

pftg and others added 3 commits August 25, 2026 23:06
.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>
@pftg
pftg merged commit cde7000 into master Aug 25, 2026
4 of 5 checks passed
@pftg
pftg deleted the upgrade/snap-diff-capybara-2.0.0.beta4 branch August 25, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant