Skip to content

Supporting Both Verification and Recording in a Single Gradle Task #2287

@artur-bakiev-mx51

Description

@artur-bakiev-mx51

Hey Paparazzi team!

I was wondering if you have plans to support both verification and recording in a single Gradle task—similar to how Roborazzi does it with ./gradlew verifyAndRecordRoborazziDebug. This would be super helpful for CI/CD integration.

Like many teams, we can’t rely on local snapshot generation due to rounding issues, so we need to use CI/CD workflows. Our typical process looks like this:

  • Create a test for a new screen
  • Push a PR
  • If the PR fails, generate a new screenshot and create a branch with the updated image

Right now, we basically have two options:

  • Run the verify task, and if it fails, run the record task and create a branch
  • Run the record task first, then check for any changed screenshots and create a branch if needed

Both approaches feel a bit tedious, error-prone, and not optimal for performance. It would be awesome if you could consider adding this feature to Paparazzi.

P.S. Another suggestion: making this configurable via project properties (like Paparazzi.test.verify=true) would make CI/CD scenarios even smoother. That way, we could use the same testDebug command for both local and CI/CD runs, just tweaking it with a project property for CI/CD.

P.P.S. Running something like

./gradlew verifyPaparazziDebug recordPaparazziDebug testDebugUnitTest

(similar to what mentioned here) could work too, but it’s less obvious and requires different commands for local vs. CI/CD runs.

Thanks for considering!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions