-
Notifications
You must be signed in to change notification settings - Fork 119
TF-4269 Enable sentry for iOS #4271
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
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
bab9d4f
TF-4269 Integrate Sentry into iOS NSE and automate dSYM upload in CI
dab246 149ce08
Bump version to v0.28.3-rc07
dab246 37dc22a
TF-4269 Fix Sentry dSYM upload: find xcarchive via find instead of gy…
dab246 f81ba99
Bump version to v0.28.3-rc08
dab246 b98c76e
TF-4269 Fix Sentry
dab246 be7c390
Bump version to v0.28.3-rc09
dab246 99b68d1
TF-4269 Fix Sentry release version sync across platforms
dab246 f335871
Bump version to v0.28.3-rc10
dab246 330c8cb
TF-4269 Apply PR review: breadcrumbs, log error details, and code cle…
dab246 97a8d0d
Bump version to v0.28.4-rc01
hoangdat 2700782
TF-4269 Replace addBreadcrumb with capture at all early-return paths …
dab246 80b9b9b
TF-4269 Read sentry_release from pubspec.yaml in Fastfile for iOS and…
dab246 7535f7f
ADR for release version for mobile
hoangdat 2b07f3e
TF-4269 Fix misleading comments and add NSE breadcrumb for background…
dab246 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # 0084. Sentry Release Version Strategy (Mobile) | ||
|
|
||
| Date: 2026-04-22 | ||
|
|
||
| ## Status | ||
|
|
||
| Accepted | ||
|
|
||
| ## Context | ||
|
|
||
| > **Scope: iOS and Android mobile only.** Web uses a separate Sentry project and version injection mechanism. | ||
|
|
||
| Sentry requires the release version reported by the app to exactly match the release version used when uploading debug symbols (dSYMs / source maps). A mismatch breaks symbolication — crash stack traces become unreadable. | ||
|
|
||
| There are three version sources that must stay in sync: | ||
|
|
||
| 1. **Git tag** — Fastlane reads this via `last_git_tag` and injects it as `SENTRY_RELEASE` into the app via `dart-define` (base64-encoded `DART_DEFINES`) | ||
| 2. **`pubspec.yaml` version** — used by CI only for base-version validation; **not** used as `SENTRY_RELEASE` | ||
| 3. **`CFBundleShortVersionString` (iOS)** — derived from pubspec; Apple requires `X.Y.Z` format only — no `-rc` suffix allowed | ||
|
|
||
| The challenge: RC builds use a `-rcXX` suffix in the tag (e.g. `v0.28.5-rc01`), but Apple rejects that suffix in `CFBundleShortVersionString`. | ||
|
|
||
| ## Decision | ||
|
|
||
| **Rule: pubspec version = git tag base version (no `-rc` suffix). The pubspec version is used as `SENTRY_RELEASE` in both the app and CI.** | ||
|
|
||
| | Source | RC build example | Final release example | | ||
| |---|---|---| | ||
| | Git tag | `v0.28.5-rc01` | `v0.28.5` | | ||
| | pubspec version | `0.28.5` | `0.28.5` | | ||
| | App Store / CFBundleShortVersionString | `0.28.5` ✅ | `0.28.5` ✅ | | ||
| | SENTRY_RELEASE (app + CI) | `0.28.5` | `0.28.5` | | ||
|
|
||
| ### What breaks if you deviate | ||
|
|
||
| | Mistake | Result | | ||
| |---|---| | ||
| | pubspec = `0.28.5-rc01`, tag = `v0.28.5-rc01` | Apple rejects the iOS build (`CFBundleShortVersionString` must be `X.Y.Z`) | | ||
| | pubspec = `0.28.5-rc01`, tag = `v0.28.5` | Validation passes but app reports `"0.28.5"`, CI uploads to `"0.28.5-rc01"` → mismatch | | ||
|
|
||
| ## Consequences | ||
|
|
||
| - pubspec always stays App Store-safe (`X.Y.Z`, no suffix) | ||
| - RC distinction lives only in the git tag | ||
| - CI validates base version consistency; pubspec version drives `SENTRY_RELEASE` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.