Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdds Compose screenshot testing: Gradle plugin/version/dependencies and an experimental flag; introduces screenshot preview tests and a reusable EffectCard; updates CI to run a screenshot validation step (continue-on-error) and always upload screenshot diff artifacts with 14-day retention. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as "Developer / PR"
participant CI as "GitHub Actions CI"
participant Gradle as "Gradle (validateDebugScreenshotTest)"
participant Artifact as "Actions Artifact Storage"
rect rgba(220,240,255,0.5)
Dev->>CI: Push PR / trigger workflow
end
CI->>Gradle: Run checks
CI->>Gradle: ./gradlew :aether:validateDebugScreenshotTest
Gradle-->>CI: Screenshot validation results (may continue on error)
CI->>Artifact: Upload aether/build/reports/screenshotTest/ (always)
Artifact-->>CI: Artifact stored (14d retention)
CI-->>Dev: Workflow status + artifacts link
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@gradle/libs.versions.toml`:
- Line 36: Remove the unused version catalog entries for coreKtx and the library
alias androidx-core-ktx: delete the coreKtx = "1.17.0" version declaration and
the androidx-core-ktx library declaration (the alias referencing coreKtx) from
the versions TOML, then run a Gradle sync/build to ensure no remaining
references; if any references exist, replace them with the appropriate
alternative dependency or remove the usage.
🧹 Nitpick comments (2)
gradle.properties (1)
8-9: Redundant withexperimentalPropertiesinaether/build.gradle.kts.This property is also set via
experimentalProperties["android.experimental.enableScreenshotTest"] = trueinaether/build.gradle.kts(line 32). Setting it ingradle.propertiesenables it globally for all modules, which may be broader than intended. Consider keeping it only in the module-level build file where screenshot tests actually live.aether/src/screenshotTest/kotlin/com/ms/square/aether/screenshot/EffectCard.kt (1)
10-13: Consider specifying explicit preview dimensions for deterministic screenshots.
EffectCardusesfillMaxSize(), and none of the@Previewannotations in the test files specifywidthDp/heightDp. The default preview size should be consistent across runs, but explicitly setting dimensions (either here or on the@Previewannotations) would make the expected output size obvious and guard against tooling defaults changing.Also applies to: 18-29
Summary by CodeRabbit
Tests
Chores