Skip to content

Commit f0a5f48

Browse files
authored
Merge branch 'main' into feat/device-family-visionpro
2 parents 1e7eb4b + 30f8871 commit f0a5f48

56 files changed

Lines changed: 485 additions & 428 deletions

File tree

Some content is hidden

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

.github/file-filters.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# This is used by the action https://github.com/dorny/paths-filter (which we have forked to https://github.com/getsentry/paths-filter)
2+
3+
high_risk_code: &high_risk_code
4+
- 'Sources/Sentry/SentryNSURLSessionTaskSearch.m'
5+
- 'Sources/Sentry/SentryNetworkTracker.m'
6+
- 'Sources/Sentry/SentryUIViewControllerSwizzling.m'
7+
- 'Sources/Sentry/SentryNSDataSwizzling.m'
8+
- 'Sources/Sentry/SentrySubClassFinder.m'
9+
- 'Sources/Sentry/SentryCoreDataSwizzling.m'
10+
- 'Sources/Sentry/SentrySwizzleWrapper.m'
11+
- 'Sources/Sentry/include/SentrySwizzle.h'
12+
- 'Sources/Sentry/SentrySwizzle.m'

.github/workflows/benchmarking.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ on:
1818
- '.sauce/benchmarking-config.yml'
1919
- 'fastlane/**'
2020
- 'scripts/ci-select-xcode.sh'
21-
- 'scripts/set-device-tests-environment.patch'
2221

2322
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
2423
concurrency:
@@ -37,18 +36,17 @@ jobs:
3736
bundler-cache: true
3837
- name: Install SentryCli
3938
run: brew install getsentry/tools/sentry-cli
40-
- run: git apply ./scripts/set-device-tests-environment.patch
4139
- name: Cache iOS-Swift App and dSYM build products
4240
id: ios-swift-cache
43-
uses: actions/cache@v3
41+
uses: actions/cache@v4
4442
with:
4543
path: |
4644
DerivedData/Build/Products/Debug-iphoneos/iOS-Swift.app.dSYM
4745
DerivedData/Build/Products/Debug-iphoneos/iOS-Swift.app
4846
key: ios-swift-for-ui-testing-cache-key-${{ hashFiles('Samples/iOS-Swift/iOS-Swift/**') }}-${{ hashFiles('Sources/Sentry/**') }}
4947
- name: Cache iOS-Swift UI Test Runner App build product
5048
id: ios-swift-benchmark-runner-cache
51-
uses: actions/cache@v3
49+
uses: actions/cache@v4
5250
with:
5351
path: |
5452
DerivedData/Build/Products/Debug-iphoneos/PerformanceBenchmarks-Runner.app
@@ -95,7 +93,7 @@ jobs:
9593
- uses: actions/download-artifact@v4
9694
with:
9795
name: DerivedData-Xcode
98-
- run: npm install -g saucectl@0.107.2
96+
- run: npm install -g saucectl@0.171.0
9997
- name: Run Benchmarks in SauceLab
10098
env:
10199
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
@@ -112,7 +110,7 @@ jobs:
112110
- uses: ruby/setup-ruby@v1
113111
with:
114112
bundler-cache: true
115-
- uses: actions/cache@v3
113+
- uses: actions/cache@v4
116114
id: app-plain-cache
117115
with:
118116
path: Tests/Perf/test-app-plain.ipa

.github/workflows/build.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,12 @@ jobs:
9191
9292
build-xcframework:
9393
name: Build XCFramework
94-
runs-on: macos-13
94+
# The macos-13 uses an Intel processor and doesn't compile the XCFramework for visionOS.
95+
# The large image compiles on arm64 and successfully creates the XCFramework for visionOS.
96+
runs-on: macos-13-xlarge
9597
steps:
9698
- uses: actions/checkout@v4
97-
- run: ./scripts/ci-select-xcode.sh 15.0.1
99+
- run: ./scripts/ci-select-xcode.sh 15.2
98100
- run: make build-xcframework
99101
shell: sh
100102

@@ -116,14 +118,14 @@ jobs:
116118
117119
validate-xcframework:
118120
name: Validate XCFramework
119-
runs-on: macos-13
121+
runs-on: macos-13-xlarge
120122
needs: build-xcframework
121123
steps:
122124
- uses: actions/checkout@v4
123125
- uses: actions/download-artifact@v4
124126
with:
125127
name: ${{ github.sha }}
126-
- run: ./scripts/ci-select-xcode.sh 15.0.1
128+
- run: ./scripts/ci-select-xcode.sh 15.2
127129
- run: make build-xcframework-sample
128130
shell: sh
129131

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Changes In High Risk Code
2+
on:
3+
pull_request:
4+
5+
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
10+
jobs:
11+
files-changed:
12+
name: Detect changed files
13+
runs-on: ubuntu-latest
14+
# Map a step output to a job output
15+
outputs:
16+
high_risk_code: ${{ steps.changes.outputs.high_risk_code }}
17+
high_risk_code_files: ${{ steps.changes.outputs.high_risk_code_files }}
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Get changed files
21+
id: changes
22+
uses: getsentry/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
23+
with:
24+
token: ${{ github.token }}
25+
filters: .github/file-filters.yml
26+
27+
# Enable listing of files matching each filter.
28+
# Paths to files will be available in `${FILTER_NAME}_files` output variable.
29+
list-files: csv
30+
31+
validate-high-risk-code:
32+
if: needs.files-changed.outputs.high_risk_code == 'true'
33+
needs: files-changed
34+
runs-on: ubuntu-latest
35+
steps:
36+
- name: Comment on PR to notify of changes in high risk files
37+
uses: actions/github-script@v7
38+
env:
39+
high_risk_code: ${{ needs.files-changed.outputs.high_risk_code_files }}
40+
with:
41+
script: |
42+
const highRiskFiles = process.env.high_risk_code;
43+
const fileList = highRiskFiles.split(',').map(file => `- [ ] ${file}`).join('\n');
44+
github.rest.issues.createComment({
45+
issue_number: context.issue.number,
46+
owner: context.repo.owner,
47+
repo: context.repo.repo,
48+
body: `### 🚨 Detected changes in high risk code 🚨 \n High-risk code can easily blow up and is hard to test. We had severe bugs in the past. Be extra careful when changing these files, and have an extra careful look at these:\n ${fileList}`
49+
})
50+
51+

.github/workflows/lint.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
- 'Samples/**'
1111
- '.github/workflows/lint.yml'
1212
- 'scripts/ci-select-xcode.sh'
13-
- 'scripts/no-changes-in-high-risk-files.sh'
1413

1514
pull_request:
1615
paths:
@@ -20,7 +19,6 @@ on:
2019
- 'Samples/**'
2120
- '.github/workflows/lint.yml'
2221
- 'scripts/ci-select-xcode.sh'
23-
- 'scripts/no-changes-in-high-risk-files.sh'
2422
- 'Sentry.xcodeproj/**'
2523
- '*.podspec'
2624

@@ -74,10 +72,3 @@ jobs:
7472
- run: pod repo update
7573
- name: Validate HybridPod Podspec
7674
run: pod lib lint ./Tests/HybridSDKTest/HybridPod.podspec --allow-warnings --verbose --platforms=ios "--include-podspecs={SentryPrivate.podspec,Sentry.podspec}"
77-
78-
validate-high-risk-files:
79-
name: No changes in high risk files
80-
runs-on: ubuntu-latest
81-
steps:
82-
- uses: actions/checkout@v4
83-
- run: ./scripts/no-changes-in-high-risk-files.sh

.github/workflows/saucelabs-UI-tests.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ on:
1111
- '.github/workflows/saucelabs-UI-tests.yml'
1212
- 'fastlane/**'
1313
- '.sauce/config.yml'
14-
- 'scripts/set-device-tests-environment.patch'
1514
- 'scripts/ci-select-xcode.sh'
1615

1716
# run the workflow any time an Xcode scheme changes for one of the sample apps with a UI test suite we run in saucelabs
@@ -45,18 +44,17 @@ jobs:
4544
bundler-cache: true
4645
- name: Install SentryCli
4746
run: brew install getsentry/tools/sentry-cli
48-
- run: git apply ./scripts/set-device-tests-environment.patch
4947
- name: Cache iOS-Swift App and dSYM build products
5048
id: ios-swift-cache
51-
uses: actions/cache@v3
49+
uses: actions/cache@v4
5250
with:
5351
path: |
5452
DerivedData/Build/Products/Test-iphoneos/iOS-Swift.app.dSYM
5553
DerivedData/Build/Products/Test-iphoneos/iOS-Swift.app
5654
key: ios-swift-for-ui-testing-cache-key-${{ hashFiles('Samples/iOS-Swift/iOS-Swift/**') }}-Xcode-${{ matrix.xcode }}-${{ hashFiles('Sources/Sentry/**') }}
5755
- name: Cache iOS-Swift UI Test Runner App build product
5856
id: ios-swift-uitest-runner-cache
59-
uses: actions/cache@v3
57+
uses: actions/cache@v4
6058
with:
6159
path: |
6260
DerivedData/Build/Products/Test-iphoneos/iOS-SwiftUITests-Runner.app
@@ -124,7 +122,7 @@ jobs:
124122
with:
125123
name: DerivedData-Xcode-${{ matrix.xcode }}
126124

127-
- run: npm install -g saucectl@0.107.2
125+
- run: npm install -g saucectl@0.171.0
128126

129127
# As Sauce Labs is a bit flaky we retry 5 times
130128
- name: Run Tests in SauceLab

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- uses: actions/checkout@v4
4242
- name: Cache for Test Server
4343
id: cache_test_server
44-
uses: actions/cache@v3
44+
uses: actions/cache@v4
4545
with:
4646
path: ./test-server/.build
4747
key: test-server-${{ hashFiles('./test-server') }}

.pre-commit-config.yaml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ repos:
1414
- id: no-commit-to-branch
1515

1616
- repo: https://github.com/python-jsonschema/check-jsonschema
17-
rev: 0.23.1
17+
rev: 0.27.3
1818
hooks:
1919
- id: check-github-actions
2020
- id: check-github-workflows
@@ -45,11 +45,3 @@ repos:
4545
types_or: ["swift", "objective-c", "objective-c++", "c", "c++" ]
4646
args:
4747
- "lint"
48-
49-
- id: no-changes-in-high-risk-files
50-
name: No Changes in High Risk Files
51-
entry: make
52-
language: system
53-
types_or: ["swift","objective-c", "objective-c++", "c", "c++"]
54-
args:
55-
- "no-changes-in-high-risk-files"

CHANGELOG.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,28 @@
55
### Features
66

77
- Add visionOS as device family (#3548)
8+
- Add VisionOS Support for Carthage (#3565)
9+
10+
### Fixes
11+
12+
- Move header reference out of "extern C" (#3538)
13+
- Clarify FramesTracker log message (#3570)
14+
- Fix rare battery breadcrumbs crash (#3582)
15+
- Fix synchronization issue in FramesTracker (#3571)
16+
17+
## 8.19.0
18+
19+
### Features
20+
821
- Send debug meta for app start transactions (#3543)
922

23+
### Fixes
24+
25+
- Fix typo in BUILD_LIBRARY_FOR_DISTRIBUTION variable in Makefile (#3488)
26+
- Remove dispatch queue metadata collection to fix crash (#3522)
27+
- Make SentryScope.useSpan non-blocking (#3568)
28+
- Don't override `sentry-trace` and `baggage` headers (#3540)
29+
1030
## 8.18.0
1131

1232
### Features
@@ -24,9 +44,7 @@
2444
- Fix a race condition in SentryTracer (#3523)
2545
- App start ends when first frame is drawn when performanceV2 is enabled (#3530)
2646
- Use correct rendered frames timestamp for TTID/TTFD and app start (#3531)
27-
2847
- Missing transactions when not calling `reportFullyDisplayed` (#3477)
29-
- Don't override `sentry-trace` and `baggage` headers (#3540)
3048

3149
## 8.17.2
3250

0 commit comments

Comments
 (0)