-
Notifications
You must be signed in to change notification settings - Fork 90
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
3861770
commit 6a79f5a
Showing
18 changed files
with
261 additions
and
144 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
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 |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: 'Python Cache' | ||
description: 'Run bootstrap.sh' | ||
runs: | ||
using: "composite" | ||
steps: | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.11 | ||
cache: 'pip' | ||
- run: pip install -r requirements.txt | ||
shell: bash |
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 |
---|---|---|
@@ -0,0 +1,9 @@ | ||
name: 'Ruby Cache' | ||
description: 'Run bootstrap.sh' | ||
runs: | ||
using: "composite" | ||
steps: | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 3.1 | ||
bundler-cache: true |
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 |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: 'Xcode Cache' | ||
description: 'Run bootstrap.sh' | ||
runs: | ||
using: "composite" | ||
steps: | ||
- run: echo "IMAGE=${ImageOS}-${ImageVersion}" >> $GITHUB_ENV | ||
shell: bash | ||
- run: echo "$HOME/.mint/bin" >> $GITHUB_PATH | ||
shell: bash | ||
- name: Cache SPM | ||
uses: actions/cache@v3 | ||
id: spm-cache | ||
with: | ||
path: spm_cache | ||
key: ${{ env.IMAGE }}-spm-${{ hashFiles('**/Package.resolved') }} | ||
restore-keys: ${{ env.IMAGE }}-spm- | ||
- uses: mikehardy/buildcache-action@v2 | ||
with: | ||
cache_key: ${{ env.IMAGE }}-buildcache- |
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 |
---|---|---|
|
@@ -20,8 +20,28 @@ env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI | ||
|
||
jobs: | ||
build-and-test-e2e-debug: | ||
build-test-app-and-frameworks: | ||
name: Build Test App and Frameworks | ||
runs-on: macos-13 | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/ruby-cache | ||
- uses: ./.github/actions/xcode-cache | ||
- name: Build | ||
run: bundle exec fastlane build_test_app_and_frameworks | ||
timeout-minutes: 60 | ||
- uses: actions/upload-artifact@v3 | ||
if: success() | ||
with: | ||
name: cache-derived-data | ||
path: | | ||
derived_data/Build/**/*.app | ||
derived_data/Build/**/*.xctestrun | ||
derived_data/Build/**/*.framework | ||
test-e2e-debug: | ||
name: Test E2E UI (Debug) | ||
needs: build-test-app-and-frameworks | ||
strategy: | ||
matrix: | ||
include: | ||
|
@@ -45,17 +65,27 @@ jobs: | |
XCODE_VERSION: ${{ matrix.xcode }} | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: cache-derived-data | ||
path: derived_data/Build/ | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
INSTALL_ALLURE: true | ||
INSTALL_XCPARSE: true | ||
- name: Cache iOS Simulator Runtime | ||
uses: actions/cache@v3 | ||
id: runtime-cache | ||
with: | ||
path: ~/Library/Caches/XcodeInstall/ | ||
key: runtime-ios-${{ matrix.ios }} | ||
restore-keys: runtime-ios-${{ matrix.ios }} | ||
- name: Setup iOS ${{ matrix.ios }} Runtime | ||
if: ${{ matrix.setup_runtime }} | ||
run: xcversion simulators --install='iOS ${{ matrix.ios }}' | ||
run: bundle exec fastlane install_sim ios:"${{ matrix.ios }}" | ||
- name: Launch Allure TestOps | ||
run: bundle exec fastlane allure_launch cron:true | ||
- name: Run UI Tests (Debug) | ||
run: bundle exec fastlane test_e2e_mock cron:true device:"${{ matrix.device }} (${{ matrix.ios }})" | ||
run: bundle exec fastlane test_e2e_mock device:"${{ matrix.device }} (${{ matrix.ios }})" cron:true test_without_building:true | ||
timeout-minutes: 90 | ||
- name: Allure TestOps Upload | ||
if: success() || failure() | ||
|
@@ -75,7 +105,9 @@ jobs: | |
if: failure() && github.event_name == 'schedule' | ||
- name: Parse xcresult | ||
if: failure() | ||
run: xcparse logs fastlane/test_output/StreamChatSwiftUITestsApp.xcresult fastlane/test_output/logs/ | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse logs fastlane/test_output/StreamChatUITestsApp.xcresult fastlane/test_output/logs/ | ||
- uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
|
@@ -100,7 +132,8 @@ jobs: | |
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
- uses: ./.github/actions/ruby-cache | ||
- uses: ./.github/actions/xcode-cache | ||
- name: Build Demo App | ||
run: bundle exec fastlane build_demo | ||
env: | ||
|
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 |
---|---|---|
|
@@ -36,19 +36,38 @@ jobs: | |
- name: Run Podspec Linting | ||
run: bundle exec fastlane pod_lint | ||
|
||
build-and-test-ui-debug: | ||
build-test-app-and-frameworks: | ||
name: Build Test App and Frameworks | ||
runs-on: macos-13 | ||
if: ${{ github.event_name != 'push' }} | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/ruby-cache | ||
- uses: ./.github/actions/xcode-cache | ||
- name: Build | ||
run: bundle exec fastlane build_test_app_and_frameworks | ||
timeout-minutes: 60 | ||
- uses: actions/upload-artifact@v3 | ||
if: success() | ||
with: | ||
name: cache-derived-data | ||
path: | | ||
derived_data/Build/**/*.app | ||
derived_data/Build/**/*.xctestrun | ||
derived_data/Build/**/*.framework | ||
test-ui-debug: | ||
name: Test SwiftUI (Debug) | ||
runs-on: macos-13 | ||
needs: build-test-app-and-frameworks | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: actions/setup-python@v4 | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
python-version: 3.11 | ||
cache: 'pip' | ||
name: cache-derived-data | ||
path: derived_data/Build/ | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
INSTALL_SONAR: true | ||
INSTALL_XCPARSE: true | ||
- uses: ./.github/actions/python-cache | ||
- name: Run UI Tests (Debug) | ||
run: bundle exec fastlane test_ui device:"${{ env.IOS_SIMULATOR_DEVICE }}" | ||
timeout-minutes: 40 | ||
|
@@ -78,19 +97,23 @@ jobs: | |
if: ${{ github.event_name == 'push' && failure() }} | ||
- name: Parse xcresult | ||
if: failure() | ||
run: xcparse screenshots fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/snapshots --test | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse screenshots fastlane/test_output/StreamChatSwiftUI.xcresult fastlane/test_output/snapshots --test | ||
- uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: Test Data | ||
path: | | ||
fastlane/test_output/snapshots | ||
build-and-test-e2e-debug: | ||
test-e2e-debug: | ||
name: Test E2E UI (Debug) | ||
runs-on: macos-13 | ||
if: ${{ github.event_name != 'push' }} | ||
needs: allure_testops_launch | ||
needs: | ||
- allure_testops_launch | ||
- build-test-app-and-frameworks | ||
env: | ||
LAUNCH_ID: ${{ needs.allure_testops_launch.outputs.launch_id }} | ||
strategy: | ||
|
@@ -99,15 +122,15 @@ jobs: | |
fail-fast: false | ||
steps: | ||
- uses: actions/[email protected] | ||
if: env.LAUNCH_ID != '' | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: cache-derived-data | ||
path: derived_data/Build/ | ||
- uses: ./.github/actions/bootstrap | ||
if: env.LAUNCH_ID != '' | ||
env: | ||
INSTALL_ALLURE: true | ||
INSTALL_XCPARSE: true | ||
- name: Run UI Tests (Debug) | ||
if: env.LAUNCH_ID != '' | ||
run: bundle exec fastlane test_e2e_mock device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' | ||
run: bundle exec fastlane test_e2e_mock device:"${{ env.IOS_SIMULATOR_DEVICE }}" batch:'${{ matrix.batch }}' test_without_building:true | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
GITHUB_PR_NUM: ${{ github.event.number }} | ||
|
@@ -127,7 +150,9 @@ jobs: | |
ALLURE_TOKEN: ${{ secrets.ALLURE_TOKEN }} | ||
- name: Parse xcresult | ||
if: failure() | ||
run: xcparse logs fastlane/test_output/StreamChatSwiftUITestsApp.xcresult fastlane/test_output/logs/ | ||
run: | | ||
brew install chargepoint/xcparse/xcparse | ||
xcparse logs fastlane/test_output/StreamChatUITestsApp.xcresult fastlane/test_output/logs/ | ||
- uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
|
@@ -145,9 +170,7 @@ jobs: | |
launch_id: ${{ steps.get_launch_id.outputs.launch_id }} | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
env: | ||
XCODE_ACTIONS: false | ||
- uses: ./.github/actions/ruby-cache | ||
- name: Launch Allure TestOps | ||
run: bundle exec fastlane allure_launch | ||
env: | ||
|
@@ -161,9 +184,15 @@ jobs: | |
build-apps: | ||
name: Build Demo App | ||
runs-on: macos-13 | ||
needs: build-test-app-and-frameworks | ||
if: ${{ github.event_name != 'push' }} | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: ./.github/actions/bootstrap | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: cache-derived-data | ||
path: derived_data/Build/ | ||
- uses: ./.github/actions/ruby-cache | ||
- uses: ./.github/actions/xcode-cache | ||
- name: Build Demo App | ||
run: bundle exec fastlane build_demo |
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 |
---|---|---|
|
@@ -83,3 +83,5 @@ reports/ | |
.scannerwork/ | ||
push_payload.json | ||
sinatra_log.txt | ||
derived_data/ | ||
spm_cache/ |
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
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 |
---|---|---|
@@ -0,0 +1,2 @@ | ||
brew 'mint' | ||
brew 'sonar-scanner' |
Oops, something went wrong.