-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Roborazzi output cache #262
Fix Roborazzi output cache #262
Conversation
e9f1106
to
4f341b5
Compare
Snapshot diff report
|
// println("Copy file ${it.absolutePath} to ${intermediateDir.get()}") | ||
// } | ||
outputDir.get().asFile.mkdirs() | ||
outputDir.get().asFile.copyRecursively( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue of not being able to see images in the output directory arises because we have configured build/intermediates/roborazzi as the output directory for the test task in order to use build/outputs/roborazzi as its input directory. This configuration is essential for calculating image differences. Therefore, when Gradle loads the cache, it only loads the intermediate directory from the cache. However, we did not copy the contents of the intermediate directory to the output directory. To resolve this, we now copy the intermediate directory to the output directory whenever the test task is skipped.
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi) | plugin | minor | `1.9.0` -> `1.10.0` | | [io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.9.0` -> `1.10.0` | | [io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.9.0` -> `1.10.0` | | [io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi) | dependencies | minor | `1.9.0` -> `1.10.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary> ### [`v1.10.0`](https://togithub.com/takahirom/roborazzi/releases/tag/1.10.0) [Compare Source](https://togithub.com/takahirom/roborazzi/compare/1.9.0...1.10.0) ##### New experimental feature ##### Custom context data for images and reports Custom context data enables the addition of information to images and reports in Roborazzi's tests, which I believe is very important. For example, it can include the test class name of a screenshot or whether it is in dark mode. You can now add custom context data using RoborazziOptions, and Roborazzi will add the test class name metadata if you use RoborazziRule. If you have any opinions about this feature, please let me know at [https://github.com/takahirom/roborazzi/issues/257](https://togithub.com/takahirom/roborazzi/issues/257). Furthermore, this opens up possibilities with AI. Given that AI now possesses multimodal capabilities, it has become feasible for AI to process images. This feature was made possible thanks to [@​sanao1006](https://togithub.com/sanao1006) 's contribution of migrating from org.json to gson. ```kotlin onView(ViewMatchers.isRoot()) .captureRoboImage( roborazziOptions = RoborazziOptions( contextData = mapOf( "context_data_key" to "context_data_value" ) ) ) } ``` <img width="1335" alt="image" src="https://github.com/takahirom/roborazzi/assets/1386930/16341681-ab11-4f1c-b231-0c5a26e1a0e2"> ##### Important bug fix Gradle attempts to load the test cache whenever possible, but there was an issue where Roborazzi couldn't restore images from the cache. This release includes a fix for this problem. Thank you, [@​francescocervone](https://togithub.com/francescocervone), for reporting this issue. ##### What's Changed - \[CI]Escape branch name by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/253](https://togithub.com/takahirom/roborazzi/pull/253) - refactor: migrating from the `org.json` Library to `Gson` by [@​sanao1006](https://togithub.com/sanao1006) in [https://github.com/takahirom/roborazzi/pull/248](https://togithub.com/takahirom/roborazzi/pull/248) - doc: Add build.gradle.kts examples by [@​sanao1006](https://togithub.com/sanao1006) in [https://github.com/takahirom/roborazzi/pull/256](https://togithub.com/takahirom/roborazzi/pull/256) - Enable adding metadata to image by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/259](https://togithub.com/takahirom/roborazzi/pull/259) - Add contextdata tabs to HTML report by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/260](https://togithub.com/takahirom/roborazzi/pull/260) - Fix Roborazzi output cache by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/262](https://togithub.com/takahirom/roborazzi/pull/262) ##### New Contributors - [@​sanao1006](https://togithub.com/sanao1006) made their first contribution in [https://github.com/takahirom/roborazzi/pull/248](https://togithub.com/takahirom/roborazzi/pull/248) **Full Changelog**: takahirom/roborazzi@1.9.0...1.10.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOTQuMyIsInVwZGF0ZWRJblZlciI6IjM3LjE5NC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi) | plugin | patch | `1.10.0` -> `1.10.1` | | [io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi) | dependencies | patch | `1.10.0` -> `1.10.1` | | [io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi) | dependencies | patch | `1.10.0` -> `1.10.1` | | [io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi) | dependencies | patch | `1.10.0` -> `1.10.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary> ### [`v1.10.1`](https://togithub.com/takahirom/roborazzi/releases/tag/1.10.1) [Compare Source](https://togithub.com/takahirom/roborazzi/compare/1.10.0...1.10.1) ##### Changes from 1.10.0 This release includes a bug fix for a Javascript error that prevented the HTML report from being displayed. ##### Changes from 1.9.0 ##### New experimental feature ##### Custom context data for images and reports Custom context data enables the addition of information to images and reports in Roborazzi's tests, which I believe is very important. For example, it can include the test class name of a screenshot or whether it is in dark mode. You can now add custom context data using RoborazziOptions, and Roborazzi will add the test class name metadata if you use RoborazziRule. If you have any opinions about this feature, please let me know at [https://github.com/takahirom/roborazzi/issues/257](https://togithub.com/takahirom/roborazzi/issues/257). Furthermore, this opens up possibilities with AI. Given that AI now possesses multimodal capabilities, it has become feasible for AI to process images. This feature was made possible thanks to [@​sanao1006](https://togithub.com/sanao1006) 's contribution of migrating from org.json to gson. ```kotlin onView(ViewMatchers.isRoot()) .captureRoboImage( roborazziOptions = RoborazziOptions( contextData = mapOf( "context_data_key" to "context_data_value" ) ) ) } ``` <img width="1335" alt="image" src="https://github.com/takahirom/roborazzi/assets/1386930/16341681-ab11-4f1c-b231-0c5a26e1a0e2"> ##### Important bug fix Gradle attempts to load the test cache whenever possible, but there was an issue where Roborazzi couldn't restore images from the cache. This release includes a fix for this problem. Thank you, [@​francescocervone](https://togithub.com/francescocervone), for reporting this issue. ##### What's Changed - \[CI]Escape branch name by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/253](https://togithub.com/takahirom/roborazzi/pull/253) - refactor: migrating from the `org.json` Library to `Gson` by [@​sanao1006](https://togithub.com/sanao1006) in [https://github.com/takahirom/roborazzi/pull/248](https://togithub.com/takahirom/roborazzi/pull/248) - doc: Add build.gradle.kts examples by [@​sanao1006](https://togithub.com/sanao1006) in [https://github.com/takahirom/roborazzi/pull/256](https://togithub.com/takahirom/roborazzi/pull/256) - Enable adding metadata to image by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/259](https://togithub.com/takahirom/roborazzi/pull/259) - Add contextdata tabs to HTML report by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/260](https://togithub.com/takahirom/roborazzi/pull/260) - Fix Roborazzi output cache by [@​takahirom](https://togithub.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/262](https://togithub.com/takahirom/roborazzi/pull/262) ##### New Contributors - [@​sanao1006](https://togithub.com/sanao1006) made their first contribution in [https://github.com/takahirom/roborazzi/pull/248](https://togithub.com/takahirom/roborazzi/pull/248) **Full Changelog**: takahirom/roborazzi@1.9.0...1.10.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOTguMCIsInVwZGF0ZWRJblZlciI6IjM3LjE5OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
close #261