2424 GITHUB_PR_NUM : ${{ github.event.pull_request.number }}
2525
2626jobs :
27- build-test-app-and-frameworks :
28- name : Build Test App and Frameworks
29- runs-on : macos-14
30- if : ${{ github.event_name != 'push' }}
31- steps :
32- 33- - uses : ./.github/actions/ruby-cache
34- - uses : ./.github/actions/xcode-cache
35- - name : Build
36- run : bundle exec fastlane build_test_app_and_frameworks
37- timeout-minutes : 60
38- env :
39- XCODE_VERSION : " 15.2" # Should match the minimum version in dependent jobs
40- - uses : actions/upload-artifact@v4
41- if : success()
42- with :
43- name : cache-derived-data
44- path : |
45- derived_data/Build/**/*.app
46- derived_data/Build/**/*.xctestrun
47- derived_data/Build/**/*.framework
27+ # build-test-app-and-frameworks:
28+ # name: Build Test App and Frameworks
29+ # runs-on: macos-14
30+ # if: ${{ github.event_name != 'push' }}
31+ # steps:
32+ # - uses: actions/[email protected] 33+ # - uses: ./.github/actions/ruby-cache
34+ # - uses: ./.github/actions/xcode-cache
35+ # - name: Build
36+ # run: bundle exec fastlane build_test_app_and_frameworks
37+ # timeout-minutes: 60
38+ # env:
39+ # XCODE_VERSION: "15.2" # Should match the minimum version in dependent jobs
40+ # - uses: actions/upload-artifact@v4
41+ # if: success()
42+ # with:
43+ # name: cache-derived-data
44+ # path: |
45+ # derived_data/Build/**/*.app
46+ # derived_data/Build/**/*.xctestrun
47+ # derived_data/Build/**/*.framework
4848
4949 automated-code-review :
5050 name : Automated Code Review
@@ -65,173 +65,173 @@ jobs:
6565 if : startsWith(github.event.pull_request.head.ref, 'release/')
6666 run : bundle exec fastlane pod_lint
6767
68- build-xcode15 :
69- name : Build SDKs (Xcode 15.0)
70- runs-on : macos-13
71- if : ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
72- env :
73- XCODE_VERSION : " 15.0.1"
74- steps :
75- - name : Connect Bot
76- uses :
webfactory/[email protected] 77- with :
78- ssh-private-key : ${{ secrets.BOT_SSH_PRIVATE_KEY }}
79- 80- - uses : ./.github/actions/ruby-cache
81- - name : List Xcode versions
82- run : mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
83- timeout-minutes : 25
84- - name : Build SwiftUI
85- run : bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
86- timeout-minutes : 25
87- - name : Build XCFrameworks
88- run : bundle exec fastlane build_xcframeworks
89- timeout-minutes : 25
90- env :
91- MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
92- APPSTORE_API_KEY : ${{ secrets.APPSTORE_API_KEY }}
68+ # build-xcode15:
69+ # name: Build SDKs (Xcode 15.0)
70+ # runs-on: macos-13
71+ # if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
72+ # env:
73+ # XCODE_VERSION: "15.0.1"
74+ # steps:
75+ # - name: Connect Bot
76+ # uses: webfactory/[email protected] 77+ # with:
78+ # ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }}
79+ # - uses: actions/[email protected] 80+ # - uses: ./.github/actions/ruby-cache
81+ # - name: List Xcode versions
82+ # run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'"
83+ # timeout-minutes: 25
84+ # - name: Build SwiftUI
85+ # run: bundle exec fastlane test_ui device:"iPhone 15" build_for_testing:true
86+ # timeout-minutes: 25
87+ # - name: Build XCFrameworks
88+ # run: bundle exec fastlane build_xcframeworks
89+ # timeout-minutes: 25
90+ # env:
91+ # MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
92+ # APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }}
9393
94- test-ui-debug :
95- name : Test SwiftUI (Debug)
96- runs-on : macos-14
97- needs : build-test-app-and-frameworks
98- steps :
99- 100- - uses : actions/download-artifact@v4
101- with :
102- name : cache-derived-data
103- path : derived_data/Build/
104- - uses : ./.github/actions/bootstrap
105- env :
106- INSTALL_YEETD : true
107- - uses : ./.github/actions/python-cache
108- - name : Run UI Tests (Debug)
109- run : bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" skip_build:true record:${{ github.event.inputs.snapshots }}
110- timeout-minutes : 60
111- env :
112- GITHUB_TOKEN : ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
113- - name : Run Sonar analysis
114- if : ${{ github.event.inputs.snapshots != 'true' }}
115- run : bundle exec fastlane sonar_upload
116- env :
117- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
118- SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
119- - uses : 8398a7/action-slack@v3
120- with :
121- status : ${{ job.status }}
122- text : " You shall not pass!"
123- job_name : " Test (Debug)"
124- fields : message,commit,author,action,workflow,job,took
125- env :
126- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_URL }}
127- MATRIX_CONTEXT : ${{ toJson(matrix) }}
128- if : ${{ github.event_name == 'push' && failure() }}
129- - name : Parse xcresult
130- if : failure()
131- run : |
132- brew install chargepoint/xcparse/xcparse
133- xcparse logs fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/logs/
134- xcparse screenshots fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/snapshots --test
135- - uses : actions/upload-artifact@v4
136- if : failure()
137- with :
138- name : Test Data UI
139- path : |
140- fastlane/recordings
141- fastlane/sinatra_log.txt
142- fastlane/test_output/snapshots
143- fastlane/test_output/logs/*/Diagnostics/**/*.txt
144- fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
94+ # test-ui-debug:
95+ # name: Test SwiftUI (Debug)
96+ # runs-on: macos-14
97+ # needs: build-test-app-and-frameworks
98+ # steps:
99+ # - uses: actions/[email protected] 100+ # - uses: actions/download-artifact@v4
101+ # with:
102+ # name: cache-derived-data
103+ # path: derived_data/Build/
104+ # - uses: ./.github/actions/bootstrap
105+ # env:
106+ # INSTALL_YEETD: true
107+ # - uses: ./.github/actions/python-cache
108+ # - name: Run UI Tests (Debug)
109+ # run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" skip_build:true record:${{ github.event.inputs.snapshots }}
110+ # timeout-minutes: 60
111+ # env:
112+ # GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR
113+ # - name: Run Sonar analysis
114+ # if: ${{ github.event.inputs.snapshots != 'true' }}
115+ # run: bundle exec fastlane sonar_upload
116+ # env:
117+ # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
118+ # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
119+ # - uses: 8398a7/action-slack@v3
120+ # with:
121+ # status: ${{ job.status }}
122+ # text: "You shall not pass!"
123+ # job_name: "Test (Debug)"
124+ # fields: message,commit,author,action,workflow,job,took
125+ # env:
126+ # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
127+ # MATRIX_CONTEXT: ${{ toJson(matrix) }}
128+ # if: ${{ github.event_name == 'push' && failure() }}
129+ # - name: Parse xcresult
130+ # if: failure()
131+ # run: |
132+ # brew install chargepoint/xcparse/xcparse
133+ # xcparse logs fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/logs/
134+ # xcparse screenshots fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/snapshots --test
135+ # - uses: actions/upload-artifact@v4
136+ # if: failure()
137+ # with:
138+ # name: Test Data UI
139+ # path: |
140+ # fastlane/recordings
141+ # fastlane/sinatra_log.txt
142+ # fastlane/test_output/snapshots
143+ # fastlane/test_output/logs/*/Diagnostics/**/*.txt
144+ # fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
145145
146- allure_testops_launch :
147- name : Launch Allure TestOps
148- runs-on : macos-13
149- if : ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
150- needs : build-test-app-and-frameworks
151- outputs :
152- launch_id : ${{ steps.get_launch_id.outputs.launch_id }}
153- steps :
154- 155- - uses : ./.github/actions/ruby-cache
156- - name : Launch Allure TestOps
157- run : bundle exec fastlane allure_launch
158- env :
159- ALLURE_TOKEN : ${{ secrets.ALLURE_TOKEN }}
160- GITHUB_EVENT : ${{ toJson(github.event) }}
161- - id : get_launch_id
162- run : echo "launch_id=${{env.LAUNCH_ID}}" >> $GITHUB_OUTPUT
163- if : env.LAUNCH_ID != ''
146+ # allure_testops_launch:
147+ # name: Launch Allure TestOps
148+ # runs-on: macos-13
149+ # if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
150+ # needs: build-test-app-and-frameworks
151+ # outputs:
152+ # launch_id: ${{ steps.get_launch_id.outputs.launch_id }}
153+ # steps:
154+ # - uses: actions/[email protected] 155+ # - uses: ./.github/actions/ruby-cache
156+ # - name: Launch Allure TestOps
157+ # run: bundle exec fastlane allure_launch
158+ # env:
159+ # ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
160+ # GITHUB_EVENT: ${{ toJson(github.event) }}
161+ # - id: get_launch_id
162+ # run: echo "launch_id=${{env.LAUNCH_ID}}" >> $GITHUB_OUTPUT
163+ # if: env.LAUNCH_ID != ''
164164
165- test-e2e-debug :
166- name : Test E2E UI (Debug)
167- runs-on : macos-14
168- if : ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
169- needs :
170- - allure_testops_launch
171- - build-test-app-and-frameworks
172- env :
173- LAUNCH_ID : ${{ needs.allure_testops_launch.outputs.launch_id }}
174- strategy :
175- matrix :
176- batch : [0, 1]
177- fail-fast : false
178- steps :
179- 180- - uses : actions/download-artifact@v4
181- with :
182- name : cache-derived-data
183- path : derived_data/Build/
184- - uses : ./.github/actions/bootstrap
185- env :
186- INSTALL_ALLURE : true
187- INSTALL_YEETD : true
188- SKIP_MINT_BOOTSTRAP : true
189- SKIP_BREW_BOOTSTRAP : true
190- - name : Run UI Tests (Debug)
191- run : bundle exec fastlane test_e2e_mock device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' test_without_building:true
192- timeout-minutes : 100
193- env :
194- XCODE_VERSION : " 15.2" # the most stable pair of Xcode
195- IOS_SIMULATOR_DEVICE : " iPhone 15 Pro (17.2)" # and iOS
196- MATRIX_SIZE : ${{ strategy.job-total }}
197- - name : Allure TestOps Upload
198- if : env.LAUNCH_ID != '' && (success() || failure())
199- run : bundle exec fastlane allure_upload launch_id:$LAUNCH_ID
200- env :
201- ALLURE_TOKEN : ${{ secrets.ALLURE_TOKEN }}
202- - name : Allure TestOps Launch Removal
203- if : env.LAUNCH_ID != '' && cancelled()
204- run : bundle exec fastlane allure_launch_removal launch_id:$LAUNCH_ID
205- env :
206- ALLURE_TOKEN : ${{ secrets.ALLURE_TOKEN }}
207- - name : Parse xcresult
208- if : failure()
209- run : |
210- brew install chargepoint/xcparse/xcparse
211- xcparse logs fastlane/test_output/StreamChatSwiftUITestsApp.xcresult fastlane/test_output/logs/
212- - uses : actions/upload-artifact@v4
213- if : failure()
214- with :
215- name : Test Data E2E ${{ matrix.batch }}
216- path : |
217- fastlane/recordings
218- fastlane/sinatra_log.txt
219- fastlane/test_output/report.junit
220- fastlane/test_output/logs/*/Diagnostics/**/*.txt
221- fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
165+ # test-e2e-debug:
166+ # name: Test E2E UI (Debug)
167+ # runs-on: macos-14
168+ # if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
169+ # needs:
170+ # - allure_testops_launch
171+ # - build-test-app-and-frameworks
172+ # env:
173+ # LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }}
174+ # strategy:
175+ # matrix:
176+ # batch: [0, 1]
177+ # fail-fast: false
178+ # steps:
179+ # - uses: actions/[email protected] 180+ # - uses: actions/download-artifact@v4
181+ # with:
182+ # name: cache-derived-data
183+ # path: derived_data/Build/
184+ # - uses: ./.github/actions/bootstrap
185+ # env:
186+ # INSTALL_ALLURE: true
187+ # INSTALL_YEETD: true
188+ # SKIP_MINT_BOOTSTRAP: true
189+ # SKIP_BREW_BOOTSTRAP: true
190+ # - name: Run UI Tests (Debug)
191+ # run: bundle exec fastlane test_e2e_mock device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' test_without_building:true
192+ # timeout-minutes: 100
193+ # env:
194+ # XCODE_VERSION: "15.2" # the most stable pair of Xcode
195+ # IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS
196+ # MATRIX_SIZE: ${{ strategy.job-total }}
197+ # - name: Allure TestOps Upload
198+ # if: env.LAUNCH_ID != '' && (success() || failure())
199+ # run: bundle exec fastlane allure_upload launch_id:$LAUNCH_ID
200+ # env:
201+ # ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
202+ # - name: Allure TestOps Launch Removal
203+ # if: env.LAUNCH_ID != '' && cancelled()
204+ # run: bundle exec fastlane allure_launch_removal launch_id:$LAUNCH_ID
205+ # env:
206+ # ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }}
207+ # - name: Parse xcresult
208+ # if: failure()
209+ # run: |
210+ # brew install chargepoint/xcparse/xcparse
211+ # xcparse logs fastlane/test_output/StreamChatSwiftUITestsApp.xcresult fastlane/test_output/logs/
212+ # - uses: actions/upload-artifact@v4
213+ # if: failure()
214+ # with:
215+ # name: Test Data E2E ${{ matrix.batch }}
216+ # path: |
217+ # fastlane/recordings
218+ # fastlane/sinatra_log.txt
219+ # fastlane/test_output/report.junit
220+ # fastlane/test_output/logs/*/Diagnostics/**/*.txt
221+ # fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/*
222222
223- build-apps :
224- name : Build Demo App
225- runs-on : macos-14
226- needs : build-test-app-and-frameworks
227- if : ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
228- steps :
229- 230- - uses : actions/download-artifact@v4
231- with :
232- name : cache-derived-data
233- path : derived_data/Build/
234- - uses : ./.github/actions/ruby-cache
235- - uses : ./.github/actions/xcode-cache
236- - name : Build Demo App
237- run : bundle exec fastlane build_demo
223+ # build-apps:
224+ # name: Build Demo App
225+ # runs-on: macos-14
226+ # needs: build-test-app-and-frameworks
227+ # if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }}
228+ # steps:
229+ # - uses: actions/[email protected] 230+ # - uses: actions/download-artifact@v4
231+ # with:
232+ # name: cache-derived-data
233+ # path: derived_data/Build/
234+ # - uses: ./.github/actions/ruby-cache
235+ # - uses: ./.github/actions/xcode-cache
236+ # - name: Build Demo App
237+ # run: bundle exec fastlane build_demo
0 commit comments