Skip to content

docs(snapshots): Add iOS setup guide (EME-1030)#17474

Merged
mtopo27 merged 6 commits intomtopo27/snapshots-ea-product-docsfrom
cameroncooke/eme-1030-ios-docs
Apr 27, 2026
Merged

docs(snapshots): Add iOS setup guide (EME-1030)#17474
mtopo27 merged 6 commits intomtopo27/snapshots-ea-product-docsfrom
cameroncooke/eme-1030-ios-docs

Conversation

@cameroncooke
Copy link
Copy Markdown
Contributor

DESCRIBE YOUR PR

Add iOS setup documentation for the Snapshots EA product. Covers image generation with SnapshotPreviews (recommended) and swift-snapshot-testing, local testing with sentry-cli, and CI integration with links to end-to-end examples in the Hacker News sample app.

Mirrors the structure and terminology of the Android setup guide (#17425, #17473):

  • Step 1: Generate Images — two paths (From Snapshot Previews / From an Existing Snapshot Tool)
  • Step 2: Test Locally — xcodebuild + sentry-cli upload
  • Step 3: Integrate Into CI — links to Hacker News workflows
  • Best Practices — simulator pinning, test isolation, build-once/run-many

Linked to EME-1030.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

Add an iOS snapshots setup page covering image generation with SnapshotPreviews and swift-snapshot-testing, local testing with sentry-cli, CI integration, and best practices.

Refs EME-1030
@linear-code
Copy link
Copy Markdown

linear-code Bot commented Apr 24, 2026

EME-1030 iOS Docs

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sentry-docs Ready Ready Preview, Comment Apr 27, 2026 2:28pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
develop-docs Ignored Ignored Preview Apr 27, 2026 2:28pm

Request Review

@codeowner-assignment codeowner-assignment Bot requested a review from a team April 24, 2026 13:55
@cameroncooke cameroncooke changed the base branch from master to mtopo27/snapshots-ea-product-docs April 24, 2026 13:56
@cameroncooke cameroncooke marked this pull request as ready for review April 24, 2026 13:57
@cameroncooke cameroncooke requested review from mtopo27 April 24, 2026 13:57
Comment thread docs/platforms/apple/common/snapshots/index.mdx Outdated
Comment thread docs/platforms/apple/common/snapshots/index.mdx
For end-to-end iOS examples, see the workflows in our [Hacker News sample app](https://github.com/EmergeTools/hackernews):

- [SnapshotPreviews workflow](https://github.com/EmergeTools/hackernews/blob/main/.github/workflows/ios_sentry_upload_snapshots.yml) — builds once, fans out across multiple simulators in a matrix, then aggregates all images into a single upload.
- [swift-snapshot-testing workflow](https://github.com/EmergeTools/hackernews/blob/main/.github/workflows/ios_sentry_upload_swift_snapshots.yml) — records all snapshots in one job and uploads them via the [Sentry Fastlane plugin](https://github.com/getsentry/sentry-fastlane-plugin).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thoughts on doing something like:

### Using Fastlane
Fastlane is an alternative option to uploading via the sentry-cli. 

...
then just include this content: https://github.com/getsentry/sentry-docs/pull/17375/changes#diff-da4ea75e3c8ea153daadec9c35c38b06c898a38023a312461b0ec7aeec2ff830R34

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See commit 121aa38

cameroncooke and others added 2 commits April 24, 2026 16:44
Co-authored-by: Max Topolsky <30879163+mtopo27@users.noreply.github.com>
Co-authored-by: Max Topolsky <30879163+mtopo27@users.noreply.github.com>
Document two CI upload paths for iOS snapshots: calling sentry-cli directly
or using the Sentry Fastlane plugin, including install steps, a Fastfile
lane, and a GitHub Actions example. Also tighten the intro copy and fix
code block indentation in the existing tool section.

Refs EME-1030
Copy link
Copy Markdown
Member

@philprime philprime left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one feedback point


<Include name="feature-available-for-user-group-early-adopter" />

Set up [Snapshots](/product/snapshots/) for your iOS app. Generate snapshots locally or in your own CI using your preferred snapshot library, then upload the generated images to Sentry for image diffing, visual review, and GitHub status checks.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

l: IIUC this features could also be used for any non-iOS app as it just takes screenshots as input. I believe the wording could be adapted to correctly reflect this to users.

@codeowner-assignment codeowner-assignment Bot requested a review from a team April 27, 2026 14:18
@mtopo27 mtopo27 merged commit 6a686e6 into mtopo27/snapshots-ea-product-docs Apr 27, 2026
7 of 8 checks passed
@mtopo27 mtopo27 deleted the cameroncooke/eme-1030-ios-docs branch April 27, 2026 14:18
- name: Upload snapshots to Sentry
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: bundle exec fastlane upload_snapshots --path $TEST_RUNNER_SNAPSHOTS_EXPORT_DIR
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The Fastlane command in the documentation uses --path instead of the correct path: syntax, causing the upload_snapshots lane to fail.
Severity: HIGH

Suggested Fix

Update the example command to use the correct Fastlane parameter syntax. Change run: bundle exec fastlane upload_snapshots --path $TEST_RUNNER_SNAPSHOTS_EXPORT_DIR to run: bundle exec fastlane upload_snapshots path:$TEST_RUNNER_SNAPSHOTS_EXPORT_DIR.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: docs/platforms/apple/common/snapshots/index.mdx#L143

Potential issue: The documentation at
`docs/platforms/apple/common/snapshots/index.mdx:143` provides an incorrect Fastlane
command: `bundle exec fastlane upload_snapshots --path
$TEST_RUNNER_SNAPSHOTS_EXPORT_DIR`. The `upload_snapshots` lane is defined to accept
parameters via an `options` hash, expecting `options[:path]`. However, Fastlane's syntax
for passing lane parameters is `key:value`, not `--key value`. As a result, the `--path`
argument is ignored, `options[:path]` becomes `nil`, and the `sentry_upload_snapshots`
action fails. This breaks the CI integration for any user following the documentation.

Did we get this right? 👍 / 👎 to inform future reviews.

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.

3 participants