Skip to content

Commit a184160

Browse files
authored
Merge branch 'main' into armcknight/fix/launch-profile-rerun
2 parents 116bbf4 + bd2afd9 commit a184160

File tree

64 files changed

+3638
-8189
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3638
-8189
lines changed

.github/workflows/benchmarking.yml

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -171,69 +171,3 @@ jobs:
171171
--config .sauce/benchmarking-config.yml \
172172
--tags benchmark \
173173
--verbose
174-
175-
build-xcframework-variant-slices:
176-
uses: ./.github/workflows/build-xcframework-variant-slices.yml
177-
with:
178-
name: Sentry
179-
suffix: "-Dynamic"
180-
variant-id: sentry-dynamic
181-
sdk-list: '["iphoneos", "iphonesimulator"]'
182-
183-
assemble-xcframework-variant:
184-
needs: build-xcframework-variant-slices
185-
uses: ./.github/workflows/assemble-xcframework-variant.yml
186-
with:
187-
name: Sentry
188-
suffix: "-Dynamic"
189-
variant-id: sentry-dynamic
190-
sdks: "iphoneos,iphonesimulator"
191-
192-
app-metrics:
193-
name: Collect app metrics
194-
runs-on: macos-15
195-
needs: assemble-xcframework-variant
196-
steps:
197-
- name: Git checkout
198-
uses: actions/checkout@v4
199-
- run: ./scripts/ci-select-xcode.sh 16.3
200-
- uses: ruby/setup-ruby@v1
201-
with:
202-
bundler-cache: true
203-
- uses: actions/cache@v4
204-
id: app-plain-cache
205-
with:
206-
path: Tests/Perf/test-app-plain.ipa
207-
key: ${{ github.workflow }}-${{ github.job }}-appplain-${{ hashFiles('fastlane/Fastfile', 'Tests/Perf/test-app-plain/**') }}
208-
- name: Build test app plain
209-
if: steps.app-plain-cache.outputs['cache-hit'] != 'true'
210-
run: bundle exec fastlane build_perf_test_app_plain
211-
env:
212-
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
213-
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
214-
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
215-
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }}
216-
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
217-
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
218-
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
219-
- uses: actions/download-artifact@v4
220-
with:
221-
pattern: xcframework-${{github.sha}}-sentry-dynamic
222-
path: Carthage/
223-
- run: find Carthage -name "Sentry-Dynamic.xcframework.zip" -print0 | xargs -t0I @ unzip @ -d Carthage
224-
- name: Build test app with sentry
225-
run: bundle exec fastlane build_perf_test_app_sentry
226-
env:
227-
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
228-
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
229-
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
230-
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }}
231-
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
232-
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
233-
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
234-
- name: Collect app metrics
235-
uses: getsentry/action-app-sdk-overhead-metrics@v1
236-
with:
237-
config: Tests/Perf/metrics-test.yml
238-
sauce-user: ${{ secrets.SAUCE_USERNAME }}
239-
sauce-key: ${{ secrets.SAUCE_ACCESS_KEY }}

.github/workflows/build-xcframework-variant-slices.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ jobs:
9191
make bump-version TO=${{ env.VERSION }}
9292
9393
- name: Build ${{inputs.name}}${{inputs.suffix}} XCFramework slice for ${{matrix.sdk}}
94-
if: startsWith(github.ref, 'refs/heads/release/') == false
9594
run: ./scripts/build-xcframework-slice.sh ${{matrix.sdk}} ${{inputs.name}} "${{inputs.suffix}}" "${{inputs.macho-type}}" "${{inputs.configuration-suffix}}"
9695
shell: bash
9796

.github/workflows/release.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,65 @@ jobs:
172172
shell: bash
173173
- run: swift build
174174

175+
duplication-tests:
176+
name: UI Tests for project with Sentry duplicated - V4 # Up the version with every change to keep track of flaky tests
177+
uses: ./.github/workflows/ui-tests-common.yml
178+
needs: assemble-xcframework-variant
179+
with:
180+
fastlane_command: duplication_test
181+
xcode_version: 16.4
182+
macos_version: macos-15
183+
needs_xcframework: true
184+
185+
app-metrics:
186+
name: Collect app metrics
187+
runs-on: macos-15
188+
needs: assemble-xcframework-variant
189+
steps:
190+
- name: Git checkout
191+
uses: actions/checkout@v4
192+
- run: ./scripts/ci-select-xcode.sh 16.3
193+
- uses: ruby/setup-ruby@v1
194+
with:
195+
bundler-cache: true
196+
- uses: actions/cache@v4
197+
id: app-plain-cache
198+
with:
199+
path: Tests/Perf/test-app-plain.ipa
200+
key: ${{ github.workflow }}-${{ github.job }}-appplain-${{ hashFiles('fastlane/Fastfile', 'Tests/Perf/test-app-plain/**') }}
201+
- name: Build test app plain
202+
if: steps.app-plain-cache.outputs['cache-hit'] != 'true'
203+
run: bundle exec fastlane build_perf_test_app_plain
204+
env:
205+
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
206+
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
207+
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
208+
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }}
209+
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
210+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
211+
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
212+
- uses: actions/download-artifact@v4
213+
with:
214+
pattern: xcframework-${{github.sha}}-sentry-dynamic
215+
path: Carthage/
216+
- run: find Carthage -name "Sentry-Dynamic.xcframework.zip" -print0 | xargs -t0I @ unzip @ -d Carthage
217+
- name: Build test app with sentry
218+
run: bundle exec fastlane build_perf_test_app_sentry
219+
env:
220+
APP_STORE_CONNECT_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
221+
APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
222+
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
223+
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }}
224+
MATCH_GIT_PRIVATE_KEY: ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
225+
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
226+
MATCH_USERNAME: ${{ secrets.MATCH_USERNAME }}
227+
- name: Collect app metrics
228+
uses: getsentry/action-app-sdk-overhead-metrics@v1
229+
with:
230+
config: Tests/Perf/metrics-test.yml
231+
sauce-user: ${{ secrets.SAUCE_USERNAME }}
232+
sauce-key: ${{ secrets.SAUCE_ACCESS_KEY }}
233+
175234
job_release:
176235
runs-on: ubuntu-latest
177236
name: "Release a new version"

.github/workflows/ui-tests.yml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -83,30 +83,3 @@ jobs:
8383
xcode_version: 16.2
8484
build_with_make: true
8585
macos_version: macos-15
86-
87-
build-xcframework-variant-slices:
88-
uses: ./.github/workflows/build-xcframework-variant-slices.yml
89-
with:
90-
name: Sentry
91-
macho-type: staticlib
92-
variant-id: sentry-static-uitests
93-
sdk-list: '["iphoneos", "iphonesimulator"]'
94-
95-
assemble-xcframework-variant:
96-
needs: build-xcframework-variant-slices
97-
uses: ./.github/workflows/assemble-xcframework-variant.yml
98-
secrets: inherit
99-
with:
100-
name: Sentry
101-
variant-id: sentry-static-uitests
102-
sdks: "iphoneos,iphonesimulator"
103-
104-
duplication-tests:
105-
name: UI Tests for project with Sentry duplicated - V4 # Up the version with every change to keep track of flaky tests
106-
uses: ./.github/workflows/ui-tests-common.yml
107-
needs: assemble-xcframework-variant
108-
with:
109-
fastlane_command: duplication_test
110-
xcode_version: 16.4
111-
macos_version: macos-15
112-
needs_xcframework: true

CHANGELOG.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@
1111
- Fix building with Xcode 26 (#5386)
1212
- Fix usage of `@available` to be `iOS` instead of `iOSApplicationExtension` (#5361)
1313
- Improve launch profile configuration management (#5318)
14+
- Fix stacktrace symbolication of fatal app hangs (#5438)
1415
- Robustness against corrupt launch profile configuration files (#5447)
16+
- Fix auto-start for session tracker when SDK is started after app did become active (#5121)
17+
- Sessions will now be marked as exited instead of abnormal exit when closing the SDK (#5121)
18+
- Manually add `dyld` image to image cache to fix dyld symbols appearing as `unknown` (#5418)
1519

1620
### Improvements
1721

1822
- Converted SentryUserFeedback from Objective-C to Swift (#5377)
1923
- Crashes for uncaught NSExceptions will now report the stracktrace recorded within the exception (#5306)
2024
- Move SentryExperimentalOptions to a property defined in Swift (#5329)
2125
- Add redaction in session replay for `SFSafariView` used by `SFSafariViewController` and `ASWebAuthenticationSession` (#5408)
22-
23-
### Fixes
24-
25-
- Manually add `dyld` image to image cache to fix dyld symbols appearing as `unknown` (#5418)
26+
- Convert SentryNSURLRequest to Swift (#5457)
2627

2728
## 8.52.1
2829

Samples/iOS-Swift/iOS-Swift-UITests/ProfilingUITests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class ProfilingUITests: BaseUITest {
6565
goToTransactions()
6666
startTransaction()
6767

68-
app.buttons["appHangFullyBlocking"].afterWaitingForExistence("Couldn't find button to trigger fully blocking AppHang.").tap()
68+
app.buttons["appHangFullyBlockingThreadSleeping"].afterWaitingForExistence("Couldn't find button to trigger fully blocking AppHang.").tap()
6969
stopTransaction()
7070

7171
goToProfiling()

0 commit comments

Comments
 (0)