-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d9a3c8f
commit 58db5be
Showing
7 changed files
with
617 additions
and
160 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,7 +46,7 @@ jobs: | |
INSTALL_YEETD: true | ||
SKIP_MINT_BOOTSTRAP: true | ||
- name: Run LLC Tests (Debug) | ||
run: bundle exec fastlane test device:"${{ env.IOS_SIMULATOR_DEVICE }}" | ||
run: bundle exec fastlane test_unified device:"${{ env.IOS_SIMULATOR_DEVICE }}" | ||
timeout-minutes: 40 | ||
env: | ||
XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
|
@@ -85,71 +85,71 @@ jobs: | |
fastlane/test_output/logs/*/Diagnostics/**/*.txt | ||
fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/* | ||
test-swiftui-debug: | ||
name: Test SwiftUI (Debug) | ||
runs-on: macos-14 | ||
needs: test-llc-debug | ||
if: ${{ github.event_name != 'push' && github.event.inputs.swiftui_snapshots != 'false' }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
INSTALL_YEETD: true | ||
SKIP_MINT_BOOTSTRAP: true | ||
SKIP_BREW_BOOTSTRAP: true | ||
- name: Run UI Tests (Debug) | ||
run: bundle exec fastlane test_swiftui device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:${{ github.event.inputs.swiftui_snapshots }} | ||
timeout-minutes: 40 | ||
env: | ||
XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
- name: Parse xcresult | ||
if: failure() | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse screenshots fastlane/test_output/StreamVideoSwiftUI.xcresult fastlane/test_output/snapshots --test | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: SwiftUI Test Data | ||
path: | | ||
~/Library/Logs/scan | ||
fastlane/test_output/snapshots | ||
# test-swiftui-debug: | ||
# name: Test SwiftUI (Debug) | ||
# runs-on: macos-14 | ||
# needs: test-llc-debug | ||
# if: ${{ github.event_name != 'push' && github.event.inputs.swiftui_snapshots != 'false' }} | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR | ||
# steps: | ||
# - uses: actions/[email protected] | ||
# - uses: ./.github/actions/bootstrap | ||
# env: | ||
# INSTALL_YEETD: true | ||
# SKIP_MINT_BOOTSTRAP: true | ||
# SKIP_BREW_BOOTSTRAP: true | ||
# - name: Run UI Tests (Debug) | ||
# run: bundle exec fastlane test_swiftui device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:${{ github.event.inputs.swiftui_snapshots }} | ||
# timeout-minutes: 40 | ||
# env: | ||
# XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
# IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
# - name: Parse xcresult | ||
# if: failure() | ||
# run: | | ||
# brew install chargepoint/xcparse/xcparse | ||
# xcparse screenshots fastlane/test_output/StreamVideoSwiftUI.xcresult fastlane/test_output/snapshots --test | ||
# - uses: actions/upload-artifact@v4 | ||
# if: failure() | ||
# with: | ||
# name: SwiftUI Test Data | ||
# path: | | ||
# ~/Library/Logs/scan | ||
# fastlane/test_output/snapshots | ||
|
||
test-uikit-debug: | ||
name: Test UIKit (Debug) | ||
runs-on: macos-14 | ||
needs: test-swiftui-debug | ||
if: ${{ github.event_name != 'push' && github.event.inputs.uikit_snapshots != 'false' }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
INSTALL_YEETD: true | ||
SKIP_MINT_BOOTSTRAP: true | ||
SKIP_BREW_BOOTSTRAP: true | ||
- name: Run UI Tests (Debug) | ||
run: bundle exec fastlane test_uikit device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:${{ github.event.inputs.uikit_snapshots }} | ||
timeout-minutes: 40 | ||
env: | ||
XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
- name: Parse xcresult | ||
if: failure() | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse screenshots fastlane/test_output/StreamVideoUIKit.xcresult fastlane/test_output/snapshots --test | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: UIKit Test Data | ||
path: | | ||
~/Library/Logs/scan | ||
fastlane/test_output/snapshots | ||
# test-uikit-debug: | ||
# name: Test UIKit (Debug) | ||
# runs-on: macos-14 | ||
# needs: test-swiftui-debug | ||
# if: ${{ github.event_name != 'push' && github.event.inputs.uikit_snapshots != 'false' }} | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.CI_BOT_GITHUB_TOKEN }} # to open a PR | ||
# steps: | ||
# - uses: actions/[email protected] | ||
# - uses: ./.github/actions/bootstrap | ||
# env: | ||
# INSTALL_YEETD: true | ||
# SKIP_MINT_BOOTSTRAP: true | ||
# SKIP_BREW_BOOTSTRAP: true | ||
# - name: Run UI Tests (Debug) | ||
# run: bundle exec fastlane test_uikit device:"${{ env.IOS_SIMULATOR_DEVICE }}" record:${{ github.event.inputs.uikit_snapshots }} | ||
# timeout-minutes: 40 | ||
# env: | ||
# XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
# IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
# - name: Parse xcresult | ||
# if: failure() | ||
# run: | | ||
# brew install chargepoint/xcparse/xcparse | ||
# xcparse screenshots fastlane/test_output/StreamVideoUIKit.xcresult fastlane/test_output/snapshots --test | ||
# - uses: actions/upload-artifact@v4 | ||
# if: failure() | ||
# with: | ||
# name: UIKit Test Data | ||
# path: | | ||
# ~/Library/Logs/scan | ||
# fastlane/test_output/snapshots | ||
|
||
automated-code-review: | ||
name: Automated Code Review | ||
|
@@ -175,7 +175,6 @@ jobs: | |
build-xcode15: | ||
name: Build SDKs (Xcode 15.0) | ||
runs-on: macos-13 | ||
needs: test-llc-debug | ||
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }} | ||
env: | ||
XCODE_VERSION: "15.0.1" | ||
|
@@ -194,25 +193,91 @@ jobs: | |
- uses: ./.github/actions/ruby-cache | ||
- name: List Xcode versions | ||
run: mdfind "kMDItemCFBundleIdentifier = 'com.apple.dt.Xcode'" | ||
- name: Build LLC | ||
run: bundle exec fastlane test device:"iPhone 15" build_for_testing:true | ||
timeout-minutes: 40 | ||
- name: Build SwiftUI | ||
run: bundle exec fastlane test_swiftui device:"iPhone 15" build_for_testing:true | ||
- name: Build UIKit | ||
run: bundle exec fastlane test_uikit device:"iPhone 15" build_for_testing:true | ||
timeout-minutes: 40 | ||
- name: Build XCFrameworks | ||
run: bundle exec fastlane build_xcframeworks | ||
timeout-minutes: 40 | ||
- name: Build SDKs | ||
run: bundle exec fastlane test_unified device:"iPhone 15" build_for_testing:true | ||
|
||
build-xcode15-xcframework-stream-video: | ||
name: Build StreamVideo XCframework (Xcode 15.0) | ||
needs: build-xcode15 | ||
runs-on: macos-13 | ||
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }} | ||
env: | ||
XCODE_VERSION: "15.0.1" | ||
steps: | ||
- name: Connect Bot | ||
uses: webfactory/[email protected] | ||
with: | ||
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }} | ||
- uses: actions/[email protected] | ||
- name: Cache Xcode Derived Data | ||
uses: irgaly/xcode-cache@v1 | ||
with: | ||
key: xcode-15-cache-deriveddata-${{ github.workflow }}-${{ github.sha }} | ||
deriveddata-directory: derived_data | ||
sourcepackages-directory: spm_cache | ||
- uses: ./.github/actions/ruby-cache | ||
- name: Build StreamVideo XCFramework | ||
run: bundle exec fastlane build_xcframeworks_concurrent scheme:"StreamVideo" | ||
env: | ||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }} | ||
|
||
build-xcode15-xcframework-stream-video-swiftui: | ||
name: Build StreamVideoSwiftUI XCframework (Xcode 15.0) | ||
needs: build-xcode15 | ||
runs-on: macos-13 | ||
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }} | ||
env: | ||
XCODE_VERSION: "15.0.1" | ||
steps: | ||
- name: Connect Bot | ||
uses: webfactory/[email protected] | ||
with: | ||
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }} | ||
- uses: actions/[email protected] | ||
- name: Cache Xcode Derived Data | ||
uses: irgaly/xcode-cache@v1 | ||
with: | ||
key: xcode-15-cache-deriveddata-${{ github.workflow }}-${{ github.sha }} | ||
deriveddata-directory: derived_data | ||
sourcepackages-directory: spm_cache | ||
- uses: ./.github/actions/ruby-cache | ||
- name: Build StreamVideo XCFramework | ||
run: bundle exec fastlane build_xcframeworks_concurrent scheme:"StreamVideoSwiftUI" | ||
env: | ||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }} | ||
|
||
build-xcode15-xcframework-stream-video-uikit: | ||
name: Build StreamVideoUIKit XCframework (Xcode 15.0) | ||
needs: build-xcode15 | ||
runs-on: macos-13 | ||
if: ${{ github.event_name != 'push' && github.event.inputs.snapshots != 'true' }} | ||
env: | ||
XCODE_VERSION: "15.0.1" | ||
steps: | ||
- name: Connect Bot | ||
uses: webfactory/[email protected] | ||
with: | ||
ssh-private-key: ${{ secrets.BOT_SSH_PRIVATE_KEY }} | ||
- uses: actions/[email protected] | ||
- name: Cache Xcode Derived Data | ||
uses: irgaly/xcode-cache@v1 | ||
with: | ||
key: xcode-15-cache-deriveddata-${{ github.workflow }}-${{ github.sha }} | ||
deriveddata-directory: derived_data | ||
sourcepackages-directory: spm_cache | ||
- uses: ./.github/actions/ruby-cache | ||
- name: Build StreamVideo XCFramework | ||
run: bundle exec fastlane build_xcframeworks_concurrent scheme:"StreamVideoUIKit" | ||
env: | ||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | ||
APPSTORE_API_KEY: ${{ secrets.APPSTORE_API_KEY }} | ||
|
||
build-test-app-and-frameworks: | ||
name: Build Test App and Frameworks | ||
runs-on: macos-14 | ||
needs: test-uikit-debug | ||
needs: test-llc-debug | ||
if: ${{ github.event_name != 'push' && github.event.inputs.swiftui_snapshots != 'true' && github.event.inputs.uikit_snapshots != 'true' }} | ||
steps: | ||
- uses: actions/[email protected] | ||
|
@@ -237,8 +302,6 @@ jobs: | |
INSTALL_YEETD: true | ||
SKIP_MINT_BOOTSTRAP: true | ||
SKIP_BREW_BOOTSTRAP: true | ||
- name: Build SwiftUI Demo App | ||
run: bundle exec fastlane build_swiftui_demo | ||
- name: Build UIKit Demo App | ||
run: bundle exec fastlane build_uikit_demo | ||
- name: Build Docs Test Project | ||
|
@@ -247,7 +310,7 @@ jobs: | |
cache-update: | ||
name: Update cache | ||
runs-on: macos-14 | ||
needs: build-apps | ||
needs: build-test-app-and-frameworks | ||
steps: | ||
- uses: irgaly/xcode-cache@v1 | ||
with: | ||
|
@@ -277,58 +340,58 @@ jobs: | |
run: echo "launch_id=${{env.LAUNCH_ID}}" >> $GITHUB_OUTPUT | ||
if: env.LAUNCH_ID != '' | ||
|
||
# test-e2e-debug: | ||
# name: Test E2E UI (Debug) | ||
# runs-on: macos-14 | ||
# if: ${{ github.event_name != 'push' && github.event.inputs.swiftui_snapshots != 'true' && github.event.inputs.uikit_snapshots != 'true' }} | ||
# needs: allure_testops_launch | ||
# env: | ||
# LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }} | ||
# ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }} | ||
# strategy: | ||
# matrix: | ||
# batch: [0, 1] | ||
# fail-fast: false | ||
# steps: | ||
# - uses: actions/[email protected] | ||
# - uses: ./.github/actions/bootstrap | ||
# env: | ||
# INSTALL_ALLURE: true | ||
# INSTALL_VIDEO_BUDDY: true | ||
# INSTALL_YEETD: true | ||
# SKIP_MINT_BOOTSTRAP: true | ||
# SKIP_BREW_BOOTSTRAP: true | ||
# - name: Run UI Tests (Debug) | ||
# run: bundle exec fastlane test_e2e device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' test_without_building:true | ||
# timeout-minutes: 60 | ||
# env: | ||
# XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
# IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
# MATRIX_SIZE: ${{ strategy.job-total }} | ||
# STREAM_SDK_TEST_APP: ${{ secrets.STREAM_SDK_TEST_APP }} | ||
# STREAM_SDK_TEST_ACCOUNT_EMAIL: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_EMAIL }} | ||
# STREAM_SDK_TEST_ACCOUNT_PASSWORD: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_PASSWORD }} | ||
# STREAM_SDK_TEST_ACCOUNT_OTP_SECRET: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_OTP_SECRET }} | ||
# STREAM_VIDEO_SECRET: ${{ secrets.STREAM_VIDEO_SECRET }} | ||
# - name: Allure TestOps Upload | ||
# if: env.LAUNCH_ID != '' && (success() || failure()) | ||
# run: bundle exec fastlane allure_upload launch_id:$LAUNCH_ID | ||
# - name: Allure TestOps Launch Removal | ||
# if: env.LAUNCH_ID != '' && cancelled() | ||
# run: bundle exec fastlane allure_launch_removal launch_id:$LAUNCH_ID | ||
# - name: Parse xcresult | ||
# if: failure() | ||
# run: | | ||
# brew install chargepoint/xcparse/xcparse | ||
# xcparse logs fastlane/test_output/DemoApp.xcresult fastlane/test_output/logs/ | ||
# - uses: actions/upload-artifact@v4 | ||
# if: failure() | ||
# with: | ||
# name: E2E Test Data ${{ matrix.batch }} | ||
# path: | | ||
# ~/Library/Logs/scan | ||
# fastlane/recordings | ||
# fastlane/*.log | ||
# fastlane/test_output/report.junit | ||
# fastlane/test_output/logs/*/Diagnostics/**/*.txt | ||
# fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/* | ||
test-e2e-debug: | ||
name: Test E2E UI (Debug) | ||
needs: allure_testops_launch | ||
runs-on: macos-14 | ||
if: ${{ github.event_name != 'push' && github.event.inputs.swiftui_snapshots != 'true' && github.event.inputs.uikit_snapshots != 'true' }} | ||
env: | ||
LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }} | ||
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }} | ||
# strategy: | ||
# matrix: | ||
# batch: [0, 1] | ||
# fail-fast: false | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
INSTALL_ALLURE: true | ||
INSTALL_VIDEO_BUDDY: true | ||
INSTALL_YEETD: true | ||
SKIP_MINT_BOOTSTRAP: true | ||
SKIP_BREW_BOOTSTRAP: true | ||
- name: Run UI Tests (Debug) | ||
run: bundle exec fastlane test_e2e device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' test_without_building:false | ||
timeout-minutes: 60 | ||
env: | ||
XCODE_VERSION: "15.2" # the most stable pair of Xcode | ||
IOS_SIMULATOR_DEVICE: "iPhone 15 Pro (17.2)" # and iOS | ||
MATRIX_SIZE: ${{ strategy.job-total }} | ||
STREAM_SDK_TEST_APP: ${{ secrets.STREAM_SDK_TEST_APP }} | ||
STREAM_SDK_TEST_ACCOUNT_EMAIL: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_EMAIL }} | ||
STREAM_SDK_TEST_ACCOUNT_PASSWORD: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_PASSWORD }} | ||
STREAM_SDK_TEST_ACCOUNT_OTP_SECRET: ${{ secrets.STREAM_SDK_TEST_ACCOUNT_OTP_SECRET }} | ||
STREAM_VIDEO_SECRET: ${{ secrets.STREAM_VIDEO_SECRET }} | ||
- name: Allure TestOps Upload | ||
if: env.LAUNCH_ID != '' && (success() || failure()) | ||
run: bundle exec fastlane allure_upload launch_id:$LAUNCH_ID | ||
- name: Allure TestOps Launch Removal | ||
if: env.LAUNCH_ID != '' && cancelled() | ||
run: bundle exec fastlane allure_launch_removal launch_id:$LAUNCH_ID | ||
- name: Parse xcresult | ||
if: failure() | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse logs fastlane/test_output/DemoApp.xcresult fastlane/test_output/logs/ | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: E2E Test Data ${{ matrix.batch }} | ||
path: | | ||
~/Library/Logs/scan | ||
fastlane/recordings | ||
fastlane/*.log | ||
fastlane/test_output/report.junit | ||
fastlane/test_output/logs/*/Diagnostics/**/*.txt | ||
fastlane/test_output/logs/*/Diagnostics/simctl_diagnostics/DiagnosticReports/* |
Oops, something went wrong.