[ ] If applicable, create follow-up issues for purchases-ios and hybrids
Motivation
Adds Emerge snapshots to purchases UI, as RevenueCat has expressed interest and we figured we'd make the process easier 😄 .
Description
Adds the basic integration necessary for getting up and running with Emerge snapshots:
Adds the Emerge gradle plugin to the testpurchasesuiandroidcompatibility module.
Worth noting that Emerge requires the plugin to be set on an application module vs a library module. @tonidero had mentioned that the Previews we want to snapshot are in :ui:revenuecatui. Given that this application module depends directly on the :ui:revenuecatui module and snapshots use a debug variant, all code should be present from that module, giving Emerge all @Previews automatically.
Adds what I believe is the necessary fastlane/CircleCI setup to invoke snapshots, but my experience here is a bit more limited.
Updates Compose BOM from 2023.05.01 to 2024.06.00, as Emerge snapshots rely on compose foundation, which can't be resolved without an update. Happy to help test this!
For the best usage, we recommend running snapshots on every commit - all PR commits and main commits. Emerge will run & snapshot all @Preview annotated functions, storing the generated snapshots based on the sha of that upload.
If the commit has a valid baseSha set and we have snapshots for that baseSha, we'll automatically compare the snapshots and let you know if there's any visual changes directly on the PR. See our snapshot docs for all functionality!
Remaining tasks for RevenueCat to implement to complete this:
[ ] Connect the Emerge GitHub app (docs). This allows us to post status checks on PRs, letting you know when a visual change has occurred.
[ ] Add the EMERGE_API_TOKEN as a GitHub secret
[ ] Wire up CircleCI variables to see the sha & baseSha in the Emerge gradle plugin config block. These are what we use for diffing snapshots.
[ ] Validate the fastlane/CircleCI setup I added is correct and what is intended.
Checklist
purchases-ios
and hybridsMotivation
Adds Emerge snapshots to purchases UI, as RevenueCat has expressed interest and we figured we'd make the process easier 😄 .
Description
Adds the basic integration necessary for getting up and running with Emerge snapshots:
testpurchasesuiandroidcompatibility
module.application
module vs a library module. @tonidero had mentioned that the Previews we want to snapshot are in:ui:revenuecatui
. Given that this application module depends directly on the:ui:revenuecatui
module and snapshots use a debug variant, all code should be present from that module, giving Emerge all@Previews
automatically.2023.05.01
to2024.06.00
, as Emerge snapshots rely on compose foundation, which can't be resolved without an update. Happy to help test this!For the best usage, we recommend running snapshots on every commit - all PR commits and main commits. Emerge will run & snapshot all
@Preview
annotated functions, storing the generated snapshots based on thesha
of that upload.If the commit has a valid
baseSha
set and we have snapshots for thatbaseSha
, we'll automatically compare the snapshots and let you know if there's any visual changes directly on the PR. See our snapshot docs for all functionality!Remaining tasks for RevenueCat to implement to complete this:
EMERGE_API_TOKEN
as a GitHub secretsha
&baseSha
in the Emerge gradle plugin config block. These are what we use for diffing snapshots.