File tree 5 files changed +65
-6
lines changed 5 files changed +65
-6
lines changed Original file line number Diff line number Diff line change @@ -21,14 +21,30 @@ jobs:
21
21
steps :
22
22
- uses : actions/checkout@v4
23
23
24
+ - uses : ruby/setup-ruby@v1
25
+ with :
26
+ bundler-cache : true
27
+
28
+ - name : " Download Fastlane Certificate"
29
+ run : bundle exec fastlane prepare_signed_xcframework
30
+ env :
31
+ APP_STORE_CONNECT_KEY_ID : ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
32
+ APP_STORE_CONNECT_ISSUER_ID : ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
33
+ APP_STORE_CONNECT_KEY : ${{ secrets.APP_STORE_CONNECT_KEY }}
34
+ FASTLANE_KEYCHAIN_PASSWORD : ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }}
35
+ MATCH_GIT_PRIVATE_KEY : ${{ secrets.MATCH_GIT_PRIVATE_KEY }}
36
+ MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
37
+ MATCH_USERNAME : ${{ secrets.MATCH_USERNAME }}
38
+ shell : sh
39
+
24
40
- name : " Generate XCFramework"
25
41
run : |
26
42
./scripts/ci-select-xcode.sh 15.2
27
43
make bump-version TO=${{ github.event.inputs.version }}
28
44
# We need to build the framework during release to get it's SHA value
29
45
# the framework will be saved as an artefact and we will use the same
30
46
# binary for the entire release process to avoid the SHA to change
31
- make build-xcframework
47
+ make build-signed- xcframework
32
48
33
49
- uses : actions/upload-artifact@v4
34
50
with :
Original file line number Diff line number Diff line change 1
1
# Changelog
2
2
3
+ ## Unreleased
4
+
5
+ ### Features
6
+
7
+ - XCFrameworks are now signed (#5271 )
8
+
3
9
## 8.51.1
4
10
5
11
### Fixes
Original file line number Diff line number Diff line change @@ -104,11 +104,12 @@ analyze:
104
104
build-xcframework :
105
105
@echo " --> Carthage: creating Sentry xcframework"
106
106
./scripts/build-xcframework.sh | tee build-xcframework.log
107
- # use ditto here to avoid clobbering symlinks which exist in macOS frameworks
108
- ditto -c -k -X --rsrc --keepParent Carthage/Sentry.xcframework Carthage/Sentry.xcframework.zip
109
- ditto -c -k -X --rsrc --keepParent Carthage/Sentry-Dynamic.xcframework Carthage/Sentry-Dynamic.xcframework.zip
110
- ditto -c -k -X --rsrc --keepParent Carthage/SentrySwiftUI.xcframework Carthage/SentrySwiftUI.xcframework.zip
111
- ditto -c -k -X --rsrc --keepParent Carthage/Sentry-WithoutUIKitOrAppKit.xcframework Carthage/Sentry-WithoutUIKitOrAppKit.zip
107
+ ./scripts/zip_built_sdks.sh
108
+
109
+ build-signed-xcframework :
110
+ @echo " --> Carthage: creating Signed Sentry xcframework"
111
+ ./scripts/build-xcframework.sh | tee build-xcframework.log
112
+ ./scripts/zip_built_sdks.sh --sign
112
113
113
114
build-xcframework-sample :
114
115
./scripts/create-carthage-json.sh
Original file line number Diff line number Diff line change @@ -9,6 +9,16 @@ platform :ios do
9
9
ios_swift_clip_infoplist_path = "./Samples/iOS-Swift/iOS-SwiftClip/Info.plist"
10
10
configuration = if is_ci then 'TestCI' else 'Test' end
11
11
12
+ lane :prepare_signed_xcframework do
13
+ setup_ci
14
+
15
+ match (
16
+ type : "appstore" ,
17
+ readonly : true ,
18
+ app_identifier : [ "io.sentry.sample.iOS-Swift" ] , # Any app identifier will do
19
+ )
20
+ end
21
+
12
22
lane :bump_build_number do
13
23
increment_build_number (
14
24
build_number : ENV [ "FASTLANE_BUILD_NUMBER" ] ,
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -eou pipefail
4
+
5
+ args=" ${1:- } "
6
+
7
+ frameworks=( Sentry Sentry-Dynamic SentrySwiftUI Sentry-WithoutUIKitOrAppKit )
8
+
9
+ should_sign=false
10
+ [[ " $args " == " --sign" ]] && should_sign=true
11
+
12
+ sentry_certificate=" Apple Distribution: GetSentry LLC (97JCY7859U)"
13
+
14
+ for framework in " ${frameworks[@]} " ; do
15
+ framework_path=" Carthage/$framework .xcframework"
16
+
17
+ if [[ " $should_sign " == true ]]; then
18
+ echo " Signing $framework "
19
+ # This is Sentry's certificate name, and should not change
20
+ codesign --sign " $sentry_certificate " --timestamp --options runtime --deep --force " $framework_path "
21
+ fi
22
+
23
+ echo " Zipping $framework "
24
+ # use ditto here to avoid clobbering symlinks which exist in macOS frameworks
25
+ ditto -c -k -X --rsrc --keepParent " $framework_path " " $framework_path .zip"
26
+ done
You can’t perform that action at this time.
0 commit comments