Skip to content

Commit fcde045

Browse files
chore: Test HybridSDK subspec (#3031)
Added a workflow to test whether Sentry/HybridSDK podspec dependency is compiling properly for hybrid SDKs Co-authored-by: Philipp Hofmann <[email protected]>
1 parent 31208ed commit fcde045

File tree

6 files changed

+51
-2
lines changed

6 files changed

+51
-2
lines changed

.github/workflows/lint.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,16 @@ jobs:
5757
- name: Validate Podspec
5858
run: ./scripts/pod-lib-lint.sh ${{ matrix.platform }} ${{ matrix.podspec}} ${{ matrix.library_type}}
5959

60+
lint-hybrid-sdk-podspec:
61+
name: pod lint Sentry/HybridSDK
62+
runs-on: macos-13
63+
64+
steps:
65+
- uses: actions/checkout@v3
66+
- run: ./scripts/ci-select-xcode.sh '14.3'
67+
- run: pod repo update
68+
- name: Validate HybridPod Podspec
69+
run: pod lib lint ./Tests/HybridSDKTest/HybridPod.podspec --allow-warnings --verbose --platforms=ios "--include-podspecs={SentryPrivate.podspec,Sentry.podspec}"
6070

6171
validate-high-risk-files:
6272
name: No changes in high risk files

Sentry.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,6 +1727,8 @@
17271727
D8CB742C294B294B00A5F964 /* MockUIScene.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockUIScene.h; sourceTree = "<group>"; };
17281728
D8CB742D294B294B00A5F964 /* MockUIScene.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockUIScene.m; sourceTree = "<group>"; };
17291729
D8CE69BB277E39C700C6EC5C /* SentryFileIOTrackingIntegrationObjCTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryFileIOTrackingIntegrationObjCTests.m; sourceTree = "<group>"; };
1730+
D8F01DE42A126B62008F4996 /* HybridPod.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = HybridPod.podspec; sourceTree = "<group>"; };
1731+
D8F01DE52A126BF5008F4996 /* HybridTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HybridTest.swift; sourceTree = "<group>"; };
17301732
D8F6A2452885512100320515 /* SentryPredicateDescriptor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryPredicateDescriptor.m; sourceTree = "<group>"; };
17311733
D8F6A24A2885515B00320515 /* SentryPredicateDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryPredicateDescriptor.h; path = include/SentryPredicateDescriptor.h; sourceTree = "<group>"; };
17321734
D8F6A24C2885534E00320515 /* SentryPredicateDescriptorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryPredicateDescriptorTests.swift; sourceTree = "<group>"; };
@@ -2174,6 +2176,7 @@
21742176
63AA76AA1EB9D5CD00D153DE /* Configuration */,
21752177
63AA75931EB8AEDB00D153DE /* SentryTests */,
21762178
8431EFDB29B27B3D00D8DC56 /* SentryProfilerTests */,
2179+
D8F01DE32A125D7B008F4996 /* HybridSDKTest */,
21772180
);
21782181
path = Tests;
21792182
sourceTree = "<group>";
@@ -3329,6 +3332,15 @@
33293332
name = IO;
33303333
sourceTree = "<group>";
33313334
};
3335+
D8F01DE32A125D7B008F4996 /* HybridSDKTest */ = {
3336+
isa = PBXGroup;
3337+
children = (
3338+
D8F01DE42A126B62008F4996 /* HybridPod.podspec */,
3339+
D8F01DE52A126BF5008F4996 /* HybridTest.swift */,
3340+
);
3341+
path = HybridSDKTest;
3342+
sourceTree = "<group>";
3343+
};
33323344
/* End PBXGroup section */
33333345

33343346
/* Begin PBXHeadersBuildPhase section */
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Pod::Spec.new do |s|
2+
s.name = "HybridPod"
3+
s.version = "1.0.0"
4+
s.summary = "Test for HybridSDK pod"
5+
s.homepage = "https://github.com/getsentry/sentry-cocoa"
6+
s.license = "mit"
7+
s.authors = "Sentry"
8+
s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git",
9+
:tag => s.version.to_s }
10+
11+
s.ios.deployment_target = "11.0"
12+
s.module_name = "SentryHybridTest"
13+
s.requires_arc = true
14+
s.frameworks = 'Foundation'
15+
s.swift_versions = "5.5"
16+
s.dependency "Sentry/HybridSDK", "8.7.2"
17+
s.source_files = "HybridTest.swift"
18+
end
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import Foundation
2+
import Sentry
3+
4+
public class HybridTest {
5+
6+
var sentry: SentrySDK?
7+
8+
}

Utils/VersionBump/main.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ let files = [
1212
"./Sources/Configuration/Sentry.xcconfig",
1313
"./Sources/Configuration/SentryPrivate.xcconfig",
1414
"./Sources/Configuration/SentrySwiftUI.xcconfig",
15-
"./Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj"
15+
"./Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj",
16+
"./Tests/HybridSDKTest/HybridPod.podspec"
1617
]
1718

1819
let args = CommandLine.arguments

scripts/pod-lib-lint.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ case $POD_SPEC in
1414
;;
1515

1616
"SentrySwiftUI")
17-
INCLUDE_POD_SPECS="--include-podspecs=Sentry.podspec,SentryPrivate.podspec"
17+
INCLUDE_POD_SPECS="--include-podspecs={Sentry.podspec,SentryPrivate.podspec}"
1818
;;
1919

2020
*)

0 commit comments

Comments
 (0)