Skip to content

Commit 0762015

Browse files
committed
Merge branch 'master' into 4.0.0-alpha.0
2 parents 540489a + ae8e7da commit 0762015

238 files changed

Lines changed: 1602 additions & 4511 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/workflows/automation-trigger-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
distribution: 'temurin'
7878
cache: maven
7979
- name: Setup Node.js environment
80-
uses: actions/setup-node@v4.0.3
80+
uses: actions/setup-node@v4.2.0
8181
- name: Build with Maven
8282
id: build_maven
8383
run: |

.github/workflows/post-release-qa.yml

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,49 +6,108 @@ on:
66
jobs:
77
verify-cocoapods-iOS:
88
runs-on: macos-latest
9+
timeout-minutes: 30
910
steps:
1011
- name: Check out code
1112
uses: actions/checkout@v4
1213
- name: Install pod, build project and run tests
1314
run: |
15+
mkdir -p test-results
1416
./scripts/getSimulator
1517
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
1618
cd SDKIntegrationTestApps/PostRelease-iOSReleaseTest-Cocoapods/
1719
pod install
18-
xcodebuild test -scheme iOSReleaseTest -workspace iOSReleaseTest.xcworkspace -destination "$DESTINATION"| xcpretty && exit ${PIPESTATUS[0]}
20+
xcodebuild -configuration Debug \
21+
-scheme iOSReleaseTest -workspace iOSReleaseTest.xcworkspace \
22+
-sdk iphonesimulator \
23+
-destination "$DESTINATION" \
24+
CODE_SIGNING_ALLOWED=NO \
25+
CODE_SIGNING_REQUIRED=NO \
26+
PROVISIONING_PROFILE_SPECIFIER="" \
27+
DEVELOPMENT_TEAM="" \
28+
-resultBundlePath ../../test-results/ios-cocoapods.xcresult \
29+
clean test
30+
- name: Upload test report
31+
uses: actions/upload-artifact@v4
32+
if: always()
33+
with:
34+
name: test-report-cocoapods-iOS
35+
path: test-results
1936
verify-carthage-iOS:
2037
runs-on: macos-latest
38+
timeout-minutes: 30
2139
steps:
2240
- name: Check out code
2341
uses: actions/checkout@v4
2442
- name: Run carthage command, build project and run tests
2543
run: |
44+
mkdir -p test-results
2645
./scripts/getSimulator
2746
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
2847
cd SDKIntegrationTestApps/PostRelease-iOSReleaseTest-Carthage/
2948
carthage update --use-xcframeworks
30-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION"| xcpretty && exit ${PIPESTATUS[0]}
49+
xcodebuild -configuration Debug \
50+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
51+
-sdk iphonesimulator \
52+
-destination "$DESTINATION" \
53+
CODE_SIGNING_ALLOWED=NO \
54+
CODE_SIGNING_REQUIRED=NO \
55+
PROVISIONING_PROFILE_SPECIFIER="" \
56+
DEVELOPMENT_TEAM="" \
57+
-resultBundlePath ../../test-results/ios-carthage.xcresult \
58+
clean test
59+
- name: Upload test report
60+
uses: actions/upload-artifact@v4
61+
if: always()
62+
with:
63+
name: test-report-carthage-iOS
64+
path: test-results
3165
verify-SPM-iOS:
3266
runs-on: macos-latest
67+
timeout-minutes: 30
3368
steps:
3469
- name: Check out code
3570
uses: actions/checkout@v4
3671
- name: build project and run tests
3772
run: |
73+
mkdir -p test-results
3874
./scripts/getSimulator
3975
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
4076
cd SDKIntegrationTestApps/PostRelease-iOSReleaseTest-SPM/
41-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION"| xcpretty && exit ${PIPESTATUS[0]}
77+
xcodebuild -resolvePackageDependencies -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj
78+
xcodebuild -configuration Debug \
79+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
80+
-sdk iphonesimulator \
81+
-destination "$DESTINATION" \
82+
CODE_SIGNING_ALLOWED=NO \
83+
CODE_SIGNING_REQUIRED=NO \
84+
PROVISIONING_PROFILE_SPECIFIER="" \
85+
DEVELOPMENT_TEAM="" \
86+
-resultBundlePath ../../test-results/ios-spm.xcresult \
87+
clean test
88+
- name: Upload test report
89+
uses: actions/upload-artifact@v4
90+
if: always()
91+
with:
92+
name: test-report-spm-iOS
93+
path: test-results
4294
verify-cocoapods-tvOS:
4395
runs-on: macos-latest
96+
timeout-minutes: 30
4497
steps:
4598
- name: Check out code
4699
uses: actions/checkout@v4
47100
- name: Install pod, build project and run tests
48101
run: |
102+
mkdir -p test-results
49103
./scripts/getSimulator
50104
DESTINATION="platform=tvOS Simulator,name=$(cat ./appleTVSim),OS=latest"
51105
cd SDKIntegrationTestApps/PostRelease-tvOSReleaseTest-Cocoapods/
52106
pod install
53-
xcodebuild test -scheme tvOSReleaseTest -workspace tvOSReleaseTest.xcworkspace -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
54-
107+
xcodebuild test -scheme tvOSReleaseTest -workspace tvOSReleaseTest.xcworkspace -destination "$DESTINATION" -resultBundlePath ../../test-results/tvOS-cocoapods.xcresult
108+
- name: Upload test report
109+
uses: actions/upload-artifact@v4
110+
if: always()
111+
with:
112+
name: test-report-cocoapods-tvOS
113+
path: test-results

.github/workflows/pre-release-qa.yml

Lines changed: 118 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,101 +4,204 @@ on: [push]
44

55
jobs:
66
verify-cocoapods-iOS:
7-
runs-on: macos-15
7+
runs-on: macos-latest
8+
timeout-minutes: 30
89
steps:
910
- name: Check out code
1011
uses: actions/checkout@v4
1112
- name: Install pod, build project and run tests
1213
run: |
14+
mkdir -p test-results
1315
echo "branch=${{ github.ref }}" >> $GITHUB_OUTPUT
1416
./scripts/getSimulator
1517
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
1618
cd SDKIntegrationTestApps/iOSReleaseTest-Cocoapods/
1719
pod install
18-
xcodebuild test -scheme iOSReleaseTest -workspace iOSReleaseTest.xcworkspace -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
20+
xcodebuild -configuration Debug \
21+
-scheme iOSReleaseTest -workspace iOSReleaseTest.xcworkspace \
22+
-sdk iphonesimulator \
23+
-destination "$DESTINATION" \
24+
CODE_SIGNING_ALLOWED=NO \
25+
CODE_SIGNING_REQUIRED=NO \
26+
PROVISIONING_PROFILE_SPECIFIER="" \
27+
DEVELOPMENT_TEAM="" \
28+
-resultBundlePath ../../test-results/ios-cocoapods.xcresult \
29+
clean test
30+
- name: Upload test report
31+
uses: actions/upload-artifact@v4
32+
if: always()
33+
with:
34+
name: test-report-cocoapods-iOS
35+
path: test-results
1936
verify-carthage-iOS:
20-
runs-on: macos-15
37+
runs-on: macos-latest
38+
timeout-minutes: 30
2139
steps:
2240
- name: Check out code
2341
uses: actions/checkout@v4
2442
- name: Create Cart File, run carthage command, build project and run tests
2543
env:
2644
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
2745
run: |
46+
mkdir -p test-results
2847
CURR_DIR=$(PWD)
2948
./scripts/getSimulator
3049
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
3150
cd SDKIntegrationTestApps/iOSReleaseTest-Carthage/
3251
echo "git \"file://${CURR_DIR}\" \"$BRANCH_NAME\" " >> cartfile
3352
carthage update --use-xcframeworks
34-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
53+
xcodebuild -configuration Debug \
54+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
55+
-sdk iphonesimulator \
56+
-destination "$DESTINATION" \
57+
CODE_SIGNING_ALLOWED=NO \
58+
CODE_SIGNING_REQUIRED=NO \
59+
PROVISIONING_PROFILE_SPECIFIER="" \
60+
DEVELOPMENT_TEAM="" \
61+
-resultBundlePath ../../test-results/ios-carthage.xcresult \
62+
clean test
63+
- name: Upload test report
64+
uses: actions/upload-artifact@v4
65+
if: always()
66+
with:
67+
name: test-report-carthage-iOS
68+
path: test-results
3569
verify-SPM-iOS:
36-
runs-on: macos-15
70+
runs-on: macos-latest
71+
timeout-minutes: 30
3772
steps:
3873
- name: Check out code
3974
uses: actions/checkout@v4
4075
- name: build project and run tests
4176
run: |
77+
mkdir -p test-results
4278
./scripts/getSimulator
4379
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
4480
cd SDKIntegrationTestApps/iOSReleaseTest-SPM/
45-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
81+
xcodebuild -configuration Debug \
82+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
83+
-sdk iphonesimulator \
84+
-destination "$DESTINATION" \
85+
CODE_SIGNING_ALLOWED=NO \
86+
CODE_SIGNING_REQUIRED=NO \
87+
PROVISIONING_PROFILE_SPECIFIER="" \
88+
DEVELOPMENT_TEAM="" \
89+
-resultBundlePath ../../test-results/ios-spm.xcresult \
90+
clean test
91+
- name: Upload test report
92+
uses: actions/upload-artifact@v4
93+
if: always()
94+
with:
95+
name: test-report-spm-iOS
96+
path: test-results
4697
verify-manually-with-xcframework-iOS:
47-
runs-on: macos-15
98+
runs-on: macos-latest
99+
timeout-minutes: 30
48100
steps:
49101
- name: Check out code
50102
uses: actions/checkout@v4
51103
- name: build xcframework, then build project and run tests
52104
run: |
105+
mkdir -p test-results
53106
./scripts/getSimulator
54107
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
55108
xcodebuild -scheme xcframework
56109
cd SDKIntegrationTestApps/iOSReleaseTest-Manual/
57-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
110+
xcodebuild -configuration Debug \
111+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
112+
-sdk iphonesimulator \
113+
-destination "$DESTINATION" \
114+
CODE_SIGNING_ALLOWED=NO \
115+
CODE_SIGNING_REQUIRED=NO \
116+
PROVISIONING_PROFILE_SPECIFIER="" \
117+
DEVELOPMENT_TEAM="" \
118+
-resultBundlePath ../../test-results/ios-xcframework.xcresult \
119+
clean test
120+
- name: Upload test report
121+
uses: actions/upload-artifact@v4
122+
if: always()
123+
with:
124+
name: test-report-manual-xcframework-iOS
125+
path: test-results
58126
verify-manually-with-StaticFramework-iOS:
59-
runs-on: macos-15
127+
runs-on: macos-latest
128+
timeout-minutes: 30
60129
steps:
61130
- name: Check out code
62131
uses: actions/checkout@v4
63132
- name: build static xcframework, then build project and run tests
64133
run: |
134+
mkdir -p test-results
65135
./scripts/getSimulator
66136
DESTINATION="platform=iOS Simulator,name=$(cat ./iphoneSim),OS=latest"
67137
xcodebuild -scheme static-xcframework
68138
cd SDKIntegrationTestApps/iOSReleaseTest-Manual-Static/
69-
xcodebuild test -scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
139+
xcodebuild -configuration Debug \
140+
-scheme iOSReleaseTest -project iOSReleaseTest.xcodeproj \
141+
-sdk iphonesimulator \
142+
-destination "$DESTINATION" \
143+
CODE_SIGNING_ALLOWED=NO \
144+
CODE_SIGNING_REQUIRED=NO \
145+
PROVISIONING_PROFILE_SPECIFIER="" \
146+
DEVELOPMENT_TEAM="" \
147+
-resultBundlePath ../../test-results/ios-static-framework.xcresult \
148+
clean test
149+
- name: Upload test report
150+
uses: actions/upload-artifact@v4
151+
if: always()
152+
with:
153+
name: test-report-manual-static-iOS
154+
path: test-results
70155
verify-cocoapods-tvOS:
71-
runs-on: macos-15
156+
runs-on: macos-latest
157+
timeout-minutes: 30
72158
steps:
73159
- name: Check out code
74160
uses: actions/checkout@v4
75161
- name: Install pod, build project and run tests
76162
run: |
163+
mkdir -p test-results
77164
./scripts/getSimulator
78165
DESTINATION="platform=tvOS Simulator,name=$(cat ./appleTVSim),OS=latest"
79166
cd SDKIntegrationTestApps/tvOSReleaseTest-Cocoapods/
80167
pod install
81-
xcodebuild test -scheme tvOSReleaseTest -workspace tvOSReleaseTest.xcworkspace -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
168+
xcodebuild test -scheme tvOSReleaseTest -workspace tvOSReleaseTest.xcworkspace -destination "$DESTINATION" -resultBundlePath ../../test-results/tvOS-cocoapods.xcresult
169+
- name: Upload test report
170+
uses: actions/upload-artifact@v4
171+
if: always()
172+
with:
173+
name: test-report-cocoapods-tvOS
174+
path: test-results
82175
verify-carthage-tvOS:
83-
runs-on: macos-15
176+
runs-on: macos-latest
177+
timeout-minutes: 30
84178
steps:
85179
- name: Check out code
86180
uses: actions/checkout@v4
87181
- name: Verify Integration using Carthage for tvOS
88182
run: |
183+
mkdir -p test-results
89184
./scripts/getSimulator
90185
DESTINATION="platform=tvOS Simulator,name=$(cat ./appleTVSim),OS=latest"
91186
cd SDKIntegrationTestApps/tvOSReleaseTest-Carthage/
92187
echo "Skipping it ... its broken"
93188
verify-manually-with-xcframework-tvOS:
94-
runs-on: macos-15
189+
runs-on: macos-latest
190+
timeout-minutes: 30
95191
steps:
96192
- name: Check out code
97193
uses: actions/checkout@v4
98194
- name: build xcframework, then build project and run tests
99195
run: |
196+
mkdir -p test-results
100197
./scripts/getSimulator
101198
DESTINATION="platform=tvOS Simulator,name=$(cat ./appleTVSim),OS=latest"
102199
xcodebuild -scheme xcframework
103200
cd SDKIntegrationTestApps/tvOSReleaseTest-Manual/
104-
xcodebuild test -scheme tvOSReleaseTest -project tvOSReleaseTest.xcodeproj -destination "$DESTINATION" | xcpretty && exit ${PIPESTATUS[0]}
201+
xcodebuild test -scheme tvOSReleaseTest -project tvOSReleaseTest.xcodeproj -destination "$DESTINATION" -resultBundlePath ../../test-results/tvOS-xcframework.xcresult
202+
- name: Upload test report
203+
uses: actions/upload-artifact@v4
204+
if: always()
205+
with:
206+
name: test-report-manual-xcframework-tvOS
207+
path: test-results

.github/workflows/release.yml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,27 @@ jobs:
100100
steps:
101101
- name: Check out code
102102
uses: actions/checkout@v4
103+
- name: Install the Apple certificate
104+
env:
105+
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
106+
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
107+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
108+
run: |
109+
# create variables
110+
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
111+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
112+
113+
# import certificate
114+
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
115+
116+
# create temporary keychain
117+
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
118+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
119+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
120+
121+
# import certificate to keychain
122+
security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
123+
security list-keychain -d user -s $KEYCHAIN_PATH
103124
- name: Build xcframework
104125
run: |
105126
./scripts/prep_xcframework_noidfa.sh
@@ -110,7 +131,7 @@ jobs:
110131
path: |
111132
./Branch_noidfa.zip
112133
./checksum_noidfa.txt
113-
./Branch_noidfa_signed_xcframework
134+
./Branch_noidfa_signed_xcframework.zip
114135
./checksum_noidfa_signed_xcframework.txt
115136
116137
build-static-framework:
@@ -177,7 +198,7 @@ jobs:
177198
bundle config set --local path vendor
178199
bundle check || bundle install
179200
- name: Download build artifacts
180-
uses: actions/download-artifact@v4
201+
uses: actions/download-artifact@v5
181202
- name: Publish to CocoaPods
182203
run: |
183204
# TODO: Authenticate using repo secret

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Mac
2+
.build
23
.DS_Store
34
.LSOverride
45
.build

0 commit comments

Comments
 (0)